From beec492c7b9c36647e98455cfabfa4ba9bd2b8cf Mon Sep 17 00:00:00 2001 From: Yuta Saito Date: Wed, 8 May 2024 16:40:39 +0900 Subject: [PATCH 1/9] Stop using shell just to run commands There is no need to use shell here, and we should not assume that user's zshrc configures the PATH correctly. Instead, we should use the `Process` API to run commands directly, and assume that the PATH in the process spawn environment is correctly configured. --- Sources/WebIDLToSwift/IDLParser.swift | 4 ++-- Sources/WebIDLToSwift/Shell.swift | 26 ++++++++++++++++++++------ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/Sources/WebIDLToSwift/IDLParser.swift b/Sources/WebIDLToSwift/IDLParser.swift index 167e6352..e9aa5386 100644 --- a/Sources/WebIDLToSwift/IDLParser.swift +++ b/Sources/WebIDLToSwift/IDLParser.swift @@ -8,8 +8,8 @@ enum IDLParser { let pipe = Pipe() task.standardOutput = pipe task.standardError = FileHandle.standardError - task.arguments = ["-c", "npm start --silent \(modules.joined(separator: " "))"] - task.launchPath = "/bin/zsh" + task.arguments = ["start", "--silent"] + modules + task.launchPath = findExecutable("npm") task.currentDirectoryURL = URL(fileURLWithPath: #file) .deletingLastPathComponent() .appendingPathComponent("../../parse-idl") diff --git a/Sources/WebIDLToSwift/Shell.swift b/Sources/WebIDLToSwift/Shell.swift index d383cea0..eb7891aa 100644 --- a/Sources/WebIDLToSwift/Shell.swift +++ b/Sources/WebIDLToSwift/Shell.swift @@ -3,7 +3,7 @@ import Foundation enum Shell { static func format(source: String) { print("Formatting generated Swift files...") - run(script: "swiftformat --swiftversion 5.5 \(source)") + run(executable: "swiftformat", arguments: ["--swiftversion", "5.5", source]) } private static let projectRoot = URL(fileURLWithPath: #file) @@ -18,22 +18,36 @@ enum Shell { let patchFile = patchFolder.appendingPathComponent(module.swiftModule).appendingPathExtension("patch").path if FileManager.default.fileExists(atPath: patchFile) { print("Patching generated Swift files...") - run(script: "git apply \(patchFile)") + run(executable: "git", arguments: ["apply", patchFile]) } } - private static func run(script: String) { + private static func run(executable: String, arguments: [String]) { // print("*** running script: \(script)") let task = Process() task.standardError = FileHandle.standardError - task.arguments = ["-c", script] - task.launchPath = "/bin/zsh" + task.arguments = arguments + task.launchPath = findExecutable(executable) task.currentDirectoryURL = projectRoot task.launch() task.waitUntilExit() if task.terminationStatus != 0 { - print("Error: \(script) failed with exit code \(task.terminationStatus)") + print("Error: \(([executable] + arguments).map { "\"\($0)\"" }.joined(separator: " ")) failed with exit code \(task.terminationStatus)") exit(task.terminationStatus) } } } + +func findExecutable(_ name: String) -> String? { + guard let path = ProcessInfo.processInfo.environment["PATH"] else { + return nil + } + let paths = path.split(separator: ":") + for p in paths { + let fullPath = URL(fileURLWithPath: String(p)).appendingPathComponent(name).path + if FileManager.default.isExecutableFile(atPath: fullPath) { + return fullPath + } + } + return nil +} From 4fbb046988e2a43a5a59dae9001250be69e8cda3 Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Wed, 23 Apr 2025 14:17:20 +0100 Subject: [PATCH 2/9] Improve compatibility with Embedded Swift (#58) The change adds a conditional import excluding the JavaScriptEventLoop module that's not yet fully compatible with Embedded Swift. With the `JSObject` type from the JavaScriptKit dependency, which is also now compatible with Embedded Swift, record types are now mapped to `JSObject`. As for fields marked as optional in originating IDL, these are now correctly mapped as optional in Swift. --- Sources/WebIDLToSwift/IDLBuilder.swift | 8 +++++++- Sources/WebIDLToSwift/MergeDeclarations.swift | 6 ++++++ Sources/WebIDLToSwift/ModuleState.swift | 3 +++ .../UnionType+SwiftRepresentable.swift | 10 ++++------ .../WebIDL+SwiftRepresentation.swift | 20 ++++++++++++++----- 5 files changed, 35 insertions(+), 12 deletions(-) diff --git a/Sources/WebIDLToSwift/IDLBuilder.swift b/Sources/WebIDLToSwift/IDLBuilder.swift index 0a1374f3..21429dbb 100644 --- a/Sources/WebIDLToSwift/IDLBuilder.swift +++ b/Sources/WebIDLToSwift/IDLBuilder.swift @@ -3,6 +3,7 @@ import WebIDL enum IDLBuilder { static let basicDependencies = ["ECMAScript", "JavaScriptKit", "JavaScriptEventLoop"] + static let optionalDependencies = ["JavaScriptEventLoop"] static let preamble = """ // This file was auto-generated by WebIDLToSwift. DO NOT EDIT! @@ -42,7 +43,11 @@ enum IDLBuilder { dependencies.append("JavaScriptBigIntSupport") } - let formedPreamble = preamble + dependencies.map { "import \($0)" }.joined(separator: "\n") + let formedPreamble = preamble + (optionalDependencies.map { """ + #if canImport\($0) + import \($0) + #endif + """ } + dependencies.map { "import \($0)" }).joined(separator: "\n") try (formedPreamble + "\n\n" + content).write(toFile: path, atomically: true, encoding: .utf8) } @@ -54,6 +59,7 @@ enum IDLBuilder { var contents: [SwiftSource] = [] var state = ScopedState.root( + dictionaries: merged.dictionaries, interfaces: merged.interfaces, ignored: [ // variadic callbacks are unsupported diff --git a/Sources/WebIDLToSwift/MergeDeclarations.swift b/Sources/WebIDLToSwift/MergeDeclarations.swift index dfd9d0ee..5b042cbe 100644 --- a/Sources/WebIDLToSwift/MergeDeclarations.swift +++ b/Sources/WebIDLToSwift/MergeDeclarations.swift @@ -18,6 +18,10 @@ enum DeclarationMerger { private static func enhanceMembers(_ members: [IDLNode]) -> [IDLNode] { members.flatMap { member -> [IDLNode] in + if let named = member as? IDLNamed, named.name.contains("-") { + return [] + } + if let operation = member as? IDLOperation, case .generic("Promise", _) = operation.idlType?.value { @@ -223,6 +227,7 @@ enum DeclarationMerger { + [Typedefs(typedefs: allTypes)] + allNodes(ofType: IDLEnum.self) + allNodes(ofType: IDLCallbackInterface.self), + dictionaries: mergedDictionaries, interfaces: mergedInterfaces, types: mergedTypes // unions: unions @@ -231,6 +236,7 @@ enum DeclarationMerger { struct MergeResult { let declarations: [DeclarationFile] + let dictionaries: [String: MergedDictionary] let interfaces: [String: MergedInterface] let types: [String: IDLTypealias] // let unions: Set diff --git a/Sources/WebIDLToSwift/ModuleState.swift b/Sources/WebIDLToSwift/ModuleState.swift index b65f1536..86f38078 100644 --- a/Sources/WebIDLToSwift/ModuleState.swift +++ b/Sources/WebIDLToSwift/ModuleState.swift @@ -63,6 +63,7 @@ struct ScopedState { private(set) var this: SwiftSource! private(set) var className: SwiftSource! private(set) var interfaces: [String: MergedInterface]! + private(set) var dictionaries: [String: MergedDictionary]! private(set) var ignored: [String: Set]! private(set) var types: [String: IDLTypealias]! private(set) var override = false @@ -106,12 +107,14 @@ struct ScopedState { } static func root( + dictionaries: [String: MergedDictionary], interfaces: [String: MergedInterface], ignored: [String: Set], types: [String: IDLTypealias] ) -> Self { var newState = ModuleState.current newState.interfaces = interfaces + newState.dictionaries = dictionaries newState.ignored = ignored newState.types = types return newState diff --git a/Sources/WebIDLToSwift/UnionType+SwiftRepresentable.swift b/Sources/WebIDLToSwift/UnionType+SwiftRepresentable.swift index 70d21e0e..f4c4f7bd 100644 --- a/Sources/WebIDLToSwift/UnionType+SwiftRepresentable.swift +++ b/Sources/WebIDLToSwift/UnionType+SwiftRepresentable.swift @@ -74,7 +74,7 @@ extension UnionType: SwiftRepresentable { var initializers: [SwiftSource] { zip(sortedTypes, sortedNames).flatMap { (type, name) -> [SwiftSource] in let basicInitializer: [SwiftSource] = [""" - init(_ \(name): \(type)) { + public init(_ \(name): \(type)) { let val: \(self.name) = .\(name)(\(name)) self = val } @@ -162,10 +162,8 @@ extension SlimIDLType: SwiftRepresentable { case "FrozenArray", "ObservableArray": // ??? return ["Element == \(args[0])"] - case "Promise": + case "Promise", "record": return [] - case "record": - return ["Key == \(args[0])", "Value == \(args[1])"] default: fatalError("Unsupported generic type: \(name)") } @@ -190,7 +188,7 @@ extension SlimIDLType.TypeValue: SwiftRepresentable { case "Promise": return "JSPromise" case "record": - return "Dictionary" + return "JSObject" default: fatalError("Unsupported generic type: \(name)") } @@ -220,7 +218,7 @@ extension SlimIDLType.TypeValue: SwiftRepresentable { case "Promise": return "JSPromise" case "record": - return "[\(args[0]): \(args[1])]" + return "JSObject" default: fatalError("Unsupported generic type: \(name)") } diff --git a/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift b/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift index afe8dcf0..c1a0b5dd 100644 --- a/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift +++ b/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift @@ -88,6 +88,16 @@ extension IDLAttribute: SwiftRepresentable, Initializable { } } +extension IDLDictionary.Member { + var isOptional: Bool { + !required && !idlType.nullable && !idlType.isFunction + } + + var optionalSuffix: String { + isOptional ? "?" : "" + } +} + extension MergedDictionary: SwiftRepresentable { var swiftRepresentation: SwiftSource { """ @@ -98,7 +108,7 @@ extension MergedDictionary: SwiftRepresentable { """ } - private var membersWithPropertyWrapper: [(IDLDictionary.Member, SwiftSource)] { + private func membersWithPropertyWrapper(_ members: [IDLDictionary.Member]) -> [(IDLDictionary.Member, SwiftSource)] { members.map { ($0, $0.idlType.propertyWrapper(readonly: false)) } @@ -111,7 +121,7 @@ extension MergedDictionary: SwiftRepresentable { return """ public convenience init(\(sequence: params)) { let object = JSObject.global[\(ModuleState.source(for: "Object"))].function!.new() - \(lines: membersWithPropertyWrapper.map { member, wrapper in + \(lines: membersWithPropertyWrapper(members).map { member, wrapper in if member.idlType.isFunction { return """ \(wrapper)[\(ModuleState.source(for: member.name)), in: object] = \(member.name) @@ -126,7 +136,7 @@ extension MergedDictionary: SwiftRepresentable { } public required init(unsafelyWrapping object: JSObject) { - \(lines: membersWithPropertyWrapper.map { member, wrapper in + \(lines: membersWithPropertyWrapper(members).map { member, wrapper in "_\(raw: member.name) = \(wrapper)(jsObject: object, name: \(ModuleState.source(for: member.name)))" }) super.init(unsafelyWrapping: object) @@ -135,10 +145,10 @@ extension MergedDictionary: SwiftRepresentable { } private var swiftMembers: [SwiftSource] { - membersWithPropertyWrapper.map { member, wrapper in + self.membersWithPropertyWrapper(members).map { member, wrapper in """ @\(wrapper) - public var \(member.name): \(member.idlType) + public var \(member.name): \(member.idlType)\(member.optionalSuffix) """ } } From 7f1772e7d9c68f555f2ac7312ef1bc8f6cb3bf7e Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Thu, 24 Apr 2025 10:57:48 +0100 Subject: [PATCH 3/9] Clean up use of closure property wrappers (#59) This changes improves compatibility of the WebAPIKit library with Embedded Swift. Unsupported concurrency code is excluded when concurrency is not available, including the use of async sequences. Use of closure patterns is cleaned up to use getters and setters directly instead of property wrappers, which reduces binary code size when Embedded Swift is used. --- Sources/WebIDLToSwift/ClosurePattern.swift | 16 +++++++------- Sources/WebIDLToSwift/IDLBuilder.swift | 5 ++--- Sources/WebIDLToSwift/MergeDeclarations.swift | 3 --- .../WebIDL+SwiftRepresentation.swift | 21 ++++++++++++++++--- 4 files changed, 28 insertions(+), 17 deletions(-) diff --git a/Sources/WebIDLToSwift/ClosurePattern.swift b/Sources/WebIDLToSwift/ClosurePattern.swift index d06c2d9f..e6e93d94 100644 --- a/Sources/WebIDLToSwift/ClosurePattern.swift +++ b/Sources/WebIDLToSwift/ClosurePattern.swift @@ -1,6 +1,6 @@ struct ClosurePattern: SwiftRepresentable, Equatable, Hashable, Comparable { static func < (lhs: ClosurePattern, rhs: ClosurePattern) -> Bool { - lhs.name.source < rhs.name.source + lhs.closureType.source < rhs.closureType.source } let nullable: Bool @@ -22,16 +22,16 @@ struct ClosurePattern: SwiftRepresentable, Equatable, Hashable, Comparable { return nullable ? "(\(closure))?" : closure } - private var getter: SwiftSource { + func getter(name: SwiftSource) -> SwiftSource { let getFunction: SwiftSource if nullable { getFunction = """ - guard let function = jsObject[name].function else { + guard let function = jsObject[\(name)].function else { return nil } """ } else { - getFunction = "let function = jsObject[name].function!" + getFunction = "let function = jsObject[\(name)].function!" } let call: SwiftSource = "function(\(sequence: indexes.map { "_toJSValue($\($0))" }))" let closureBody: SwiftSource @@ -66,15 +66,15 @@ struct ClosurePattern: SwiftRepresentable, Equatable, Hashable, Comparable { """ } - private var setter: SwiftSource { - let setClosure: SwiftSource = "jsObject[name] = \(jsClosureWrapper(name: "newValue"))" + func setter(name: SwiftSource) -> SwiftSource { + let setClosure: SwiftSource = "jsObject[\(name)] = \(jsClosureWrapper(name: "newValue"))" if nullable { return """ if let newValue = newValue { \(setClosure) } else { - jsObject[name] = .null + jsObject[\(name)] = .null } """ } else { @@ -121,6 +121,7 @@ struct ClosurePattern: SwiftRepresentable, Equatable, Hashable, Comparable { """ } + var toJSValue: SwiftSource { let escaping: SwiftSource = nullable ? "" : "@escaping" return """ @@ -132,7 +133,6 @@ struct ClosurePattern: SwiftRepresentable, Equatable, Hashable, Comparable { var swiftRepresentation: SwiftSource { """ - \(propertyWrapper) \(toJSValue) """ } diff --git a/Sources/WebIDLToSwift/IDLBuilder.swift b/Sources/WebIDLToSwift/IDLBuilder.swift index 21429dbb..9cb8ac64 100644 --- a/Sources/WebIDLToSwift/IDLBuilder.swift +++ b/Sources/WebIDLToSwift/IDLBuilder.swift @@ -2,7 +2,7 @@ import Foundation import WebIDL enum IDLBuilder { - static let basicDependencies = ["ECMAScript", "JavaScriptKit", "JavaScriptEventLoop"] + static let basicDependencies = ["ECMAScript", "JavaScriptKit"] static let optionalDependencies = ["JavaScriptEventLoop"] static let preamble = """ @@ -95,9 +95,8 @@ enum IDLBuilder { } static func generateClosureTypes() throws -> SwiftSource { - print("Generating closure property wrappers...") + print("Generating closure wrappers...") return """ - /* variadic generics please */ \(lines: ModuleState.closurePatterns.sorted().map(\.swiftRepresentation)) """ } diff --git a/Sources/WebIDLToSwift/MergeDeclarations.swift b/Sources/WebIDLToSwift/MergeDeclarations.swift index 5b042cbe..48b7b2d9 100644 --- a/Sources/WebIDLToSwift/MergeDeclarations.swift +++ b/Sources/WebIDLToSwift/MergeDeclarations.swift @@ -7,9 +7,6 @@ enum DeclarationMerger { "CustomElementConstructor", "ArrayBufferView", "RotationMatrixType", - // Mapped to `Int32` manually. This can't be represented as `Int64` due to `BigInt` representation on JS side, - // but as a pointer it can't be represented as floating point number either. - "GLintptr", ] static let ignoredIncludeTargets: Set = ["WorkerNavigator"] static let validExposures: Set = ["Window"] diff --git a/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift b/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift index c1a0b5dd..07ec10ed 100644 --- a/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift +++ b/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift @@ -5,7 +5,7 @@ extension IDLArgument: SwiftRepresentable { let type: SwiftSource if variadic { type = "\(idlType)..." - } else if idlType.isFunction, !optional, !idlType.nullable { + } else if idlType.closurePattern != nil && !optional && !idlType.nullable { type = "@escaping \(idlType)" } else { type = "\(idlType)" @@ -23,7 +23,7 @@ extension IDLArgument: SwiftRepresentable { } } -extension IDLAttribute: SwiftRepresentable, Initializable { +extension IDLAttribute: SwiftRepresentable { private var wrapperName: SwiftSource { "_\(raw: name)" } @@ -247,12 +247,16 @@ extension MergedInterface: SwiftRepresentable { ] let access: SwiftSource = openClasses.contains(name) ? "open" : "public" + let hasAsyncSequence: Bool let header: SwiftSource if partial { header = "public extension \(name)" + hasAsyncSequence = false } else { let inheritance = (parentClasses.isEmpty ? ["JSBridgedClass"] : parentClasses) + mixins + .filter { $0 != "AsyncSequence" } header = "\(access) class \(name): \(sequence: inheritance.map(SwiftSource.init(_:)))" + hasAsyncSequence = mixins.contains { $0 == "AsyncSequence" } } return """ @@ -269,13 +273,22 @@ extension MergedInterface: SwiftRepresentable { """ : "") public required init(unsafelyWrapping jsObject: JSObject) { - \(memberInits.joined(separator: "\n")) \(parentClasses.isEmpty ? "self.jsObject = jsObject" : "super.init(unsafelyWrapping: jsObject)") } """) \(body) } + + \(hasAsyncSequence ? + """ + #if canImport(JavaScriptEventLoop) + public extension \(name): AsyncSequence {} + #endif + """ : + "" + ) + """ } @@ -380,11 +393,13 @@ extension IDLIterableDeclaration: SwiftRepresentable, Initializable { var swiftRepresentation: SwiftSource { if async { return """ + #if canImport(JavaScriptEventLoop) public typealias Element = \(idlType[0]) @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) public func makeAsyncIterator() -> ValueIterableAsyncIterator<\(ModuleState.className)> { ValueIterableAsyncIterator(sequence: self) } + #endif """ } else { return """ From 51d7fc7ba0a52761c01dc90dcf186fd2a8909b5b Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Thu, 24 Apr 2025 11:05:31 +0100 Subject: [PATCH 4/9] Following up on closures property wrappers cleanup (#60) This change fixes an issue with the use of property wrappers for closures in WebAPIKit, which caused unnecessary increases in binary code size for products utilizing this library. Use of property wrappers is removed and simple direct getter and setter accessors are used for properties of closure types instead. --- .../WebIDL+SwiftRepresentation.swift | 48 ++++++------------- 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift b/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift index 07ec10ed..9b7e499f 100644 --- a/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift +++ b/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift @@ -36,47 +36,27 @@ extension IDLAttribute: SwiftRepresentable { } if ModuleState.override { assert(!ModuleState.static) - // can't do property wrappers on override declarations - return """ - @usableFromInline let \(wrapperName): \(idlType.propertyWrapper(readonly: readonly))<\(idlType)> - @inlinable override public var \(name): \(idlType) { - get { \(wrapperName).wrappedValue } - \(readonly ? "" : "set { \(wrapperName).wrappedValue = newValue }") - } - """ - } else if ModuleState.constructor == nil || ModuleState.static { - // can't do property wrappers on extensions - let propertyWrapper = idlType.propertyWrapper(readonly: readonly) - if [SwiftSource.readOnlyAttribute, .readWriteAttribute].contains(propertyWrapper) { - let setter: SwiftSource = """ - nonmutating set { jsObject[\(ModuleState.source(for: name))] = _toJSValue(newValue) } - """ - return """ - @inlinable public\(raw: ModuleState.static ? " static" : "") var \(name): \(idlType) { - get { jsObject[\(ModuleState.source(for: name))]\(idlType.fromJSValue) } - \(readonly ? "" : setter) - } - """ + return "" + } else { + let stringKey = ModuleState.source(for: name) + let getter: SwiftSource + let setter: SwiftSource + + if let closure = idlType.closurePattern { + getter = "get { \(closure.getter(name: stringKey)) }" + setter = "set { \(closure.setter(name: stringKey)) }" } else { - let setter: SwiftSource = """ - nonmutating set { \( - idlType.propertyWrapper(readonly: readonly))[\(ModuleState.source(for: name) - ), in: jsObject] = newValue } - """ + getter = "get { jsObject[\(stringKey)]\(idlType.fromJSValue) }" + setter = "set { jsObject[\(stringKey)] = _toJSValue(newValue) }" + } - return """ + return """ @inlinable public\(raw: ModuleState.static ? " static" : "") var \(name): \(idlType) { - get { \(idlType.propertyWrapper(readonly: readonly))[\(ModuleState.source(for: name)), in: jsObject] } + \(getter) \(readonly ? "" : setter) } """ - } - } else { - return """ - @\(idlType.propertyWrapper(readonly: readonly)) - public var \(name): \(idlType) - """ } } From cd7d4ad01c25bba0c2a154000dedbeffb57f55aa Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Fri, 6 Jun 2025 01:54:30 +0100 Subject: [PATCH 5/9] Fixes for compatibility with Embedded Swift (#61) --- Patches/CSSOM.patch | 58 +++--- Patches/DOM.patch | 94 +++------- Patches/SVG.patch | 22 +-- Patches/WebAudio.patch | 30 ++-- Sources/WebIDLToSwift/IDLBuilder.swift | 4 +- Sources/WebIDLToSwift/Module.swift | 3 + Sources/WebIDLToSwift/PackageManifest.swift | 9 +- Sources/WebIDLToSwift/Shell.swift | 2 +- .../WebIDL+SwiftRepresentation.swift | 165 +++++++++++------- Sources/WebIDLToSwift/WebIDLToSwift.swift | 12 +- 10 files changed, 194 insertions(+), 205 deletions(-) diff --git a/Patches/CSSOM.patch b/Patches/CSSOM.patch index ff22788d..c5ed5648 100644 --- a/Patches/CSSOM.patch +++ b/Patches/CSSOM.patch @@ -1,41 +1,42 @@ +diff --git a/Sources/CSSOM/Generated.swift b/Sources/CSSOM/Generated.swift +index 9cd2fb3..7aec5a8 100644 --- a/Sources/CSSOM/Generated.swift +++ b/Sources/CSSOM/Generated.swift -@@ -379,7 +379,8 @@ public class CSSColorValue: CSSStyleValue { - super.init(unsafelyWrapping: jsObject) - } - +@@ -411,7 +411,7 @@ public class CSSColorValue: CSSStyleValue { + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + - @inlinable override public class func parse(cssText: String) -> CSSColorValue_or_CSSStyleValue { -+ // returns CSSStyleValue | CSSColorValue -+ @inlinable public class func parse(cssText: String) -> CSSStyleValue { ++ @inlinable public class func parse(cssText: String) -> CSSColorValue { let this = constructor! return this[Strings.parse].function!(this: this, arguments: [_toJSValue(cssText)]).fromJSValue()! } -@@ -944,7 +945,7 @@ public class CSSNumericValue: CSSStyleValue { +@@ -947,7 +947,7 @@ public class CSSNumericValue: CSSStyleValue { return this[Strings.type].function!(this: this, arguments: []).fromJSValue()! } - -- @inlinable override public class func parse(cssText: String) -> Self { -+ @inlinable public class func parse(cssText: String) -> Self { + +- @inlinable override public class func parse(cssText: String) -> CSSNumericValue { ++ @inlinable public class func parse(cssText: String) -> CSSNumericValue { let this = constructor! return this[Strings.parse].function!(this: this, arguments: [_toJSValue(cssText)]).fromJSValue()! } -@@ -1974,9 +1975,10 @@ public class StylePropertyMapReadOnly: JSBridgedClass, Sequence { +@@ -2072,9 +2072,10 @@ public class StylePropertyMapReadOnly: JSBridgedClass, Sequence { ValueIterableIterator(sequence: self) } - -- @inlinable public func get(property: String) -> CSSStyleValue_or_Void { + +- @inlinable final public func get(property: String) -> CSSStyleValue_or_Void { + // TODO: remove patch once https://github.com/w3c/css-houdini-drafts/issues/1095 is fixed -+ @inlinable public func get(property: String) -> CSSStyleValue? { ++ @inlinable final public func get(property: String) -> CSSStyleValue? { let this = jsObject - return this[Strings.get].function!(this: this, arguments: [_toJSValue(property)]).fromJSValue()! + return this[Strings.get].function!(this: this, arguments: [_toJSValue(property)]).fromJSValue() } - - @inlinable public func getAll(property: String) -> [CSSStyleValue] { -@@ -2646,58 +2648,6 @@ public enum CSSStyleValue_or_String: JSValueCompatible, Any_CSSStyleValue_or_Str + + @inlinable final public func getAll(property: String) -> [CSSStyleValue] { +@@ -2706,49 +2707,6 @@ public enum CSSStyleValue_or_String: JSValueCompatible, Any_CSSStyleValue_or_Str + } } } - -public protocol Any_CSSStyleValue_or_Void: ConvertibleToJSValue {} -extension CSSStyleValue: Any_CSSStyleValue_or_Void {} -extension Void: Any_CSSStyleValue_or_Void {} @@ -44,12 +45,11 @@ - case cssStyleValue(CSSStyleValue) - case void(Void) - -- init(_ cssStyleValue: CSSStyleValue) { +- public init(_ cssStyleValue: CSSStyleValue) { - let val: CSSStyleValue_or_Void = .cssStyleValue(cssStyleValue) - self = val - } -- -- init(_ void: Void) { +- public init(_ void: Void) { - let val: CSSStyleValue_or_Void = .void(void) - self = val - } @@ -60,7 +60,6 @@ - default: return nil - } - } -- - public var void: Void? { - switch self { - case let .void(void): return void @@ -69,25 +68,18 @@ - } - - public static func construct(from value: JSValue) -> Self? { -- if let cssStyleValue: CSSStyleValue = value.fromJSValue() { -- return .cssStyleValue(cssStyleValue) -- } -- if let void: Void = value.fromJSValue() { -- return .void(void) -- } +- if let cssStyleValue: CSSStyleValue = value.fromJSValue() { return .cssStyleValue(cssStyleValue) } +- if let void: Void = value.fromJSValue() { return .void(void) } - return nil - } - - public var jsValue: JSValue { - switch self { -- case let .cssStyleValue(cssStyleValue): -- return cssStyleValue.jsValue -- case let .void(void): -- return void.jsValue +- case let .cssStyleValue(cssStyleValue): return cssStyleValue.jsValue +- case let .void(void): return void.jsValue - } - } -} -- public protocol Any_CSSUnparsedSegment: ConvertibleToJSValue {} extension CSSVariableReferenceValue: Any_CSSUnparsedSegment {} extension String: Any_CSSUnparsedSegment {} diff --git a/Patches/DOM.patch b/Patches/DOM.patch index 494dbe46..21e09baa 100644 --- a/Patches/DOM.patch +++ b/Patches/DOM.patch @@ -1,90 +1,52 @@ +diff --git a/Sources/DOM/Generated.swift b/Sources/DOM/Generated.swift +index 9fa75ba..0339568 100644 --- a/Sources/DOM/Generated.swift +++ b/Sources/DOM/Generated.swift -@@ -1007,8 +1007,15 @@ public class BeforeUnloadEvent: Event { - super.init(unsafelyWrapping: jsObject) - } - +@@ -1094,6 +1094,17 @@ public class BeforeUnloadEvent: Event { + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @available(*, unavailable) + override public var returnValue: Bool { -+ get { !_returnValue.wrappedValue.isEmpty } ++ get { !self.returnValueAsString.isEmpty } + set {} + } + - @usableFromInline let _returnValue: ReadWriteAttribute -- @inlinable override public var returnValue: String { + // renamed because `String` is not compatible with `Bool` + @inlinable public var returnValueAsString: String { - get { _returnValue.wrappedValue } - set { _returnValue.wrappedValue = newValue } - } -@@ -7095,7 +7102,8 @@ public class HTMLFormControlsCollection: HTMLCollection { - jsObject[key].fromJSValue() - } - -- @inlinable override public func namedItem(name: String) -> Element_or_RadioNodeList? { -+ // `override` removed since the superclass returns a more constrained type `Element` -+ @inlinable func namedItem(name: String) -> Element_or_RadioNodeList? { - let this = jsObject - return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() - } -@@ -17153,7 +17161,6 @@ public class VisibilityStateEntry: PerformanceEntry { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _entryType = ReadonlyAttribute(jsObject: jsObject, name: Strings.entryType) - _startTime = ReadonlyAttribute(jsObject: jsObject, name: Strings.startTime) -- _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - super.init(unsafelyWrapping: jsObject) - } - -@@ -17166,8 +17173,8 @@ public class VisibilityStateEntry: PerformanceEntry { - @usableFromInline let _startTime: ReadonlyAttribute - @inlinable override public var startTime: DOMHighResTimeStamp { _startTime.wrappedValue } - -- @usableFromInline let _duration: ReadonlyAttribute -- @inlinable override public var duration: UInt32 { _duration.wrappedValue } -+ // XXX: override of property `duration` removed because the type here is UInt32 but the -+ // type in the superclass is DOMHighResTimestamp (Double). ++ get { self.jsObject[Strings.returnValue].string! } ++ set { self.jsObject[Strings.returnValue] = .string(newValue) } ++ } } - - public class VisualViewport: EventTarget { -@@ -20687,19 +20694,9 @@ public enum CanvasImageSource: JSValueCompatible, Any_CanvasImageSource { + + public enum BitrateMode: JSString, JSValueCompatible { +@@ -24231,14 +24242,6 @@ public enum CanvasImageSource: JSValueCompatible, Any_CanvasImageSource { + let val: CanvasImageSource = .htmlOrSVGImageElement(htmlOrSVGImageElement) self = val } - -- init(_ htmlOrSVGImageElement: HTMLOrSVGImageElement) { -- let val: CanvasImageSource = .htmlOrSVGImageElement(htmlOrSVGImageElement) -- self = val -- } -- - init(_ htmlImageElement: HTMLImageElement) { +- public init(_ htmlImageElement: HTMLImageElement) { - let val: HTMLOrSVGImageElement = .htmlImageElement(htmlImageElement) - self = .init(val) - } -- -- init(_ svgImageElement: SVGImageElement) { +- public init(_ svgImageElement: SVGImageElement) { - let val: HTMLOrSVGImageElement = .svgImageElement(svgImageElement) - self = .init(val) -+ let val: CanvasImageSource = .htmlOrSVGImageElement(htmlImageElement) -+ self = val - } - - init(_ htmlVideoElement: HTMLVideoElement) { -@@ -21947,18 +21944,8 @@ public enum ImageBitmapSource: JSValueCompatible, Any_ImageBitmapSource { +- } + public init(_ htmlVideoElement: HTMLVideoElement) { + let val: CanvasImageSource = .htmlVideoElement(htmlVideoElement) + self = val +@@ -25289,14 +25292,6 @@ public enum ImageBitmapSource: JSValueCompatible, Any_ImageBitmapSource { + let val: CanvasImageSource = .htmlOrSVGImageElement(htmlOrSVGImageElement) self = .init(val) } - -- init(_ htmlOrSVGImageElement: HTMLOrSVGImageElement) { -- let val: CanvasImageSource = .htmlOrSVGImageElement(htmlOrSVGImageElement) -- self = .init(val) -- } -- - init(_ htmlImageElement: HTMLImageElement) { +- public init(_ htmlImageElement: HTMLImageElement) { - let val: HTMLOrSVGImageElement = .htmlImageElement(htmlImageElement) - self = .init(val) - } -- -- init(_ svgImageElement: SVGImageElement) { +- public init(_ svgImageElement: SVGImageElement) { - let val: HTMLOrSVGImageElement = .svgImageElement(svgImageElement) -+ let val: CanvasImageSource = .htmlOrSVGImageElement(htmlImageElement) +- self = .init(val) +- } + public init(_ htmlVideoElement: HTMLVideoElement) { + let val: CanvasImageSource = .htmlVideoElement(htmlVideoElement) self = .init(val) - } - diff --git a/Patches/SVG.patch b/Patches/SVG.patch index e8d7fdd7..99ed7816 100644 --- a/Patches/SVG.patch +++ b/Patches/SVG.patch @@ -1,21 +1,15 @@ +diff --git a/Sources/SVG/Generated.swift b/Sources/SVG/Generated.swift +index 176385b..bf8f1dd 100644 --- a/Sources/SVG/Generated.swift +++ b/Sources/SVG/Generated.swift -@@ -544,14 +544,16 @@ public class SVGElement: Element, GlobalEventHandlers, DocumentAndElementEventHa - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGElement].function } +@@ -524,7 +524,9 @@ public class SVGElement: Element, GlobalEventHandlers, SVGElementInstance, HTMLO - public required init(unsafelyWrapping jsObject: JSObject) { -- _className = ReadonlyAttribute(jsObject: jsObject, name: Strings.className) -+ _svgClassName = ReadonlyAttribute(jsObject: jsObject, name: Strings.className) - _ownerSVGElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.ownerSVGElement) - _viewportElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.viewportElement) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } +- @inlinable public var className: SVGAnimatedString { jsObject[Strings.className].fromJSValue()! } + // Renamed because superclass has a `className` property of type `String` + // NOTE! Accessing `className` on an SVGElement will crash your app - @ReadonlyAttribute -- public var className: SVGAnimatedString -+ public var svgClassName: SVGAnimatedString ++ @inlinable public var svgClassName: SVGAnimatedString { jsObject[Strings.className].fromJSValue()! } + + @inlinable public var ownerSVGElement: SVGSVGElement? { jsObject[Strings.ownerSVGElement].fromJSValue() } - @ReadonlyAttribute - public var ownerSVGElement: SVGSVGElement? diff --git a/Patches/WebAudio.patch b/Patches/WebAudio.patch index 9222a713..5fd47ea9 100644 --- a/Patches/WebAudio.patch +++ b/Patches/WebAudio.patch @@ -1,21 +1,19 @@ +diff --git a/Sources/WebAudio/Generated.swift b/Sources/WebAudio/Generated.swift +index fff1563..d672d8c 100644 --- a/Sources/WebAudio/Generated.swift +++ b/Sources/WebAudio/Generated.swift -@@ -195,7 +195,8 @@ public class AudioBufferSourceNode: AudioScheduledSourceNode { - @ReadWriteAttribute - public var loopEnd: Double +@@ -535,11 +535,11 @@ public class AudioNode: EventTarget { -- @inlinable override public func start(when: Double? = nil, offset: Double? = nil, duration: Double? = nil) { -+ // `override` removed since the superclass function has fewer parameters -+ @inlinable func start(when: Double? = nil, offset: Double? = nil, duration: Double? = nil) { - let this = jsObject - _ = this[Strings.start].function!(this: this, arguments: [_toJSValue(when), _toJSValue(offset), _toJSValue(duration)]) - } -@@ -492,7 +493,7 @@ public class AudioNode: EventTarget { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } -- @inlinable public func connect(destinationNode: AudioNode, output: UInt32? = nil, input: UInt32? = nil) -> Self { -+ @discardableResult @inlinable public func connect(destinationNode: NodeType, output: UInt32? = nil, input: UInt32? = nil) -> NodeType { +- @inlinable final public func connect( +- destinationNode: AudioNode, ++ @discardableResult @inlinable public final func connect( ++ destinationNode: NodeType, + output: UInt32? = nil, + input: UInt32? = nil +- ) -> AudioNode { ++ ) -> NodeType { let this = jsObject - return this[Strings.connect].function!(this: this, arguments: [_toJSValue(destinationNode), _toJSValue(output), _toJSValue(input)]).fromJSValue()! - } + return this[Strings.connect].function!( + this: this, diff --git a/Sources/WebIDLToSwift/IDLBuilder.swift b/Sources/WebIDLToSwift/IDLBuilder.swift index 9cb8ac64..ae82c44e 100644 --- a/Sources/WebIDLToSwift/IDLBuilder.swift +++ b/Sources/WebIDLToSwift/IDLBuilder.swift @@ -3,7 +3,7 @@ import WebIDL enum IDLBuilder { static let basicDependencies = ["ECMAScript", "JavaScriptKit"] - static let optionalDependencies = ["JavaScriptEventLoop"] + static let optionalDependencies = ["JavaScriptEventLoop", "_Concurrency"] static let preamble = """ // This file was auto-generated by WebIDLToSwift. DO NOT EDIT! @@ -44,7 +44,7 @@ enum IDLBuilder { } let formedPreamble = preamble + (optionalDependencies.map { """ - #if canImport\($0) + #if canImport(\($0)) import \($0) #endif """ } + dependencies.map { "import \($0)" }).joined(separator: "\n") diff --git a/Sources/WebIDLToSwift/Module.swift b/Sources/WebIDLToSwift/Module.swift index 5c15aecf..61c30890 100644 --- a/Sources/WebIDLToSwift/Module.swift +++ b/Sources/WebIDLToSwift/Module.swift @@ -27,6 +27,7 @@ let domModule = Module( "css-pseudo", "geometry", "cssom-view", + "css-view-transitions", "hr-time", "FileAPI", "xhr", @@ -42,6 +43,8 @@ let domModule = Module( "performance-timeline", "permissions", "mathml-core", + "trusted-types", + "urlpattern", ], dependencies: ["WebAPIBase"] ) diff --git a/Sources/WebIDLToSwift/PackageManifest.swift b/Sources/WebIDLToSwift/PackageManifest.swift index c8b8ed2d..1ff48470 100644 --- a/Sources/WebIDLToSwift/PackageManifest.swift +++ b/Sources/WebIDLToSwift/PackageManifest.swift @@ -1,14 +1,14 @@ // swiftlint:disable function_body_length func generateManifest(_ modules: [Module]) -> String { #""" - // swift-tools-version:5.5 + // swift-tools-version: 6.1 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "WebAPIKit", - platforms: [.macOS(.v10_13)], + platforms: [.macOS(.v10_15)], products: [ .executable( name: "WebAPIKitDemo", @@ -29,7 +29,7 @@ func generateManifest(_ modules: [Module]) -> String { dependencies: [ .package( url: "https://github.com/swiftwasm/JavaScriptKit.git", - .upToNextMajor(from: "0.16.0") + .upToNextMajor(from: "0.29.0") ), ], targets: [ @@ -62,7 +62,8 @@ func generateManifest(_ modules: [Module]) -> String { name: "WebAPIKitTests", dependencies: ["DOM"] ), - ] + ], + swiftLanguageModes: [.v5] ) """# } diff --git a/Sources/WebIDLToSwift/Shell.swift b/Sources/WebIDLToSwift/Shell.swift index eb7891aa..fcaf28e5 100644 --- a/Sources/WebIDLToSwift/Shell.swift +++ b/Sources/WebIDLToSwift/Shell.swift @@ -3,7 +3,7 @@ import Foundation enum Shell { static func format(source: String) { print("Formatting generated Swift files...") - run(executable: "swiftformat", arguments: ["--swiftversion", "5.5", source]) + run(executable: "swift", arguments: ["format", "format", "--parallel", "--in-place", source]) } private static let projectRoot = URL(fileURLWithPath: #file) diff --git a/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift b/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift index 9b7e499f..ee43f203 100644 --- a/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift +++ b/Sources/WebIDLToSwift/WebIDL+SwiftRepresentation.swift @@ -59,18 +59,11 @@ extension IDLAttribute: SwiftRepresentable { """ } } - - var initializer: SwiftSource? { - assert(!ModuleState.static) - return """ - \(wrapperName) = \(idlType.propertyWrapper(readonly: readonly))(jsObject: jsObject, name: \(ModuleState.source(for: name))) - """ - } } extension IDLDictionary.Member { var isOptional: Bool { - !required && !idlType.nullable && !idlType.isFunction + !required && !idlType.nullable } var optionalSuffix: String { @@ -78,59 +71,90 @@ extension IDLDictionary.Member { } } -extension MergedDictionary: SwiftRepresentable { +extension IDLDictionary.Member: SwiftRepresentable { var swiftRepresentation: SwiftSource { - """ - public class \(name): BridgedDictionary { - \(swiftInit) - \(swiftMembers.joined(separator: "\n\n")) + if ModuleState.override { + assert(!ModuleState.static) + return "" + } else { + let stringKey = ModuleState.source(for: name) + let getter: SwiftSource + let setter: SwiftSource + + if let closure = idlType.closurePattern { + getter = "get { \(closure.getter(name: stringKey)) }" + setter = "set { \(closure.setter(name: stringKey)) }" + } else { + getter = "get { jsObject[\(stringKey)]\(idlType.fromJSValue) }" + setter = "set { jsObject[\(stringKey)] = _toJSValue(newValue) }" + } + + return """ + @inlinable public\(raw: ModuleState.static ? " static" : "") var \(name): \(idlType) { + \(getter) + \(setter) + } + """ } - """ } +} - private func membersWithPropertyWrapper(_ members: [IDLDictionary.Member]) -> [(IDLDictionary.Member, SwiftSource)] { - members.map { - ($0, $0.idlType.propertyWrapper(readonly: false)) - } +extension MergedDictionary: SwiftRepresentable { + var swiftRepresentation: SwiftSource { + let inheritanceClause: SwiftSource = + if self.inheritance.isEmpty { + ": JSDictionaryCompatible" + } else { + ": \(self.inheritance.joined(separator: ", "))" + } + + return """ + open class \(name)\(inheritanceClause) { + \(self.inheritance.isEmpty ? "public let jsObject: JSObject" : "") + + \(swiftInit) + + \(lines: self.members.map(\.swiftRepresentation)) + } + """ } - private var swiftInit: SwiftSource { - let params: [SwiftSource] = members.map { - "\($0.name): \($0.idlType.isFunction ? "@escaping " : "")\($0.idlType)" + private var convenienceInit: SwiftSource { + let inheritedMembers: [IDLDictionary.Member] = self.inheritance.reduce(into: []) { + // FIXME: if dictionary is not found in the current module, it's coming from a dependency, + // but for now we have to skip it, since `ModuleState` doesn't seem to handle dependencies. + return $0.append(contentsOf: ModuleState.dictionaries[$1]?.members ?? []) + } + + let params: [SwiftSource] = (inheritedMembers + members).map { + let escaping = if let closurePattern = $0.idlType.closurePattern { + closurePattern.nullable || $0.isOptional ? "" : "@escaping " + } else { "" } + return "\($0.name): \(escaping)\($0.idlType)\($0.isOptional ? "? = nil" : "")" } + return """ public convenience init(\(sequence: params)) { let object = JSObject.global[\(ModuleState.source(for: "Object"))].function!.new() - \(lines: membersWithPropertyWrapper(members).map { member, wrapper in - if member.idlType.isFunction { - return """ - \(wrapper)[\(ModuleState.source(for: member.name)), in: object] = \(member.name) - """ - } else { + \(lines: (inheritedMembers + members).map { member in return """ object[\(ModuleState.source(for: member.name))] = _toJSValue(\(member.name)) """ - } }) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - \(lines: membersWithPropertyWrapper(members).map { member, wrapper in - "_\(raw: member.name) = \(wrapper)(jsObject: object, name: \(ModuleState.source(for: member.name)))" - }) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } """ } - private var swiftMembers: [SwiftSource] { - self.membersWithPropertyWrapper(members).map { member, wrapper in - """ - @\(wrapper) - public var \(member.name): \(member.idlType)\(member.optionalSuffix) + private var swiftInit: SwiftSource { + return """ + \(self.convenienceInit) + + public required init(unsafelyWrapping object: JSObject) { + \(self.inheritance.isEmpty ? "self.jsObject = object" : "super.init(unsafelyWrapping: object)") + } """ - } } } @@ -263,7 +287,7 @@ extension MergedInterface: SwiftRepresentable { \(hasAsyncSequence ? """ #if canImport(JavaScriptEventLoop) - public extension \(name): AsyncSequence {} + extension \(name): AsyncSequence {} #endif """ : "" @@ -427,7 +451,7 @@ extension IDLOperation: SwiftRepresentable, Initializable { case "stringifier": return """ @inlinable public var description: String { - \(ModuleState.this)[Strings.toString]!().fromJSValue()! + \(ModuleState.this)[Strings.toString].function!().fromJSValue()! } """ case "static": @@ -505,7 +529,11 @@ extension IDLOperation: SwiftRepresentable, Initializable { fileprivate var nameAndParams: SwiftSource { let accessModifier: SwiftSource = ModuleState.static ? (ModuleState.inClass ? " class" : " static") : "" - let overrideModifier: SwiftSource = ModuleState.override ? "override " : "" + let overrideModifier: SwiftSource = if ModuleState.static && ModuleState.inClass { + ModuleState.override ? "override " : "" + } else { + ModuleState.inClass && !ModuleState.current.inProtocol ? "final " : "" + } return """ \(overrideModifier)public\(accessModifier) func \(name)(\(sequence: arguments.map(\.swiftRepresentation))) """ @@ -513,10 +541,14 @@ extension IDLOperation: SwiftRepresentable, Initializable { private var defaultRepresentation: SwiftSource { guard let idlType = idlType else { fatalError() } - var returnType = idlType.swiftRepresentation - if returnType == ModuleState.className { - returnType = "Self" + + // skip overrides, since ancestor functions are final and JS will do dynamic dispatch to overrides anyway + // FIXME: still emit overrides that have a different number of arguments than an ancestor method, just without `override` keyword + guard !ModuleState.override || ModuleState.static else { + return "" } + + let returnType = idlType.swiftRepresentation if ModuleState.override, ModuleState.static, !ModuleState.inClass { preconditionFailure("Cannot override static method in non-class") } @@ -572,12 +604,14 @@ extension AsyncOperation: SwiftRepresentable, Initializable { result = "return try await _promise.value\(returnType.fromJSValue)" } return """ + #if canImport(JavaScriptEventLoop) @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable \(operation.nameAndParams) async throws -> \(returnType) { + @inlinable \(operation.nameAndParams) async throws(JSException) -> \(returnType) { \(prep) let _promise: JSPromise = \(call).fromJSValue()! \(result) } + #endif """ } @@ -673,7 +707,7 @@ extension IDLType: SwiftRepresentable { case "Promise": return "JSPromise" case "record": - return "[\(args[0]): \(args[1])]" + return "JSObject" default: fatalError("Unsupported generic type: \(name)") } @@ -712,39 +746,38 @@ extension IDLType: SwiftRepresentable { return false } - func propertyWrapper(readonly: Bool) -> SwiftSource { - // TODO: handle readonly closure properties - // (should they be a JSFunction? or a closure? or something else?)) + var closurePattern: ClosurePattern? { if case let .single(name) = value { if let callback = ModuleState.types[name] as? IDLCallback { - precondition(!readonly, "readonly closure properties are not supported") - return "\(closureWrapper(callback, optional: false))" + return closureWrapper(callback, optional: false) } if let ref = ModuleState.types[name] as? IDLTypedef, case let .single(name) = ref.idlType.value, let callback = ModuleState.types[name] as? IDLCallback { - precondition(!readonly, "readonly closure properties are not supported") precondition(ref.idlType.nullable) - return "\(closureWrapper(callback, optional: true))" + return closureWrapper(callback, optional: true) } } - if readonly { - return .readOnlyAttribute - } else { - return .readWriteAttribute - } + return nil } - private func closureWrapper(_ callback: IDLCallback, optional: Bool) -> SwiftSource { + private func closureWrapper(_ callback: IDLCallback, optional: Bool) -> ClosurePattern { let returnsVoid = callback.idlType.swiftRepresentation == "Void" let argCount = callback.arguments.count - return ClosurePattern(nullable: optional, void: returnsVoid, argCount: argCount).name + return ClosurePattern(nullable: optional, void: returnsVoid, argCount: argCount) } } extension IDLTypedef: SwiftRepresentable { + static let typeNameMap: [String: SwiftSource] = [ + // FIXME: WebIDL specifies these as `unsigned long long`, but major browsers expect + // a JS number and not BigInt here, so we have to keep it `Int32` on the Swift side. + "GLintptr": "Int32", + "GPUSize64": "UInt32", + ] + var unionType: UnionType? { if case let .union(types) = idlType.value { return ModuleState.union(for: Set(types.map(SlimIDLType.init)), defaultName: name) @@ -753,6 +786,8 @@ extension IDLTypedef: SwiftRepresentable { } var swiftRepresentation: SwiftSource { + let aliasedType: SwiftSource + if let unionType = unionType { guard unionType.friendlyName != name else { return "" } if let existingName = unionType.friendlyName { @@ -761,8 +796,8 @@ extension IDLTypedef: SwiftRepresentable { unionType.friendlyName = name return "" } - } - return "public typealias \(name) = \(idlType)" + } else if let type = Self.typeNameMap[name] { aliasedType = type } else { aliasedType = "\(idlType)" } + return "public typealias \(name) = \(aliasedType)" } } diff --git a/Sources/WebIDLToSwift/WebIDLToSwift.swift b/Sources/WebIDLToSwift/WebIDLToSwift.swift index 1e43fc1d..f1524a4c 100644 --- a/Sources/WebIDLToSwift/WebIDLToSwift.swift +++ b/Sources/WebIDLToSwift/WebIDLToSwift.swift @@ -11,7 +11,7 @@ enum WebIDLToSwift { static func main() { do { - let mode = parseArgs() + let (mode, moduleNames) = parseArgs() let packageDir = URL(fileURLWithPath: #file) .deletingLastPathComponent() .deletingLastPathComponent() @@ -22,6 +22,9 @@ enum WebIDLToSwift { // Collect closure patterns from all modules to subsequently write them together with `baseModule`. var closurePatterns = Set() + let modules = if moduleNames.isEmpty { modules } else { + modules.filter { moduleNames.contains($0.swiftModule) } + } for module in modules { try generate(module, packageDir: packageDir, domTypes: domTypes, patch: mode != .noPatch) closurePatterns.formUnion(ModuleState.closurePatterns) @@ -39,8 +42,9 @@ enum WebIDLToSwift { } } - private static func parseArgs() -> Mode? { + private static func parseArgs() -> (Mode?, moduleNames: [String]) { var mode: Mode? + var moduleNames = [String]() for arg in CommandLine.arguments.dropFirst() { if arg.starts(with: "--") { if let parsed = Mode(rawValue: String(arg.dropFirst(2))) { @@ -49,10 +53,10 @@ enum WebIDLToSwift { print("Unknown option: \(arg)") } } else { - print("Unknown argument: \(arg)") + moduleNames.append(arg) } } - return mode + return (mode, moduleNames) } private static func generate( From 535674fa4a10a62b9767ec26f56ee112d771654d Mon Sep 17 00:00:00 2001 From: Yuta Saito Date: Fri, 6 Jun 2025 14:34:12 +0000 Subject: [PATCH 6/9] Add .swift-format --- .swift-format | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .swift-format diff --git a/.swift-format b/.swift-format new file mode 100644 index 00000000..a4760cd6 --- /dev/null +++ b/.swift-format @@ -0,0 +1,11 @@ +{ + "version" : 1, + "indentation" : { + "spaces" : 4 + }, + "tabWidth" : 4, + "lineLength": 120, + "respectsExistingLineBreaks": false, + "lineBreakBeforeEachArgument": true, + "prioritizeKeepingFunctionOutputTogether": true +} From 740bb47db345de5afb238f64cebfd37d93ed9175 Mon Sep 17 00:00:00 2001 From: Yuta Saito Date: Fri, 6 Jun 2025 14:34:22 +0000 Subject: [PATCH 7/9] swift run WebIDLToSwift --- Package.swift | 9 +- Sources/CSSOM/Generated.swift | 2478 +-- Sources/DOM/Generated.swift | 27034 +++++++++++++----------- Sources/FileSystem/Generated.swift | 1037 +- Sources/Gamepad/Generated.swift | 466 +- Sources/SVG/Generated.swift | 2174 +- Sources/WebAPIBase/Generated.swift | 1077 +- Sources/WebAnimations/Generated.swift | 890 +- Sources/WebAudio/Generated.swift | 3074 +-- Sources/WebGL1/Generated.swift | 2107 +- Sources/WebGL2/Generated.swift | 2646 ++- Sources/WebGPU/Generated.swift | 4536 ++-- Sources/WebSockets/Generated.swift | 266 +- 13 files changed, 24856 insertions(+), 22938 deletions(-) diff --git a/Package.swift b/Package.swift index 6f9aecd9..477c1618 100644 --- a/Package.swift +++ b/Package.swift @@ -1,11 +1,11 @@ -// swift-tools-version:5.5 +// swift-tools-version: 6.1 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "WebAPIKit", - platforms: [.macOS(.v10_13)], + platforms: [.macOS(.v10_15)], products: [ .executable( name: "WebAPIKitDemo", @@ -64,7 +64,7 @@ let package = Package( dependencies: [ .package( url: "https://github.com/swiftwasm/JavaScriptKit.git", - .upToNextMajor(from: "0.16.0") + .upToNextMajor(from: "0.29.0") ), ], targets: [ @@ -135,5 +135,6 @@ let package = Package( name: "WebAPIKitTests", dependencies: ["DOM"] ), - ] + ], + swiftLanguageModes: [.v5] ) \ No newline at end of file diff --git a/Sources/CSSOM/Generated.swift b/Sources/CSSOM/Generated.swift index 10b24e14..b201b976 100644 --- a/Sources/CSSOM/Generated.swift +++ b/Sources/CSSOM/Generated.swift @@ -2,36 +2,41 @@ import DOM import ECMAScript -import JavaScriptEventLoop import JavaScriptKit import SVG import WebAPIBase -public class BoxQuadOptions: BridgedDictionary { - public convenience init(box: CSSBoxType, relativeTo: GeometryNode) { +#if canImport(JavaScriptEventLoop) + import JavaScriptEventLoop +#endif +#if canImport(_Concurrency) + import _Concurrency +#endif + +open class BoxQuadOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(box: CSSBoxType? = nil, relativeTo: GeometryNode? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.box] = _toJSValue(box) object[Strings.relativeTo] = _toJSValue(relativeTo) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _box = ReadWriteAttribute(jsObject: object, name: Strings.box) - _relativeTo = ReadWriteAttribute(jsObject: object, name: Strings.relativeTo) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var box: CSSBoxType + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var relativeTo: GeometryNode + @inlinable public var box: CSSBoxType { + get { jsObject[Strings.box].fromJSValue()! } + set { jsObject[Strings.box] = _toJSValue(newValue) } + } + @inlinable public var relativeTo: GeometryNode { + get { jsObject[Strings.relativeTo].fromJSValue()! } + set { jsObject[Strings.relativeTo] = _toJSValue(newValue) } + } } - public enum CSS { - @inlinable public static var jsObject: JSObject { - JSObject.global[Strings.CSS].object! - } + @inlinable public static var jsObject: JSObject { JSObject.global[Strings.CSS].object! } @inlinable public static func escape(ident: String) -> String { let this = JSObject.global[Strings.CSS].object! @@ -250,7 +255,7 @@ public enum CSS { @inlinable public static func `in`(value: Double) -> CSSUnitValue { let this = JSObject.global[Strings.CSS].object! - return this[Strings.in].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + return this[Strings.`in`].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } @inlinable public static func pt(value: Double) -> CSSUnitValue { @@ -328,7 +333,6 @@ public enum CSS { return this[Strings.fr].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } } - public enum CSSBoxType: JSString, JSValueCompatible { case margin = "margin" case border = "border" @@ -336,345 +340,343 @@ public enum CSSBoxType: JSString, JSValueCompatible { case content = "content" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class CSSColor: CSSColorValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSColor].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSColor].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _colorSpace = ReadWriteAttribute(jsObject: jsObject, name: Strings.colorSpace) - _channels = ReadWriteAttribute(jsObject: jsObject, name: Strings.channels) - _alpha = ReadWriteAttribute(jsObject: jsObject, name: Strings.alpha) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(colorSpace: CSSKeywordish, channels: [CSSColorPercent], alpha: CSSNumberish? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(colorSpace), _toJSValue(channels), _toJSValue(alpha)])) + @inlinable public convenience init( + colorSpace: CSSKeywordish, + channels: [CSSColorPercent], + alpha: CSSNumberish? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(colorSpace), _toJSValue(channels), _toJSValue(alpha), + ]) + ) } - @ReadWriteAttribute - public var colorSpace: CSSKeywordish + @inlinable public var colorSpace: CSSKeywordish { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var channels: [CSSColorPercent] + @inlinable public var channels: [CSSColorPercent] { + get { jsObject[Strings.channels].fromJSValue()! } + set { jsObject[Strings.channels] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var alpha: CSSNumberish + @inlinable public var alpha: CSSNumberish { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } } public class CSSColorValue: CSSStyleValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSColorValue].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSColorValue].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - // returns CSSStyleValue | CSSColorValue - @inlinable public class func parse(cssText: String) -> CSSStyleValue { + @inlinable public class func parse(cssText: String) -> CSSColorValue { let this = constructor! return this[Strings.parse].function!(this: this, arguments: [_toJSValue(cssText)]).fromJSValue()! } } public class CSSGroupingRule: CSSRule { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSGroupingRule].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSGroupingRule].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _cssRules = ReadonlyAttribute(jsObject: jsObject, name: Strings.cssRules) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var cssRules: CSSRuleList + @inlinable public var cssRules: CSSRuleList { jsObject[Strings.cssRules].fromJSValue()! } - @inlinable public func insertRule(rule: String, index: UInt32? = nil) -> UInt32 { + @inlinable final public func insertRule(rule: String, index: UInt32? = nil) -> UInt32 { let this = jsObject - return this[Strings.insertRule].function!(this: this, arguments: [_toJSValue(rule), _toJSValue(index)]).fromJSValue()! + return this[Strings.insertRule].function!(this: this, arguments: [_toJSValue(rule), _toJSValue(index)]) + .fromJSValue()! } - @inlinable public func deleteRule(index: UInt32) { + @inlinable final public func deleteRule(index: UInt32) { let this = jsObject _ = this[Strings.deleteRule].function!(this: this, arguments: [_toJSValue(index)]) } } public class CSSHSL: CSSColorValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSHSL].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSHSL].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _h = ReadWriteAttribute(jsObject: jsObject, name: Strings.h) - _s = ReadWriteAttribute(jsObject: jsObject, name: Strings.s) - _l = ReadWriteAttribute(jsObject: jsObject, name: Strings.l) - _alpha = ReadWriteAttribute(jsObject: jsObject, name: Strings.alpha) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(h: CSSColorAngle, s: CSSColorPercent, l: CSSColorPercent, alpha: CSSColorPercent? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(h), _toJSValue(s), _toJSValue(l), _toJSValue(alpha)])) + @inlinable public convenience init( + h: CSSColorAngle, + s: CSSColorPercent, + l: CSSColorPercent, + alpha: CSSColorPercent? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(h), _toJSValue(s), _toJSValue(l), _toJSValue(alpha), + ]) + ) } - @ReadWriteAttribute - public var h: CSSColorAngle + @inlinable public var h: CSSColorAngle { + get { jsObject[Strings.h].fromJSValue()! } + set { jsObject[Strings.h] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var s: CSSColorPercent + @inlinable public var s: CSSColorPercent { + get { jsObject[Strings.s].fromJSValue()! } + set { jsObject[Strings.s] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var l: CSSColorPercent + @inlinable public var l: CSSColorPercent { + get { jsObject[Strings.l].fromJSValue()! } + set { jsObject[Strings.l] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var alpha: CSSColorPercent + @inlinable public var alpha: CSSColorPercent { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } } public class CSSHWB: CSSColorValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSHWB].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSHWB].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _h = ReadWriteAttribute(jsObject: jsObject, name: Strings.h) - _w = ReadWriteAttribute(jsObject: jsObject, name: Strings.w) - _b = ReadWriteAttribute(jsObject: jsObject, name: Strings.b) - _alpha = ReadWriteAttribute(jsObject: jsObject, name: Strings.alpha) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(h: CSSNumericValue, w: CSSNumberish, b: CSSNumberish, alpha: CSSNumberish? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(h), _toJSValue(w), _toJSValue(b), _toJSValue(alpha)])) + @inlinable public convenience init(h: CSSNumericValue, w: CSSNumberish, b: CSSNumberish, alpha: CSSNumberish? = nil) + { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(h), _toJSValue(w), _toJSValue(b), _toJSValue(alpha), + ]) + ) } - @ReadWriteAttribute - public var h: CSSNumericValue + @inlinable public var h: CSSNumericValue { + get { jsObject[Strings.h].fromJSValue()! } + set { jsObject[Strings.h] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var w: CSSNumberish + @inlinable public var w: CSSNumberish { + get { jsObject[Strings.w].fromJSValue()! } + set { jsObject[Strings.w] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var b: CSSNumberish + @inlinable public var b: CSSNumberish { + get { jsObject[Strings.b].fromJSValue()! } + set { jsObject[Strings.b] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var alpha: CSSNumberish + @inlinable public var alpha: CSSNumberish { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } } public class CSSImageValue: CSSStyleValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSImageValue].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSImageValue].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class CSSImportRule: CSSRule { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSImportRule].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSImportRule].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _href = ReadonlyAttribute(jsObject: jsObject, name: Strings.href) - _media = ReadonlyAttribute(jsObject: jsObject, name: Strings.media) - _styleSheet = ReadonlyAttribute(jsObject: jsObject, name: Strings.styleSheet) - _layerName = ReadonlyAttribute(jsObject: jsObject, name: Strings.layerName) - _supportsText = ReadonlyAttribute(jsObject: jsObject, name: Strings.supportsText) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var href: String + @inlinable public var href: String { jsObject[Strings.href].fromJSValue()! } - @ReadonlyAttribute - public var media: MediaList + @inlinable public var media: MediaList { jsObject[Strings.media].fromJSValue()! } - @ReadonlyAttribute - public var styleSheet: CSSStyleSheet? + @inlinable public var styleSheet: CSSStyleSheet? { jsObject[Strings.styleSheet].fromJSValue() } - @ReadonlyAttribute - public var layerName: String? + @inlinable public var layerName: String? { jsObject[Strings.layerName].fromJSValue() } - @ReadonlyAttribute - public var supportsText: String? + @inlinable public var supportsText: String? { jsObject[Strings.supportsText].fromJSValue() } } public class CSSKeywordValue: CSSStyleValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSKeywordValue].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSKeywordValue].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(value: String) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(value)])) } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } } public class CSSLCH: CSSColorValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSLCH].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSLCH].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _l = ReadWriteAttribute(jsObject: jsObject, name: Strings.l) - _c = ReadWriteAttribute(jsObject: jsObject, name: Strings.c) - _h = ReadWriteAttribute(jsObject: jsObject, name: Strings.h) - _alpha = ReadWriteAttribute(jsObject: jsObject, name: Strings.alpha) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(l: CSSColorPercent, c: CSSColorPercent, h: CSSColorAngle, alpha: CSSColorPercent? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(l), _toJSValue(c), _toJSValue(h), _toJSValue(alpha)])) + @inlinable public convenience init( + l: CSSColorPercent, + c: CSSColorPercent, + h: CSSColorAngle, + alpha: CSSColorPercent? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(l), _toJSValue(c), _toJSValue(h), _toJSValue(alpha), + ]) + ) } - @ReadWriteAttribute - public var l: CSSColorPercent + @inlinable public var l: CSSColorPercent { + get { jsObject[Strings.l].fromJSValue()! } + set { jsObject[Strings.l] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var c: CSSColorPercent + @inlinable public var c: CSSColorPercent { + get { jsObject[Strings.c].fromJSValue()! } + set { jsObject[Strings.c] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var h: CSSColorAngle + @inlinable public var h: CSSColorAngle { + get { jsObject[Strings.h].fromJSValue()! } + set { jsObject[Strings.h] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var alpha: CSSColorPercent + @inlinable public var alpha: CSSColorPercent { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } } public class CSSLab: CSSColorValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSLab].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSLab].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _l = ReadWriteAttribute(jsObject: jsObject, name: Strings.l) - _a = ReadWriteAttribute(jsObject: jsObject, name: Strings.a) - _b = ReadWriteAttribute(jsObject: jsObject, name: Strings.b) - _alpha = ReadWriteAttribute(jsObject: jsObject, name: Strings.alpha) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(l: CSSColorPercent, a: CSSColorNumber, b: CSSColorNumber, alpha: CSSColorPercent? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(l), _toJSValue(a), _toJSValue(b), _toJSValue(alpha)])) + @inlinable public convenience init( + l: CSSColorPercent, + a: CSSColorNumber, + b: CSSColorNumber, + alpha: CSSColorPercent? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(l), _toJSValue(a), _toJSValue(b), _toJSValue(alpha), + ]) + ) } - @ReadWriteAttribute - public var l: CSSColorPercent + @inlinable public var l: CSSColorPercent { + get { jsObject[Strings.l].fromJSValue()! } + set { jsObject[Strings.l] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var a: CSSColorNumber + @inlinable public var a: CSSColorNumber { + get { jsObject[Strings.a].fromJSValue()! } + set { jsObject[Strings.a] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var b: CSSColorNumber + @inlinable public var b: CSSColorNumber { + get { jsObject[Strings.b].fromJSValue()! } + set { jsObject[Strings.b] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var alpha: CSSColorPercent + @inlinable public var alpha: CSSColorPercent { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } } public class CSSMarginRule: CSSRule { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSMarginRule].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSMarginRule].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _style = ReadonlyAttribute(jsObject: jsObject, name: Strings.style) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ReadonlyAttribute - public var style: CSSStyleDeclaration + @inlinable public var style: CSSStyleDeclaration { jsObject[Strings.style].fromJSValue()! } } public class CSSMathClamp: CSSMathValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSMathClamp].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSMathClamp].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _lower = ReadonlyAttribute(jsObject: jsObject, name: Strings.lower) - _value = ReadonlyAttribute(jsObject: jsObject, name: Strings.value) - _upper = ReadonlyAttribute(jsObject: jsObject, name: Strings.upper) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(lower: CSSNumberish, value: CSSNumberish, upper: CSSNumberish) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(lower), _toJSValue(value), _toJSValue(upper)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(lower), _toJSValue(value), _toJSValue(upper), + ]) + ) } - @ReadonlyAttribute - public var lower: CSSNumericValue + @inlinable public var lower: CSSNumericValue { jsObject[Strings.lower].fromJSValue()! } - @ReadonlyAttribute - public var value: CSSNumericValue + @inlinable public var value: CSSNumericValue { jsObject[Strings.value].fromJSValue()! } - @ReadonlyAttribute - public var upper: CSSNumericValue + @inlinable public var upper: CSSNumericValue { jsObject[Strings.upper].fromJSValue()! } } public class CSSMathInvert: CSSMathValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSMathInvert].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSMathInvert].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadonlyAttribute(jsObject: jsObject, name: Strings.value) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(arg: CSSNumberish) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(arg)])) } - @ReadonlyAttribute - public var value: CSSNumericValue + @inlinable public var value: CSSNumericValue { jsObject[Strings.value].fromJSValue()! } } public class CSSMathMax: CSSMathValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSMathMax].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSMathMax].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _values = ReadonlyAttribute(jsObject: jsObject, name: Strings.values) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(args: CSSNumberish...) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: args.map(_toJSValue))) } - @ReadonlyAttribute - public var values: CSSNumericArray + @inlinable public var values: CSSNumericArray { jsObject[Strings.values].fromJSValue()! } } public class CSSMathMin: CSSMathValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSMathMin].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSMathMin].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _values = ReadonlyAttribute(jsObject: jsObject, name: Strings.values) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(args: CSSNumberish...) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: args.map(_toJSValue))) } - @ReadonlyAttribute - public var values: CSSNumericArray + @inlinable public var values: CSSNumericArray { jsObject[Strings.values].fromJSValue()! } } public class CSSMathNegate: CSSMathValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSMathNegate].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSMathNegate].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadonlyAttribute(jsObject: jsObject, name: Strings.value) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(arg: CSSNumberish) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(arg)])) } - @ReadonlyAttribute - public var value: CSSNumericValue + @inlinable public var value: CSSNumericValue { jsObject[Strings.value].fromJSValue()! } } public enum CSSMathOperator: JSString, JSValueCompatible { @@ -687,109 +689,88 @@ public enum CSSMathOperator: JSString, JSValueCompatible { case clamp = "clamp" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class CSSMathProduct: CSSMathValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSMathProduct].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSMathProduct].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _values = ReadonlyAttribute(jsObject: jsObject, name: Strings.values) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(args: CSSNumberish...) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: args.map(_toJSValue))) } - @ReadonlyAttribute - public var values: CSSNumericArray + @inlinable public var values: CSSNumericArray { jsObject[Strings.values].fromJSValue()! } } public class CSSMathSum: CSSMathValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSMathSum].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSMathSum].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _values = ReadonlyAttribute(jsObject: jsObject, name: Strings.values) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(args: CSSNumberish...) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: args.map(_toJSValue))) } - @ReadonlyAttribute - public var values: CSSNumericArray + @inlinable public var values: CSSNumericArray { jsObject[Strings.values].fromJSValue()! } } public class CSSMathValue: CSSNumericValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSMathValue].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSMathValue].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _operator = ReadonlyAttribute(jsObject: jsObject, name: Strings.operator) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var `operator`: CSSMathOperator + @inlinable public var `operator`: CSSMathOperator { jsObject[Strings.`operator`].fromJSValue()! } } public class CSSMatrixComponent: CSSTransformComponent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSMatrixComponent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _matrix = ReadWriteAttribute(jsObject: jsObject, name: Strings.matrix) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.CSSMatrixComponent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(matrix: DOMMatrixReadOnly, options: CSSMatrixComponentOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(matrix), _toJSValue(options)])) } - @ReadWriteAttribute - public var matrix: DOMMatrix + @inlinable public var matrix: DOMMatrix { + get { jsObject[Strings.matrix].fromJSValue()! } + set { jsObject[Strings.matrix] = _toJSValue(newValue) } + } } -public class CSSMatrixComponentOptions: BridgedDictionary { - public convenience init(is2D: Bool) { +open class CSSMatrixComponentOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(is2D: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.is2D] = _toJSValue(is2D) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _is2D = ReadWriteAttribute(jsObject: object, name: Strings.is2D) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var is2D: Bool + @inlinable public var is2D: Bool { + get { jsObject[Strings.is2D].fromJSValue()! } + set { jsObject[Strings.is2D] = _toJSValue(newValue) } + } } - public class CSSNamespaceRule: CSSRule { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSNamespaceRule].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSNamespaceRule].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _namespaceURI = ReadonlyAttribute(jsObject: jsObject, name: Strings.namespaceURI) - _prefix = ReadonlyAttribute(jsObject: jsObject, name: Strings.prefix) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var namespaceURI: String + @inlinable public var namespaceURI: String { jsObject[Strings.namespaceURI].fromJSValue()! } - @ReadonlyAttribute - public var prefix: String + @inlinable public var prefix: String { jsObject[Strings.prefix].fromJSValue()! } } public class CSSNumericArray: JSBridgedClass, Sequence { @@ -797,22 +778,14 @@ public class CSSNumericArray: JSBridgedClass, Sequence { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } public typealias Element = CSSNumericValue - public func makeIterator() -> ValueIterableIterator { - ValueIterableIterator(sequence: self) - } + public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> CSSNumericValue { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> CSSNumericValue { jsObject[key].fromJSValue()! } } public enum CSSNumericBaseType: JSString, JSValueCompatible { @@ -825,21 +798,27 @@ public enum CSSNumericBaseType: JSString, JSValueCompatible { case percent = "percent" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class CSSNumericType: JSDictionaryCompatible { + public let jsObject: JSObject -public class CSSNumericType: BridgedDictionary { - public convenience init(length: Int32, angle: Int32, time: Int32, frequency: Int32, resolution: Int32, flex: Int32, percent: Int32, percentHint: CSSNumericBaseType) { + public convenience init( + length: Int32? = nil, + angle: Int32? = nil, + time: Int32? = nil, + frequency: Int32? = nil, + resolution: Int32? = nil, + flex: Int32? = nil, + percent: Int32? = nil, + percentHint: CSSNumericBaseType? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.length] = _toJSValue(length) object[Strings.angle] = _toJSValue(angle) @@ -849,255 +828,287 @@ public class CSSNumericType: BridgedDictionary { object[Strings.flex] = _toJSValue(flex) object[Strings.percent] = _toJSValue(percent) object[Strings.percentHint] = _toJSValue(percentHint) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _length = ReadWriteAttribute(jsObject: object, name: Strings.length) - _angle = ReadWriteAttribute(jsObject: object, name: Strings.angle) - _time = ReadWriteAttribute(jsObject: object, name: Strings.time) - _frequency = ReadWriteAttribute(jsObject: object, name: Strings.frequency) - _resolution = ReadWriteAttribute(jsObject: object, name: Strings.resolution) - _flex = ReadWriteAttribute(jsObject: object, name: Strings.flex) - _percent = ReadWriteAttribute(jsObject: object, name: Strings.percent) - _percentHint = ReadWriteAttribute(jsObject: object, name: Strings.percentHint) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var length: Int32 - - @ReadWriteAttribute - public var angle: Int32 - - @ReadWriteAttribute - public var time: Int32 - - @ReadWriteAttribute - public var frequency: Int32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var resolution: Int32 - - @ReadWriteAttribute - public var flex: Int32 - - @ReadWriteAttribute - public var percent: Int32 - - @ReadWriteAttribute - public var percentHint: CSSNumericBaseType + @inlinable public var length: Int32 { + get { jsObject[Strings.length].fromJSValue()! } + set { jsObject[Strings.length] = _toJSValue(newValue) } + } + @inlinable public var angle: Int32 { + get { jsObject[Strings.angle].fromJSValue()! } + set { jsObject[Strings.angle] = _toJSValue(newValue) } + } + @inlinable public var time: Int32 { + get { jsObject[Strings.time].fromJSValue()! } + set { jsObject[Strings.time] = _toJSValue(newValue) } + } + @inlinable public var frequency: Int32 { + get { jsObject[Strings.frequency].fromJSValue()! } + set { jsObject[Strings.frequency] = _toJSValue(newValue) } + } + @inlinable public var resolution: Int32 { + get { jsObject[Strings.resolution].fromJSValue()! } + set { jsObject[Strings.resolution] = _toJSValue(newValue) } + } + @inlinable public var flex: Int32 { + get { jsObject[Strings.flex].fromJSValue()! } + set { jsObject[Strings.flex] = _toJSValue(newValue) } + } + @inlinable public var percent: Int32 { + get { jsObject[Strings.percent].fromJSValue()! } + set { jsObject[Strings.percent] = _toJSValue(newValue) } + } + @inlinable public var percentHint: CSSNumericBaseType { + get { jsObject[Strings.percentHint].fromJSValue()! } + set { jsObject[Strings.percentHint] = _toJSValue(newValue) } + } } - public class CSSNumericValue: CSSStyleValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSNumericValue].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSNumericValue].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public func add(values: CSSNumberish...) -> Self { + @inlinable final public func add(values: CSSNumberish...) -> CSSNumericValue { let this = jsObject return this[Strings.add].function!(this: this, arguments: values.map(_toJSValue)).fromJSValue()! } - @inlinable public func sub(values: CSSNumberish...) -> Self { + @inlinable final public func sub(values: CSSNumberish...) -> CSSNumericValue { let this = jsObject return this[Strings.sub].function!(this: this, arguments: values.map(_toJSValue)).fromJSValue()! } - @inlinable public func mul(values: CSSNumberish...) -> Self { + @inlinable final public func mul(values: CSSNumberish...) -> CSSNumericValue { let this = jsObject return this[Strings.mul].function!(this: this, arguments: values.map(_toJSValue)).fromJSValue()! } - @inlinable public func div(values: CSSNumberish...) -> Self { + @inlinable final public func div(values: CSSNumberish...) -> CSSNumericValue { let this = jsObject return this[Strings.div].function!(this: this, arguments: values.map(_toJSValue)).fromJSValue()! } - @inlinable public func min(values: CSSNumberish...) -> Self { + @inlinable final public func min(values: CSSNumberish...) -> CSSNumericValue { let this = jsObject return this[Strings.min].function!(this: this, arguments: values.map(_toJSValue)).fromJSValue()! } - @inlinable public func max(values: CSSNumberish...) -> Self { + @inlinable final public func max(values: CSSNumberish...) -> CSSNumericValue { let this = jsObject return this[Strings.max].function!(this: this, arguments: values.map(_toJSValue)).fromJSValue()! } - @inlinable public func equals(value: CSSNumberish...) -> Bool { + @inlinable final public func equals(value: CSSNumberish...) -> Bool { let this = jsObject return this[Strings.equals].function!(this: this, arguments: value.map(_toJSValue)).fromJSValue()! } - @inlinable public func to(unit: String) -> CSSUnitValue { + @inlinable final public func to(unit: String) -> CSSUnitValue { let this = jsObject return this[Strings.to].function!(this: this, arguments: [_toJSValue(unit)]).fromJSValue()! } - @inlinable public func toSum(units: String...) -> CSSMathSum { + @inlinable final public func toSum(units: String...) -> CSSMathSum { let this = jsObject return this[Strings.toSum].function!(this: this, arguments: units.map(_toJSValue)).fromJSValue()! } - @inlinable public func type() -> CSSNumericType { + @inlinable final public func type() -> CSSNumericType { let this = jsObject return this[Strings.type].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public class func parse(cssText: String) -> Self { + @inlinable public class func parse(cssText: String) -> CSSNumericValue { let this = constructor! return this[Strings.parse].function!(this: this, arguments: [_toJSValue(cssText)]).fromJSValue()! } } public class CSSOKLCH: CSSColorValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSOKLCH].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSOKLCH].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _l = ReadWriteAttribute(jsObject: jsObject, name: Strings.l) - _c = ReadWriteAttribute(jsObject: jsObject, name: Strings.c) - _h = ReadWriteAttribute(jsObject: jsObject, name: Strings.h) - _alpha = ReadWriteAttribute(jsObject: jsObject, name: Strings.alpha) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(l: CSSColorPercent, c: CSSColorPercent, h: CSSColorAngle, alpha: CSSColorPercent? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(l), _toJSValue(c), _toJSValue(h), _toJSValue(alpha)])) + @inlinable public convenience init( + l: CSSColorPercent, + c: CSSColorPercent, + h: CSSColorAngle, + alpha: CSSColorPercent? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(l), _toJSValue(c), _toJSValue(h), _toJSValue(alpha), + ]) + ) } - @ReadWriteAttribute - public var l: CSSColorPercent + @inlinable public var l: CSSColorPercent { + get { jsObject[Strings.l].fromJSValue()! } + set { jsObject[Strings.l] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var c: CSSColorPercent + @inlinable public var c: CSSColorPercent { + get { jsObject[Strings.c].fromJSValue()! } + set { jsObject[Strings.c] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var h: CSSColorAngle + @inlinable public var h: CSSColorAngle { + get { jsObject[Strings.h].fromJSValue()! } + set { jsObject[Strings.h] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var alpha: CSSColorPercent + @inlinable public var alpha: CSSColorPercent { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } } public class CSSOKLab: CSSColorValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSOKLab].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSOKLab].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _l = ReadWriteAttribute(jsObject: jsObject, name: Strings.l) - _a = ReadWriteAttribute(jsObject: jsObject, name: Strings.a) - _b = ReadWriteAttribute(jsObject: jsObject, name: Strings.b) - _alpha = ReadWriteAttribute(jsObject: jsObject, name: Strings.alpha) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(l: CSSColorPercent, a: CSSColorNumber, b: CSSColorNumber, alpha: CSSColorPercent? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(l), _toJSValue(a), _toJSValue(b), _toJSValue(alpha)])) + @inlinable public convenience init( + l: CSSColorPercent, + a: CSSColorNumber, + b: CSSColorNumber, + alpha: CSSColorPercent? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(l), _toJSValue(a), _toJSValue(b), _toJSValue(alpha), + ]) + ) } - @ReadWriteAttribute - public var l: CSSColorPercent + @inlinable public var l: CSSColorPercent { + get { jsObject[Strings.l].fromJSValue()! } + set { jsObject[Strings.l] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var a: CSSColorNumber + @inlinable public var a: CSSColorNumber { + get { jsObject[Strings.a].fromJSValue()! } + set { jsObject[Strings.a] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var b: CSSColorNumber + @inlinable public var b: CSSColorNumber { + get { jsObject[Strings.b].fromJSValue()! } + set { jsObject[Strings.b] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var alpha: CSSColorPercent + @inlinable public var alpha: CSSColorPercent { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } } public class CSSPageRule: CSSGroupingRule { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSPageRule].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSPageRule].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _selectorText = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectorText) - _style = ReadonlyAttribute(jsObject: jsObject, name: Strings.style) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var selectorText: String + @inlinable public var selectorText: String { + get { jsObject[Strings.selectorText].fromJSValue()! } + set { jsObject[Strings.selectorText] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var style: CSSStyleDeclaration + @inlinable public var style: CSSStyleDeclaration { jsObject[Strings.style].fromJSValue()! } } public class CSSPerspective: CSSTransformComponent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSPerspective].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSPerspective].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadWriteAttribute(jsObject: jsObject, name: Strings.length) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(length: CSSPerspectiveValue) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(length)])) } - @ReadWriteAttribute - public var length: CSSPerspectiveValue + @inlinable public var length: CSSPerspectiveValue { + get { jsObject[Strings.length].fromJSValue()! } + set { jsObject[Strings.length] = _toJSValue(newValue) } + } } public class CSSRGB: CSSColorValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSRGB].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSRGB].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _r = ReadWriteAttribute(jsObject: jsObject, name: Strings.r) - _g = ReadWriteAttribute(jsObject: jsObject, name: Strings.g) - _b = ReadWriteAttribute(jsObject: jsObject, name: Strings.b) - _alpha = ReadWriteAttribute(jsObject: jsObject, name: Strings.alpha) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(r: CSSColorRGBComp, g: CSSColorRGBComp, b: CSSColorRGBComp, alpha: CSSColorPercent? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(r), _toJSValue(g), _toJSValue(b), _toJSValue(alpha)])) + @inlinable public convenience init( + r: CSSColorRGBComp, + g: CSSColorRGBComp, + b: CSSColorRGBComp, + alpha: CSSColorPercent? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(r), _toJSValue(g), _toJSValue(b), _toJSValue(alpha), + ]) + ) } - @ReadWriteAttribute - public var r: CSSColorRGBComp + @inlinable public var r: CSSColorRGBComp { + get { jsObject[Strings.r].fromJSValue()! } + set { jsObject[Strings.r] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var g: CSSColorRGBComp + @inlinable public var g: CSSColorRGBComp { + get { jsObject[Strings.g].fromJSValue()! } + set { jsObject[Strings.g] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var b: CSSColorRGBComp + @inlinable public var b: CSSColorRGBComp { + get { jsObject[Strings.b].fromJSValue()! } + set { jsObject[Strings.b] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var alpha: CSSColorPercent + @inlinable public var alpha: CSSColorPercent { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } } public class CSSRotate: CSSTransformComponent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSRotate].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSRotate].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadWriteAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadWriteAttribute(jsObject: jsObject, name: Strings.y) - _z = ReadWriteAttribute(jsObject: jsObject, name: Strings.z) - _angle = ReadWriteAttribute(jsObject: jsObject, name: Strings.angle) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(angle: CSSNumericValue) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(angle)])) } @inlinable public convenience init(x: CSSNumberish, y: CSSNumberish, z: CSSNumberish, angle: CSSNumericValue) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle), + ]) + ) } - @ReadWriteAttribute - public var x: CSSNumberish + @inlinable public var x: CSSNumberish { + get { jsObject[Strings.x].fromJSValue()! } + set { jsObject[Strings.x] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var y: CSSNumberish + @inlinable public var y: CSSNumberish { + get { jsObject[Strings.y].fromJSValue()! } + set { jsObject[Strings.y] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var z: CSSNumberish + @inlinable public var z: CSSNumberish { + get { jsObject[Strings.z].fromJSValue()! } + set { jsObject[Strings.z] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var angle: CSSNumericValue + @inlinable public var angle: CSSNumericValue { + get { jsObject[Strings.angle].fromJSValue()! } + set { jsObject[Strings.angle] = _toJSValue(newValue) } + } } public class CSSRule: JSBridgedClass { @@ -1105,25 +1116,18 @@ public class CSSRule: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _cssText = ReadWriteAttribute(jsObject: jsObject, name: Strings.cssText) - _parentRule = ReadonlyAttribute(jsObject: jsObject, name: Strings.parentRule) - _parentStyleSheet = ReadonlyAttribute(jsObject: jsObject, name: Strings.parentStyleSheet) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var cssText: String + @inlinable public var cssText: String { + get { jsObject[Strings.cssText].fromJSValue()! } + set { jsObject[Strings.cssText] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var parentRule: CSSRule? + @inlinable public var parentRule: CSSRule? { jsObject[Strings.parentRule].fromJSValue() } - @ReadonlyAttribute - public var parentStyleSheet: CSSStyleSheet? + @inlinable public var parentStyleSheet: CSSStyleSheet? { jsObject[Strings.parentStyleSheet].fromJSValue() } - @ReadonlyAttribute - public var type: UInt16 + @inlinable public var type: UInt16 { jsObject[Strings.type].fromJSValue()! } public static let STYLE_RULE: UInt16 = 1 @@ -1147,98 +1151,91 @@ public class CSSRuleList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public subscript(key: Int) -> CSSRule? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> CSSRule? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> CSSRule? { + @inlinable final public func item(index: UInt32) -> CSSRule? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } } public class CSSScale: CSSTransformComponent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSScale].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSScale].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadWriteAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadWriteAttribute(jsObject: jsObject, name: Strings.y) - _z = ReadWriteAttribute(jsObject: jsObject, name: Strings.z) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(x: CSSNumberish, y: CSSNumberish, z: CSSNumberish? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z)])) } - @ReadWriteAttribute - public var x: CSSNumberish + @inlinable public var x: CSSNumberish { + get { jsObject[Strings.x].fromJSValue()! } + set { jsObject[Strings.x] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var y: CSSNumberish + @inlinable public var y: CSSNumberish { + get { jsObject[Strings.y].fromJSValue()! } + set { jsObject[Strings.y] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var z: CSSNumberish + @inlinable public var z: CSSNumberish { + get { jsObject[Strings.z].fromJSValue()! } + set { jsObject[Strings.z] = _toJSValue(newValue) } + } } public class CSSSkew: CSSTransformComponent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSSkew].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSSkew].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _ax = ReadWriteAttribute(jsObject: jsObject, name: Strings.ax) - _ay = ReadWriteAttribute(jsObject: jsObject, name: Strings.ay) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(ax: CSSNumericValue, ay: CSSNumericValue) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(ax), _toJSValue(ay)])) } - @ReadWriteAttribute - public var ax: CSSNumericValue + @inlinable public var ax: CSSNumericValue { + get { jsObject[Strings.ax].fromJSValue()! } + set { jsObject[Strings.ax] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ay: CSSNumericValue + @inlinable public var ay: CSSNumericValue { + get { jsObject[Strings.ay].fromJSValue()! } + set { jsObject[Strings.ay] = _toJSValue(newValue) } + } } public class CSSSkewX: CSSTransformComponent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSSkewX].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSSkewX].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _ax = ReadWriteAttribute(jsObject: jsObject, name: Strings.ax) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(ax: CSSNumericValue) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(ax)])) } - @ReadWriteAttribute - public var ax: CSSNumericValue + @inlinable public var ax: CSSNumericValue { + get { jsObject[Strings.ax].fromJSValue()! } + set { jsObject[Strings.ax] = _toJSValue(newValue) } + } } public class CSSSkewY: CSSTransformComponent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSSkewY].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSSkewY].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _ay = ReadWriteAttribute(jsObject: jsObject, name: Strings.ay) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(ay: CSSNumericValue) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(ay)])) } - @ReadWriteAttribute - public var ay: CSSNumericValue + @inlinable public var ay: CSSNumericValue { + get { jsObject[Strings.ay].fromJSValue()! } + set { jsObject[Strings.ay] = _toJSValue(newValue) } + } } public class CSSStyleDeclaration: JSBridgedClass { @@ -1246,184 +1243,175 @@ public class CSSStyleDeclaration: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _cssText = ReadWriteAttribute(jsObject: jsObject, name: Strings.cssText) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _parentRule = ReadonlyAttribute(jsObject: jsObject, name: Strings.parentRule) - _cssFloat = ReadWriteAttribute(jsObject: jsObject, name: Strings.cssFloat) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var cssText: String + @inlinable public var cssText: String { + get { jsObject[Strings.cssText].fromJSValue()! } + set { jsObject[Strings.cssText] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> String { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> String { jsObject[key].fromJSValue()! } - @inlinable public func item(index: UInt32) -> String { + @inlinable final public func item(index: UInt32) -> String { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func getPropertyValue(property: String) -> String { + @inlinable final public func getPropertyValue(property: String) -> String { let this = jsObject return this[Strings.getPropertyValue].function!(this: this, arguments: [_toJSValue(property)]).fromJSValue()! } - @inlinable public func getPropertyPriority(property: String) -> String { + @inlinable final public func getPropertyPriority(property: String) -> String { let this = jsObject return this[Strings.getPropertyPriority].function!(this: this, arguments: [_toJSValue(property)]).fromJSValue()! } - @inlinable public func setProperty(property: String, value: String, priority: String? = nil) { + @inlinable final public func setProperty(property: String, value: String, priority: String? = nil) { let this = jsObject - _ = this[Strings.setProperty].function!(this: this, arguments: [_toJSValue(property), _toJSValue(value), _toJSValue(priority)]) + _ = this[Strings.setProperty].function!( + this: this, + arguments: [_toJSValue(property), _toJSValue(value), _toJSValue(priority)] + ) } - @inlinable public func removeProperty(property: String) -> String { + @inlinable final public func removeProperty(property: String) -> String { let this = jsObject return this[Strings.removeProperty].function!(this: this, arguments: [_toJSValue(property)]).fromJSValue()! } - @ReadonlyAttribute - public var parentRule: CSSRule? + @inlinable public var parentRule: CSSRule? { jsObject[Strings.parentRule].fromJSValue() } - @ReadWriteAttribute - public var cssFloat: String + @inlinable public var cssFloat: String { + get { jsObject[Strings.cssFloat].fromJSValue()! } + set { jsObject[Strings.cssFloat] = _toJSValue(newValue) } + } } public class CSSStyleRule: CSSRule { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSStyleRule].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSStyleRule].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _selectorText = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectorText) - _style = ReadonlyAttribute(jsObject: jsObject, name: Strings.style) - _styleMap = ReadonlyAttribute(jsObject: jsObject, name: Strings.styleMap) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var selectorText: String + @inlinable public var selectorText: String { + get { jsObject[Strings.selectorText].fromJSValue()! } + set { jsObject[Strings.selectorText] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var style: CSSStyleDeclaration + @inlinable public var style: CSSStyleDeclaration { jsObject[Strings.style].fromJSValue()! } - @ReadonlyAttribute - public var styleMap: StylePropertyMap + @inlinable public var styleMap: StylePropertyMap { jsObject[Strings.styleMap].fromJSValue()! } } public class CSSStyleSheet: StyleSheet { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSStyleSheet].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSStyleSheet].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _ownerRule = ReadonlyAttribute(jsObject: jsObject, name: Strings.ownerRule) - _cssRules = ReadonlyAttribute(jsObject: jsObject, name: Strings.cssRules) - _rules = ReadonlyAttribute(jsObject: jsObject, name: Strings.rules) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(options: CSSStyleSheetInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(options)])) } - @ReadonlyAttribute - public var ownerRule: CSSRule? + @inlinable public var ownerRule: CSSRule? { jsObject[Strings.ownerRule].fromJSValue() } - @ReadonlyAttribute - public var cssRules: CSSRuleList + @inlinable public var cssRules: CSSRuleList { jsObject[Strings.cssRules].fromJSValue()! } - @inlinable public func insertRule(rule: String, index: UInt32? = nil) -> UInt32 { + @inlinable final public func insertRule(rule: String, index: UInt32? = nil) -> UInt32 { let this = jsObject - return this[Strings.insertRule].function!(this: this, arguments: [_toJSValue(rule), _toJSValue(index)]).fromJSValue()! + return this[Strings.insertRule].function!(this: this, arguments: [_toJSValue(rule), _toJSValue(index)]) + .fromJSValue()! } - @inlinable public func deleteRule(index: UInt32) { + @inlinable final public func deleteRule(index: UInt32) { let this = jsObject _ = this[Strings.deleteRule].function!(this: this, arguments: [_toJSValue(index)]) } - @inlinable public func replace(text: String) -> JSPromise { + @inlinable final public func replace(text: String) -> JSPromise { let this = jsObject return this[Strings.replace].function!(this: this, arguments: [_toJSValue(text)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func replace(text: String) async throws -> CSSStyleSheet { - let this = jsObject - let _promise: JSPromise = this[Strings.replace].function!(this: this, arguments: [_toJSValue(text)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func replace( + text: String + ) async throws(JSException) -> CSSStyleSheet { + let this = jsObject + let _promise: JSPromise = this[Strings.replace].function!(this: this, arguments: [_toJSValue(text)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func replaceSync(text: String) { + @inlinable final public func replaceSync(text: String) { let this = jsObject _ = this[Strings.replaceSync].function!(this: this, arguments: [_toJSValue(text)]) } - @ReadonlyAttribute - public var rules: CSSRuleList + @inlinable public var rules: CSSRuleList { jsObject[Strings.rules].fromJSValue()! } - @inlinable public func addRule(selector: String? = nil, style: String? = nil, index: UInt32? = nil) -> Int32 { + @inlinable final public func addRule(selector: String? = nil, style: String? = nil, index: UInt32? = nil) -> Int32 { let this = jsObject - return this[Strings.addRule].function!(this: this, arguments: [_toJSValue(selector), _toJSValue(style), _toJSValue(index)]).fromJSValue()! + return this[Strings.addRule].function!( + this: this, + arguments: [_toJSValue(selector), _toJSValue(style), _toJSValue(index)] + ).fromJSValue()! } - @inlinable public func removeRule(index: UInt32? = nil) { + @inlinable final public func removeRule(index: UInt32? = nil) { let this = jsObject _ = this[Strings.removeRule].function!(this: this, arguments: [_toJSValue(index)]) } } -public class CSSStyleSheetInit: BridgedDictionary { - public convenience init(baseURL: String, media: MediaList_or_String, disabled: Bool) { +open class CSSStyleSheetInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(baseURL: String? = nil, media: MediaList_or_String? = nil, disabled: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.baseURL] = _toJSValue(baseURL) object[Strings.media] = _toJSValue(media) object[Strings.disabled] = _toJSValue(disabled) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _baseURL = ReadWriteAttribute(jsObject: object, name: Strings.baseURL) - _media = ReadWriteAttribute(jsObject: object, name: Strings.media) - _disabled = ReadWriteAttribute(jsObject: object, name: Strings.disabled) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var baseURL: String - - @ReadWriteAttribute - public var media: MediaList_or_String + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var baseURL: String { + get { jsObject[Strings.baseURL].fromJSValue()! } + set { jsObject[Strings.baseURL] = _toJSValue(newValue) } + } + @inlinable public var media: MediaList_or_String { + get { jsObject[Strings.media].fromJSValue()! } + set { jsObject[Strings.media] = _toJSValue(newValue) } + } + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } } - public class CSSStyleValue: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CSSStyleValue].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public var description: String { - jsObject[Strings.toString]!().fromJSValue()! - } + @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } - @inlinable public class func parse(property: String, cssText: String) -> Self { + @inlinable public class func parse(property: String, cssText: String) -> CSSStyleValue { let this = constructor! - return this[Strings.parse].function!(this: this, arguments: [_toJSValue(property), _toJSValue(cssText)]).fromJSValue()! + return this[Strings.parse].function!(this: this, arguments: [_toJSValue(property), _toJSValue(cssText)]) + .fromJSValue()! } @inlinable public class func parseAll(property: String, cssText: String) -> [CSSStyleValue] { let this = constructor! - return this[Strings.parseAll].function!(this: this, arguments: [_toJSValue(property), _toJSValue(cssText)]).fromJSValue()! + return this[Strings.parseAll].function!(this: this, arguments: [_toJSValue(property), _toJSValue(cssText)]) + .fromJSValue()! } } @@ -1432,134 +1420,109 @@ public class CSSTransformComponent: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _is2D = ReadWriteAttribute(jsObject: jsObject, name: Strings.is2D) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public var description: String { - jsObject[Strings.toString]!().fromJSValue()! - } + @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } - @ReadWriteAttribute - public var is2D: Bool + @inlinable public var is2D: Bool { + get { jsObject[Strings.is2D].fromJSValue()! } + set { jsObject[Strings.is2D] = _toJSValue(newValue) } + } - @inlinable public func toMatrix() -> DOMMatrix { + @inlinable final public func toMatrix() -> DOMMatrix { let this = jsObject return this[Strings.toMatrix].function!(this: this, arguments: []).fromJSValue()! } } public class CSSTransformValue: CSSStyleValue, Sequence { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSTransformValue].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _is2D = ReadonlyAttribute(jsObject: jsObject, name: Strings.is2D) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.CSSTransformValue].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(transforms: [CSSTransformComponent]) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(transforms)])) } public typealias Element = CSSTransformComponent - public func makeIterator() -> ValueIterableIterator { - ValueIterableIterator(sequence: self) - } + public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } @inlinable public subscript(key: Int) -> CSSTransformComponent { - get { - jsObject[key].fromJSValue()! - } - set { - jsObject[key] = _toJSValue(newValue) - } + get { jsObject[key].fromJSValue()! } + set { jsObject[key] = _toJSValue(newValue) } } - @ReadonlyAttribute - public var is2D: Bool + @inlinable public var is2D: Bool { jsObject[Strings.is2D].fromJSValue()! } - @inlinable public func toMatrix() -> DOMMatrix { + @inlinable final public func toMatrix() -> DOMMatrix { let this = jsObject return this[Strings.toMatrix].function!(this: this, arguments: []).fromJSValue()! } } public class CSSTranslate: CSSTransformComponent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSTranslate].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSTranslate].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadWriteAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadWriteAttribute(jsObject: jsObject, name: Strings.y) - _z = ReadWriteAttribute(jsObject: jsObject, name: Strings.z) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(x: CSSNumericValue, y: CSSNumericValue, z: CSSNumericValue? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z)])) } - @ReadWriteAttribute - public var x: CSSNumericValue + @inlinable public var x: CSSNumericValue { + get { jsObject[Strings.x].fromJSValue()! } + set { jsObject[Strings.x] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var y: CSSNumericValue + @inlinable public var y: CSSNumericValue { + get { jsObject[Strings.y].fromJSValue()! } + set { jsObject[Strings.y] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var z: CSSNumericValue + @inlinable public var z: CSSNumericValue { + get { jsObject[Strings.z].fromJSValue()! } + set { jsObject[Strings.z] = _toJSValue(newValue) } + } } public class CSSUnitValue: CSSNumericValue { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSUnitValue].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSUnitValue].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _unit = ReadonlyAttribute(jsObject: jsObject, name: Strings.unit) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(value: Double, unit: String) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(value), _toJSValue(unit)])) } - @ReadWriteAttribute - public var value: Double + @inlinable public var value: Double { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var unit: String + @inlinable public var unit: String { jsObject[Strings.unit].fromJSValue()! } } public class CSSUnparsedValue: CSSStyleValue, Sequence { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSUnparsedValue].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSUnparsedValue].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(members: [CSSUnparsedSegment]) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(members)])) } public typealias Element = CSSUnparsedSegment - public func makeIterator() -> ValueIterableIterator { - ValueIterableIterator(sequence: self) - } + public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } @inlinable public subscript(key: Int) -> CSSUnparsedSegment { - get { - jsObject[key].fromJSValue()! - } - set { - jsObject[key] = _toJSValue(newValue) - } + get { jsObject[key].fromJSValue()! } + set { jsObject[key] = _toJSValue(newValue) } } } @@ -1568,21 +1531,18 @@ public class CSSVariableReferenceValue: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _variable = ReadWriteAttribute(jsObject: jsObject, name: Strings.variable) - _fallback = ReadonlyAttribute(jsObject: jsObject, name: Strings.fallback) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(variable: String, fallback: CSSUnparsedValue? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(variable), _toJSValue(fallback)])) } - @ReadWriteAttribute - public var variable: String + @inlinable public var variable: String { + get { jsObject[Strings.variable].fromJSValue()! } + set { jsObject[Strings.variable] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var fallback: CSSUnparsedValue? + @inlinable public var fallback: CSSUnparsedValue? { jsObject[Strings.fallback].fromJSValue() } } public class CaretPosition: JSBridgedClass { @@ -1590,258 +1550,251 @@ public class CaretPosition: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _offsetNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetNode) - _offset = ReadonlyAttribute(jsObject: jsObject, name: Strings.offset) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var offsetNode: Node + @inlinable public var offsetNode: Node { jsObject[Strings.offsetNode].fromJSValue()! } - @ReadonlyAttribute - public var offset: UInt32 + @inlinable public var offset: UInt32 { jsObject[Strings.offset].fromJSValue()! } - @inlinable public func getClientRect() -> DOMRect? { + @inlinable final public func getClientRect() -> DOMRect? { let this = jsObject return this[Strings.getClientRect].function!(this: this, arguments: []).fromJSValue() } } -public class CheckVisibilityOptions: BridgedDictionary { - public convenience init(checkOpacity: Bool, checkVisibilityCSS: Bool) { +open class CheckVisibilityOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(checkOpacity: Bool? = nil, checkVisibilityCSS: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.checkOpacity] = _toJSValue(checkOpacity) object[Strings.checkVisibilityCSS] = _toJSValue(checkVisibilityCSS) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _checkOpacity = ReadWriteAttribute(jsObject: object, name: Strings.checkOpacity) - _checkVisibilityCSS = ReadWriteAttribute(jsObject: object, name: Strings.checkVisibilityCSS) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var checkOpacity: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var checkVisibilityCSS: Bool + @inlinable public var checkOpacity: Bool { + get { jsObject[Strings.checkOpacity].fromJSValue()! } + set { jsObject[Strings.checkOpacity] = _toJSValue(newValue) } + } + @inlinable public var checkVisibilityCSS: Bool { + get { jsObject[Strings.checkVisibilityCSS].fromJSValue()! } + set { jsObject[Strings.checkVisibilityCSS] = _toJSValue(newValue) } + } } +open class ConvertCoordinateOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ConvertCoordinateOptions: BridgedDictionary { - public convenience init(fromBox: CSSBoxType, toBox: CSSBoxType) { + public convenience init(fromBox: CSSBoxType? = nil, toBox: CSSBoxType? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.fromBox] = _toJSValue(fromBox) object[Strings.toBox] = _toJSValue(toBox) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _fromBox = ReadWriteAttribute(jsObject: object, name: Strings.fromBox) - _toBox = ReadWriteAttribute(jsObject: object, name: Strings.toBox) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var fromBox: CSSBoxType + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var toBox: CSSBoxType + @inlinable public var fromBox: CSSBoxType { + get { jsObject[Strings.fromBox].fromJSValue()! } + set { jsObject[Strings.fromBox] = _toJSValue(newValue) } + } + @inlinable public var toBox: CSSBoxType { + get { jsObject[Strings.toBox].fromJSValue()! } + set { jsObject[Strings.toBox] = _toJSValue(newValue) } + } } -public extension DocumentOrShadowRoot { - @inlinable var styleSheets: StyleSheetList { jsObject[Strings.styleSheets].fromJSValue()! } +extension DocumentOrShadowRoot { + @inlinable public var styleSheets: StyleSheetList { jsObject[Strings.styleSheets].fromJSValue()! } - @inlinable var adoptedStyleSheets: [CSSStyleSheet] { + @inlinable public var adoptedStyleSheets: [CSSStyleSheet] { get { jsObject[Strings.adoptedStyleSheets].fromJSValue()! } - nonmutating set { jsObject[Strings.adoptedStyleSheets] = _toJSValue(newValue) } + set { jsObject[Strings.adoptedStyleSheets] = _toJSValue(newValue) } } } - public protocol ElementCSSInlineStyle: JSBridgedClass {} -public extension ElementCSSInlineStyle { - @inlinable var style: CSSStyleDeclaration { jsObject[Strings.style].fromJSValue()! } +extension ElementCSSInlineStyle { + @inlinable public var style: CSSStyleDeclaration { jsObject[Strings.style].fromJSValue()! } - @inlinable var attributeStyleMap: StylePropertyMap { jsObject[Strings.attributeStyleMap].fromJSValue()! } + @inlinable public var attributeStyleMap: StylePropertyMap { jsObject[Strings.attributeStyleMap].fromJSValue()! } } - extension MathMLElement: ElementCSSInlineStyle {} extension SVGElement: ElementCSSInlineStyle {} public protocol GeometryUtils: JSBridgedClass {} -public extension GeometryUtils { - @inlinable func getBoxQuads(options: BoxQuadOptions? = nil) -> [DOMQuad] { +extension GeometryUtils { + @inlinable public func getBoxQuads(options: BoxQuadOptions? = nil) -> [DOMQuad] { let this = jsObject return this[Strings.getBoxQuads].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable func convertQuadFromNode(quad: DOMQuadInit, from: GeometryNode, options: ConvertCoordinateOptions? = nil) -> DOMQuad { + @inlinable public func convertQuadFromNode( + quad: DOMQuadInit, + from: GeometryNode, + options: ConvertCoordinateOptions? = nil + ) -> DOMQuad { let this = jsObject - return this[Strings.convertQuadFromNode].function!(this: this, arguments: [_toJSValue(quad), _toJSValue(from), _toJSValue(options)]).fromJSValue()! + return this[Strings.convertQuadFromNode].function!( + this: this, + arguments: [_toJSValue(quad), _toJSValue(from), _toJSValue(options)] + ).fromJSValue()! } - @inlinable func convertRectFromNode(rect: DOMRectReadOnly, from: GeometryNode, options: ConvertCoordinateOptions? = nil) -> DOMQuad { + @inlinable public func convertRectFromNode( + rect: DOMRectReadOnly, + from: GeometryNode, + options: ConvertCoordinateOptions? = nil + ) -> DOMQuad { let this = jsObject - return this[Strings.convertRectFromNode].function!(this: this, arguments: [_toJSValue(rect), _toJSValue(from), _toJSValue(options)]).fromJSValue()! + return this[Strings.convertRectFromNode].function!( + this: this, + arguments: [_toJSValue(rect), _toJSValue(from), _toJSValue(options)] + ).fromJSValue()! } - @inlinable func convertPointFromNode(point: DOMPointInit, from: GeometryNode, options: ConvertCoordinateOptions? = nil) -> DOMPoint { + @inlinable public func convertPointFromNode( + point: DOMPointInit, + from: GeometryNode, + options: ConvertCoordinateOptions? = nil + ) -> DOMPoint { let this = jsObject - return this[Strings.convertPointFromNode].function!(this: this, arguments: [_toJSValue(point), _toJSValue(from), _toJSValue(options)]).fromJSValue()! + return this[Strings.convertPointFromNode].function!( + this: this, + arguments: [_toJSValue(point), _toJSValue(from), _toJSValue(options)] + ).fromJSValue()! } } - extension CSSPseudoElement: GeometryUtils {} extension Text: GeometryUtils {} public protocol LinkStyle: JSBridgedClass {} -public extension LinkStyle { - @inlinable var sheet: CSSStyleSheet? { jsObject[Strings.sheet].fromJSValue() } -} - +extension LinkStyle { @inlinable public var sheet: CSSStyleSheet? { jsObject[Strings.sheet].fromJSValue() } } public class MediaList: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.MediaList].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _mediaText = ReadWriteAttribute(jsObject: jsObject, name: Strings.mediaText) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var mediaText: String + @inlinable public var mediaText: String { + get { jsObject[Strings.mediaText].fromJSValue()! } + set { jsObject[Strings.mediaText] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> String? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> String? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> String? { + @inlinable final public func item(index: UInt32) -> String? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public func appendMedium(medium: String) { + @inlinable final public func appendMedium(medium: String) { let this = jsObject _ = this[Strings.appendMedium].function!(this: this, arguments: [_toJSValue(medium)]) } - @inlinable public func deleteMedium(medium: String) { + @inlinable final public func deleteMedium(medium: String) { let this = jsObject _ = this[Strings.deleteMedium].function!(this: this, arguments: [_toJSValue(medium)]) } } public class MediaQueryList: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaQueryList].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaQueryList].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _media = ReadonlyAttribute(jsObject: jsObject, name: Strings.media) - _matches = ReadonlyAttribute(jsObject: jsObject, name: Strings.matches) - _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var media: String + @inlinable public var media: String { jsObject[Strings.media].fromJSValue()! } - @ReadonlyAttribute - public var matches: Bool + @inlinable public var matches: Bool { jsObject[Strings.matches].fromJSValue()! } - @inlinable public func addListener(callback: EventListener?) { + @inlinable final public func addListener(callback: EventListener?) { let this = jsObject _ = this[Strings.addListener].function!(this: this, arguments: [_toJSValue(callback)]) } - @inlinable public func removeListener(callback: EventListener?) { + @inlinable final public func removeListener(callback: EventListener?) { let this = jsObject _ = this[Strings.removeListener].function!(this: this, arguments: [_toJSValue(callback)]) } - @ClosureAttribute1Optional - public var onchange: EventHandler + @inlinable public var onchange: EventHandler { + get { + guard let function = jsObject[Strings.onchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onchange] = .null + } + } + } } public class MediaQueryListEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaQueryListEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _media = ReadonlyAttribute(jsObject: jsObject, name: Strings.media) - _matches = ReadonlyAttribute(jsObject: jsObject, name: Strings.matches) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.MediaQueryListEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: MediaQueryListEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var media: String + @inlinable public var media: String { jsObject[Strings.media].fromJSValue()! } - @ReadonlyAttribute - public var matches: Bool + @inlinable public var matches: Bool { jsObject[Strings.matches].fromJSValue()! } } -public class MediaQueryListEventInit: BridgedDictionary { - public convenience init(media: String, matches: Bool) { +open class MediaQueryListEventInit: EventInit { + + public convenience init(media: String? = nil, matches: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.media] = _toJSValue(media) object[Strings.matches] = _toJSValue(matches) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _media = ReadWriteAttribute(jsObject: object, name: Strings.media) - _matches = ReadWriteAttribute(jsObject: object, name: Strings.matches) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var media: String + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var matches: Bool + @inlinable public var media: String { + get { jsObject[Strings.media].fromJSValue()! } + set { jsObject[Strings.media] = _toJSValue(newValue) } + } + @inlinable public var matches: Bool { + get { jsObject[Strings.matches].fromJSValue()! } + set { jsObject[Strings.matches] = _toJSValue(newValue) } + } } - public class Screen: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Screen].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _availWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.availWidth) - _availHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.availHeight) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _colorDepth = ReadonlyAttribute(jsObject: jsObject, name: Strings.colorDepth) - _pixelDepth = ReadonlyAttribute(jsObject: jsObject, name: Strings.pixelDepth) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var availWidth: Int32 + @inlinable public var availWidth: Int32 { jsObject[Strings.availWidth].fromJSValue()! } - @ReadonlyAttribute - public var availHeight: Int32 + @inlinable public var availHeight: Int32 { jsObject[Strings.availHeight].fromJSValue()! } - @ReadonlyAttribute - public var width: Int32 + @inlinable public var width: Int32 { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: Int32 + @inlinable public var height: Int32 { jsObject[Strings.height].fromJSValue()! } - @ReadonlyAttribute - public var colorDepth: UInt32 + @inlinable public var colorDepth: UInt32 { jsObject[Strings.colorDepth].fromJSValue()! } - @ReadonlyAttribute - public var pixelDepth: UInt32 + @inlinable public var pixelDepth: UInt32 { jsObject[Strings.pixelDepth].fromJSValue()! } } public enum ScrollBehavior: JSString, JSValueCompatible { @@ -1850,40 +1803,40 @@ public enum ScrollBehavior: JSString, JSValueCompatible { case smooth = "smooth" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class ScrollIntoViewOptions: ScrollOptions { -public class ScrollIntoViewOptions: BridgedDictionary { - public convenience init(block: ScrollLogicalPosition, inline: ScrollLogicalPosition) { + public convenience init( + behavior: ScrollBehavior? = nil, + block: ScrollLogicalPosition? = nil, + inline: ScrollLogicalPosition? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.behavior] = _toJSValue(behavior) object[Strings.block] = _toJSValue(block) object[Strings.inline] = _toJSValue(inline) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _block = ReadWriteAttribute(jsObject: object, name: Strings.block) - _inline = ReadWriteAttribute(jsObject: object, name: Strings.inline) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var block: ScrollLogicalPosition + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var inline: ScrollLogicalPosition + @inlinable public var block: ScrollLogicalPosition { + get { jsObject[Strings.block].fromJSValue()! } + set { jsObject[Strings.block] = _toJSValue(newValue) } + } + @inlinable public var inline: ScrollLogicalPosition { + get { jsObject[Strings.inline].fromJSValue()! } + set { jsObject[Strings.inline] = _toJSValue(newValue) } + } } - public enum ScrollLogicalPosition: JSString, JSValueCompatible { case start = "start" case center = "center" @@ -1891,79 +1844,74 @@ public enum ScrollLogicalPosition: JSString, JSValueCompatible { case nearest = "nearest" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class ScrollOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ScrollOptions: BridgedDictionary { - public convenience init(behavior: ScrollBehavior) { + public convenience init(behavior: ScrollBehavior? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.behavior] = _toJSValue(behavior) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _behavior = ReadWriteAttribute(jsObject: object, name: Strings.behavior) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var behavior: ScrollBehavior + @inlinable public var behavior: ScrollBehavior { + get { jsObject[Strings.behavior].fromJSValue()! } + set { jsObject[Strings.behavior] = _toJSValue(newValue) } + } } +open class ScrollToOptions: ScrollOptions { -public class ScrollToOptions: BridgedDictionary { - public convenience init(left: Double, top: Double) { + public convenience init(behavior: ScrollBehavior? = nil, left: Double? = nil, top: Double? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.behavior] = _toJSValue(behavior) object[Strings.left] = _toJSValue(left) object[Strings.top] = _toJSValue(top) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _left = ReadWriteAttribute(jsObject: object, name: Strings.left) - _top = ReadWriteAttribute(jsObject: object, name: Strings.top) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var left: Double + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var top: Double + @inlinable public var left: Double { + get { jsObject[Strings.left].fromJSValue()! } + set { jsObject[Strings.left] = _toJSValue(newValue) } + } + @inlinable public var top: Double { + get { jsObject[Strings.top].fromJSValue()! } + set { jsObject[Strings.top] = _toJSValue(newValue) } + } } - public class StylePropertyMap: StylePropertyMapReadOnly { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.StylePropertyMap].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.StylePropertyMap].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public func set(property: String, values: CSSStyleValue_or_String...) { + @inlinable final public func set(property: String, values: CSSStyleValue_or_String...) { let this = jsObject _ = this[Strings.set].function!(this: this, arguments: [_toJSValue(property)] + values.map(_toJSValue)) } - @inlinable public func append(property: String, values: CSSStyleValue_or_String...) { + @inlinable final public func append(property: String, values: CSSStyleValue_or_String...) { let this = jsObject _ = this[Strings.append].function!(this: this, arguments: [_toJSValue(property)] + values.map(_toJSValue)) } - @inlinable public func delete(property: String) { + @inlinable final public func delete(property: String) { let this = jsObject _ = this[Strings.delete].function!(this: this, arguments: [_toJSValue(property)]) } - @inlinable public func clear() { + @inlinable final public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } @@ -1974,10 +1922,7 @@ public class StylePropertyMapReadOnly: JSBridgedClass, Sequence { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } public typealias Element = String public func makeIterator() -> ValueIterableIterator { @@ -1985,23 +1930,22 @@ public class StylePropertyMapReadOnly: JSBridgedClass, Sequence { } // TODO: remove patch once https://github.com/w3c/css-houdini-drafts/issues/1095 is fixed - @inlinable public func get(property: String) -> CSSStyleValue? { + @inlinable final public func get(property: String) -> CSSStyleValue? { let this = jsObject return this[Strings.get].function!(this: this, arguments: [_toJSValue(property)]).fromJSValue() } - @inlinable public func getAll(property: String) -> [CSSStyleValue] { + @inlinable final public func getAll(property: String) -> [CSSStyleValue] { let this = jsObject return this[Strings.getAll].function!(this: this, arguments: [_toJSValue(property)]).fromJSValue()! } - @inlinable public func has(property: String) -> Bool { + @inlinable final public func has(property: String) -> Bool { let this = jsObject return this[Strings.has].function!(this: this, arguments: [_toJSValue(property)]).fromJSValue()! } - @ReadonlyAttribute - public var size: UInt32 + @inlinable public var size: UInt32 { jsObject[Strings.size].fromJSValue()! } } public class StyleSheet: JSBridgedClass { @@ -2009,37 +1953,24 @@ public class StyleSheet: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _href = ReadonlyAttribute(jsObject: jsObject, name: Strings.href) - _ownerNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.ownerNode) - _parentStyleSheet = ReadonlyAttribute(jsObject: jsObject, name: Strings.parentStyleSheet) - _title = ReadonlyAttribute(jsObject: jsObject, name: Strings.title) - _media = ReadonlyAttribute(jsObject: jsObject, name: Strings.media) - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var href: String? + @inlinable public var href: String? { jsObject[Strings.href].fromJSValue() } - @ReadonlyAttribute - public var ownerNode: Element_or_ProcessingInstruction? + @inlinable public var ownerNode: Element_or_ProcessingInstruction? { jsObject[Strings.ownerNode].fromJSValue() } - @ReadonlyAttribute - public var parentStyleSheet: CSSStyleSheet? + @inlinable public var parentStyleSheet: CSSStyleSheet? { jsObject[Strings.parentStyleSheet].fromJSValue() } - @ReadonlyAttribute - public var title: String? + @inlinable public var title: String? { jsObject[Strings.title].fromJSValue() } - @ReadonlyAttribute - public var media: MediaList + @inlinable public var media: MediaList { jsObject[Strings.media].fromJSValue()! } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } } public class StyleSheetList: JSBridgedClass { @@ -2047,326 +1978,333 @@ public class StyleSheetList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public subscript(key: Int) -> CSSStyleSheet? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> CSSStyleSheet? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> CSSStyleSheet? { + @inlinable final public func item(index: UInt32) -> CSSStyleSheet? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } } public typealias CSSColorPercent = CSSColorRGBComp public typealias CSSColorNumber = CSSColorRGBComp public typealias CSSColorAngle = CSSColorRGBComp public class VisualViewport: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VisualViewport].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.VisualViewport].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _offsetLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetLeft) - _offsetTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetTop) - _pageLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageLeft) - _pageTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageTop) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _scale = ReadonlyAttribute(jsObject: jsObject, name: Strings.scale) - _onresize = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onresize) - _onscroll = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onscroll) - _onscrollend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onscrollend) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var offsetLeft: Double + @inlinable public var offsetLeft: Double { jsObject[Strings.offsetLeft].fromJSValue()! } - @ReadonlyAttribute - public var offsetTop: Double + @inlinable public var offsetTop: Double { jsObject[Strings.offsetTop].fromJSValue()! } - @ReadonlyAttribute - public var pageLeft: Double + @inlinable public var pageLeft: Double { jsObject[Strings.pageLeft].fromJSValue()! } - @ReadonlyAttribute - public var pageTop: Double + @inlinable public var pageTop: Double { jsObject[Strings.pageTop].fromJSValue()! } - @ReadonlyAttribute - public var width: Double + @inlinable public var width: Double { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: Double + @inlinable public var height: Double { jsObject[Strings.height].fromJSValue()! } - @ReadonlyAttribute - public var scale: Double + @inlinable public var scale: Double { jsObject[Strings.scale].fromJSValue()! } - @ClosureAttribute1Optional - public var onresize: EventHandler + @inlinable public var onresize: EventHandler { + get { + guard let function = jsObject[Strings.onresize].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onresize] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onresize] = .null + } + } + } - @ClosureAttribute1Optional - public var onscroll: EventHandler + @inlinable public var onscroll: EventHandler { + get { + guard let function = jsObject[Strings.onscroll].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onscroll] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onscroll] = .null + } + } + } - @ClosureAttribute1Optional - public var onscrollend: EventHandler + @inlinable public var onscrollend: EventHandler { + get { + guard let function = jsObject[Strings.onscrollend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onscrollend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onscrollend] = .null + } + } + } } @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let CSS: JSString = "CSS" - @usableFromInline static let CSSColor: JSString = "CSSColor" - @usableFromInline static let CSSColorValue: JSString = "CSSColorValue" - @usableFromInline static let CSSGroupingRule: JSString = "CSSGroupingRule" - @usableFromInline static let CSSHSL: JSString = "CSSHSL" - @usableFromInline static let CSSHWB: JSString = "CSSHWB" - @usableFromInline static let CSSImageValue: JSString = "CSSImageValue" - @usableFromInline static let CSSImportRule: JSString = "CSSImportRule" - @usableFromInline static let CSSKeywordValue: JSString = "CSSKeywordValue" - @usableFromInline static let CSSLCH: JSString = "CSSLCH" - @usableFromInline static let CSSLab: JSString = "CSSLab" - @usableFromInline static let CSSMarginRule: JSString = "CSSMarginRule" - @usableFromInline static let CSSMathClamp: JSString = "CSSMathClamp" - @usableFromInline static let CSSMathInvert: JSString = "CSSMathInvert" - @usableFromInline static let CSSMathMax: JSString = "CSSMathMax" - @usableFromInline static let CSSMathMin: JSString = "CSSMathMin" - @usableFromInline static let CSSMathNegate: JSString = "CSSMathNegate" - @usableFromInline static let CSSMathProduct: JSString = "CSSMathProduct" - @usableFromInline static let CSSMathSum: JSString = "CSSMathSum" - @usableFromInline static let CSSMathValue: JSString = "CSSMathValue" - @usableFromInline static let CSSMatrixComponent: JSString = "CSSMatrixComponent" - @usableFromInline static let CSSNamespaceRule: JSString = "CSSNamespaceRule" - @usableFromInline static let CSSNumericArray: JSString = "CSSNumericArray" - @usableFromInline static let CSSNumericValue: JSString = "CSSNumericValue" - @usableFromInline static let CSSOKLCH: JSString = "CSSOKLCH" - @usableFromInline static let CSSOKLab: JSString = "CSSOKLab" - @usableFromInline static let CSSPageRule: JSString = "CSSPageRule" - @usableFromInline static let CSSPerspective: JSString = "CSSPerspective" - @usableFromInline static let CSSRGB: JSString = "CSSRGB" - @usableFromInline static let CSSRotate: JSString = "CSSRotate" - @usableFromInline static let CSSRule: JSString = "CSSRule" - @usableFromInline static let CSSRuleList: JSString = "CSSRuleList" - @usableFromInline static let CSSScale: JSString = "CSSScale" - @usableFromInline static let CSSSkew: JSString = "CSSSkew" - @usableFromInline static let CSSSkewX: JSString = "CSSSkewX" - @usableFromInline static let CSSSkewY: JSString = "CSSSkewY" - @usableFromInline static let CSSStyleDeclaration: JSString = "CSSStyleDeclaration" - @usableFromInline static let CSSStyleRule: JSString = "CSSStyleRule" - @usableFromInline static let CSSStyleSheet: JSString = "CSSStyleSheet" - @usableFromInline static let CSSStyleValue: JSString = "CSSStyleValue" - @usableFromInline static let CSSTransformComponent: JSString = "CSSTransformComponent" - @usableFromInline static let CSSTransformValue: JSString = "CSSTransformValue" - @usableFromInline static let CSSTranslate: JSString = "CSSTranslate" - @usableFromInline static let CSSUnitValue: JSString = "CSSUnitValue" - @usableFromInline static let CSSUnparsedValue: JSString = "CSSUnparsedValue" - @usableFromInline static let CSSVariableReferenceValue: JSString = "CSSVariableReferenceValue" - @usableFromInline static let CaretPosition: JSString = "CaretPosition" - @usableFromInline static let Hz: JSString = "Hz" - @usableFromInline static let MediaList: JSString = "MediaList" - @usableFromInline static let MediaQueryList: JSString = "MediaQueryList" - @usableFromInline static let MediaQueryListEvent: JSString = "MediaQueryListEvent" - @usableFromInline static let Object: JSString = "Object" - @usableFromInline static let Q: JSString = "Q" - @usableFromInline static let Screen: JSString = "Screen" - @usableFromInline static let StylePropertyMap: JSString = "StylePropertyMap" - @usableFromInline static let StylePropertyMapReadOnly: JSString = "StylePropertyMapReadOnly" - @usableFromInline static let StyleSheet: JSString = "StyleSheet" - @usableFromInline static let StyleSheetList: JSString = "StyleSheetList" - @usableFromInline static let VisualViewport: JSString = "VisualViewport" - @usableFromInline static let a: JSString = "a" - @usableFromInline static let add: JSString = "add" - @usableFromInline static let addListener: JSString = "addListener" - @usableFromInline static let addRule: JSString = "addRule" - @usableFromInline static let adoptedStyleSheets: JSString = "adoptedStyleSheets" - @usableFromInline static let alpha: JSString = "alpha" - @usableFromInline static let angle: JSString = "angle" - @usableFromInline static let append: JSString = "append" - @usableFromInline static let appendMedium: JSString = "appendMedium" - @usableFromInline static let attributeStyleMap: JSString = "attributeStyleMap" - @usableFromInline static let availHeight: JSString = "availHeight" - @usableFromInline static let availWidth: JSString = "availWidth" - @usableFromInline static let ax: JSString = "ax" - @usableFromInline static let ay: JSString = "ay" - @usableFromInline static let b: JSString = "b" - @usableFromInline static let baseURL: JSString = "baseURL" - @usableFromInline static let behavior: JSString = "behavior" - @usableFromInline static let block: JSString = "block" - @usableFromInline static let box: JSString = "box" - @usableFromInline static let c: JSString = "c" - @usableFromInline static let ch: JSString = "ch" - @usableFromInline static let channels: JSString = "channels" - @usableFromInline static let checkOpacity: JSString = "checkOpacity" - @usableFromInline static let checkVisibilityCSS: JSString = "checkVisibilityCSS" - @usableFromInline static let clear: JSString = "clear" - @usableFromInline static let cm: JSString = "cm" - @usableFromInline static let colorDepth: JSString = "colorDepth" - @usableFromInline static let colorSpace: JSString = "colorSpace" - @usableFromInline static let convertPointFromNode: JSString = "convertPointFromNode" - @usableFromInline static let convertQuadFromNode: JSString = "convertQuadFromNode" - @usableFromInline static let convertRectFromNode: JSString = "convertRectFromNode" - @usableFromInline static let cqb: JSString = "cqb" - @usableFromInline static let cqh: JSString = "cqh" - @usableFromInline static let cqi: JSString = "cqi" - @usableFromInline static let cqmax: JSString = "cqmax" - @usableFromInline static let cqmin: JSString = "cqmin" - @usableFromInline static let cqw: JSString = "cqw" - @usableFromInline static let cssFloat: JSString = "cssFloat" - @usableFromInline static let cssRules: JSString = "cssRules" - @usableFromInline static let cssText: JSString = "cssText" - @usableFromInline static let deg: JSString = "deg" - @usableFromInline static let delete: JSString = "delete" - @usableFromInline static let deleteMedium: JSString = "deleteMedium" - @usableFromInline static let deleteRule: JSString = "deleteRule" - @usableFromInline static let disabled: JSString = "disabled" - @usableFromInline static let div: JSString = "div" - @usableFromInline static let dpcm: JSString = "dpcm" - @usableFromInline static let dpi: JSString = "dpi" - @usableFromInline static let dppx: JSString = "dppx" - @usableFromInline static let dvb: JSString = "dvb" - @usableFromInline static let dvh: JSString = "dvh" - @usableFromInline static let dvi: JSString = "dvi" - @usableFromInline static let dvmax: JSString = "dvmax" - @usableFromInline static let dvmin: JSString = "dvmin" - @usableFromInline static let dvw: JSString = "dvw" - @usableFromInline static let em: JSString = "em" - @usableFromInline static let equals: JSString = "equals" - @usableFromInline static let escape: JSString = "escape" - @usableFromInline static let ex: JSString = "ex" - @usableFromInline static let fallback: JSString = "fallback" - @usableFromInline static let flex: JSString = "flex" - @usableFromInline static let fr: JSString = "fr" - @usableFromInline static let frequency: JSString = "frequency" - @usableFromInline static let fromBox: JSString = "fromBox" - @usableFromInline static let g: JSString = "g" - @usableFromInline static let get: JSString = "get" - @usableFromInline static let getAll: JSString = "getAll" - @usableFromInline static let getBoxQuads: JSString = "getBoxQuads" - @usableFromInline static let getClientRect: JSString = "getClientRect" - @usableFromInline static let getPropertyPriority: JSString = "getPropertyPriority" - @usableFromInline static let getPropertyValue: JSString = "getPropertyValue" - @usableFromInline static let grad: JSString = "grad" - @usableFromInline static let h: JSString = "h" - @usableFromInline static let has: JSString = "has" - @usableFromInline static let height: JSString = "height" - @usableFromInline static let href: JSString = "href" - @usableFromInline static let ic: JSString = "ic" + @usableFromInline static let `CSS`: JSString = "CSS" + @usableFromInline static let `CSSColor`: JSString = "CSSColor" + @usableFromInline static let `CSSColorValue`: JSString = "CSSColorValue" + @usableFromInline static let `CSSGroupingRule`: JSString = "CSSGroupingRule" + @usableFromInline static let `CSSHSL`: JSString = "CSSHSL" + @usableFromInline static let `CSSHWB`: JSString = "CSSHWB" + @usableFromInline static let `CSSImageValue`: JSString = "CSSImageValue" + @usableFromInline static let `CSSImportRule`: JSString = "CSSImportRule" + @usableFromInline static let `CSSKeywordValue`: JSString = "CSSKeywordValue" + @usableFromInline static let `CSSLCH`: JSString = "CSSLCH" + @usableFromInline static let `CSSLab`: JSString = "CSSLab" + @usableFromInline static let `CSSMarginRule`: JSString = "CSSMarginRule" + @usableFromInline static let `CSSMathClamp`: JSString = "CSSMathClamp" + @usableFromInline static let `CSSMathInvert`: JSString = "CSSMathInvert" + @usableFromInline static let `CSSMathMax`: JSString = "CSSMathMax" + @usableFromInline static let `CSSMathMin`: JSString = "CSSMathMin" + @usableFromInline static let `CSSMathNegate`: JSString = "CSSMathNegate" + @usableFromInline static let `CSSMathProduct`: JSString = "CSSMathProduct" + @usableFromInline static let `CSSMathSum`: JSString = "CSSMathSum" + @usableFromInline static let `CSSMathValue`: JSString = "CSSMathValue" + @usableFromInline static let `CSSMatrixComponent`: JSString = "CSSMatrixComponent" + @usableFromInline static let `CSSNamespaceRule`: JSString = "CSSNamespaceRule" + @usableFromInline static let `CSSNumericArray`: JSString = "CSSNumericArray" + @usableFromInline static let `CSSNumericValue`: JSString = "CSSNumericValue" + @usableFromInline static let `CSSOKLCH`: JSString = "CSSOKLCH" + @usableFromInline static let `CSSOKLab`: JSString = "CSSOKLab" + @usableFromInline static let `CSSPageRule`: JSString = "CSSPageRule" + @usableFromInline static let `CSSPerspective`: JSString = "CSSPerspective" + @usableFromInline static let `CSSRGB`: JSString = "CSSRGB" + @usableFromInline static let `CSSRotate`: JSString = "CSSRotate" + @usableFromInline static let `CSSRule`: JSString = "CSSRule" + @usableFromInline static let `CSSRuleList`: JSString = "CSSRuleList" + @usableFromInline static let `CSSScale`: JSString = "CSSScale" + @usableFromInline static let `CSSSkew`: JSString = "CSSSkew" + @usableFromInline static let `CSSSkewX`: JSString = "CSSSkewX" + @usableFromInline static let `CSSSkewY`: JSString = "CSSSkewY" + @usableFromInline static let `CSSStyleDeclaration`: JSString = "CSSStyleDeclaration" + @usableFromInline static let `CSSStyleRule`: JSString = "CSSStyleRule" + @usableFromInline static let `CSSStyleSheet`: JSString = "CSSStyleSheet" + @usableFromInline static let `CSSStyleValue`: JSString = "CSSStyleValue" + @usableFromInline static let `CSSTransformComponent`: JSString = "CSSTransformComponent" + @usableFromInline static let `CSSTransformValue`: JSString = "CSSTransformValue" + @usableFromInline static let `CSSTranslate`: JSString = "CSSTranslate" + @usableFromInline static let `CSSUnitValue`: JSString = "CSSUnitValue" + @usableFromInline static let `CSSUnparsedValue`: JSString = "CSSUnparsedValue" + @usableFromInline static let `CSSVariableReferenceValue`: JSString = "CSSVariableReferenceValue" + @usableFromInline static let `CaretPosition`: JSString = "CaretPosition" + @usableFromInline static let `Hz`: JSString = "Hz" + @usableFromInline static let `MediaList`: JSString = "MediaList" + @usableFromInline static let `MediaQueryList`: JSString = "MediaQueryList" + @usableFromInline static let `MediaQueryListEvent`: JSString = "MediaQueryListEvent" + @usableFromInline static let `Object`: JSString = "Object" + @usableFromInline static let `Q`: JSString = "Q" + @usableFromInline static let `Screen`: JSString = "Screen" + @usableFromInline static let `StylePropertyMap`: JSString = "StylePropertyMap" + @usableFromInline static let `StylePropertyMapReadOnly`: JSString = "StylePropertyMapReadOnly" + @usableFromInline static let `StyleSheet`: JSString = "StyleSheet" + @usableFromInline static let `StyleSheetList`: JSString = "StyleSheetList" + @usableFromInline static let `VisualViewport`: JSString = "VisualViewport" + @usableFromInline static let `a`: JSString = "a" + @usableFromInline static let `add`: JSString = "add" + @usableFromInline static let `addListener`: JSString = "addListener" + @usableFromInline static let `addRule`: JSString = "addRule" + @usableFromInline static let `adoptedStyleSheets`: JSString = "adoptedStyleSheets" + @usableFromInline static let `alpha`: JSString = "alpha" + @usableFromInline static let `angle`: JSString = "angle" + @usableFromInline static let `append`: JSString = "append" + @usableFromInline static let `appendMedium`: JSString = "appendMedium" + @usableFromInline static let `attributeStyleMap`: JSString = "attributeStyleMap" + @usableFromInline static let `availHeight`: JSString = "availHeight" + @usableFromInline static let `availWidth`: JSString = "availWidth" + @usableFromInline static let `ax`: JSString = "ax" + @usableFromInline static let `ay`: JSString = "ay" + @usableFromInline static let `b`: JSString = "b" + @usableFromInline static let `baseURL`: JSString = "baseURL" + @usableFromInline static let `behavior`: JSString = "behavior" + @usableFromInline static let `block`: JSString = "block" + @usableFromInline static let `box`: JSString = "box" + @usableFromInline static let `c`: JSString = "c" + @usableFromInline static let `ch`: JSString = "ch" + @usableFromInline static let `channels`: JSString = "channels" + @usableFromInline static let `checkOpacity`: JSString = "checkOpacity" + @usableFromInline static let `checkVisibilityCSS`: JSString = "checkVisibilityCSS" + @usableFromInline static let `clear`: JSString = "clear" + @usableFromInline static let `cm`: JSString = "cm" + @usableFromInline static let `colorDepth`: JSString = "colorDepth" + @usableFromInline static let `colorSpace`: JSString = "colorSpace" + @usableFromInline static let `convertPointFromNode`: JSString = "convertPointFromNode" + @usableFromInline static let `convertQuadFromNode`: JSString = "convertQuadFromNode" + @usableFromInline static let `convertRectFromNode`: JSString = "convertRectFromNode" + @usableFromInline static let `cqb`: JSString = "cqb" + @usableFromInline static let `cqh`: JSString = "cqh" + @usableFromInline static let `cqi`: JSString = "cqi" + @usableFromInline static let `cqmax`: JSString = "cqmax" + @usableFromInline static let `cqmin`: JSString = "cqmin" + @usableFromInline static let `cqw`: JSString = "cqw" + @usableFromInline static let `cssFloat`: JSString = "cssFloat" + @usableFromInline static let `cssRules`: JSString = "cssRules" + @usableFromInline static let `cssText`: JSString = "cssText" + @usableFromInline static let `deg`: JSString = "deg" + @usableFromInline static let `delete`: JSString = "delete" + @usableFromInline static let `deleteMedium`: JSString = "deleteMedium" + @usableFromInline static let `deleteRule`: JSString = "deleteRule" + @usableFromInline static let `disabled`: JSString = "disabled" + @usableFromInline static let `div`: JSString = "div" + @usableFromInline static let `dpcm`: JSString = "dpcm" + @usableFromInline static let `dpi`: JSString = "dpi" + @usableFromInline static let `dppx`: JSString = "dppx" + @usableFromInline static let `dvb`: JSString = "dvb" + @usableFromInline static let `dvh`: JSString = "dvh" + @usableFromInline static let `dvi`: JSString = "dvi" + @usableFromInline static let `dvmax`: JSString = "dvmax" + @usableFromInline static let `dvmin`: JSString = "dvmin" + @usableFromInline static let `dvw`: JSString = "dvw" + @usableFromInline static let `em`: JSString = "em" + @usableFromInline static let `equals`: JSString = "equals" + @usableFromInline static let `escape`: JSString = "escape" + @usableFromInline static let `ex`: JSString = "ex" + @usableFromInline static let `fallback`: JSString = "fallback" + @usableFromInline static let `flex`: JSString = "flex" + @usableFromInline static let `fr`: JSString = "fr" + @usableFromInline static let `frequency`: JSString = "frequency" + @usableFromInline static let `fromBox`: JSString = "fromBox" + @usableFromInline static let `g`: JSString = "g" + @usableFromInline static let `get`: JSString = "get" + @usableFromInline static let `getAll`: JSString = "getAll" + @usableFromInline static let `getBoxQuads`: JSString = "getBoxQuads" + @usableFromInline static let `getClientRect`: JSString = "getClientRect" + @usableFromInline static let `getPropertyPriority`: JSString = "getPropertyPriority" + @usableFromInline static let `getPropertyValue`: JSString = "getPropertyValue" + @usableFromInline static let `grad`: JSString = "grad" + @usableFromInline static let `h`: JSString = "h" + @usableFromInline static let `has`: JSString = "has" + @usableFromInline static let `height`: JSString = "height" + @usableFromInline static let `href`: JSString = "href" + @usableFromInline static let `ic`: JSString = "ic" @usableFromInline static let `in`: JSString = "in" - @usableFromInline static let inline: JSString = "inline" - @usableFromInline static let insertRule: JSString = "insertRule" - @usableFromInline static let is2D: JSString = "is2D" - @usableFromInline static let item: JSString = "item" - @usableFromInline static let kHz: JSString = "kHz" - @usableFromInline static let l: JSString = "l" - @usableFromInline static let layerName: JSString = "layerName" - @usableFromInline static let left: JSString = "left" - @usableFromInline static let length: JSString = "length" - @usableFromInline static let lh: JSString = "lh" - @usableFromInline static let lower: JSString = "lower" - @usableFromInline static let lvb: JSString = "lvb" - @usableFromInline static let lvh: JSString = "lvh" - @usableFromInline static let lvi: JSString = "lvi" - @usableFromInline static let lvmax: JSString = "lvmax" - @usableFromInline static let lvmin: JSString = "lvmin" - @usableFromInline static let lvw: JSString = "lvw" - @usableFromInline static let matches: JSString = "matches" - @usableFromInline static let matrix: JSString = "matrix" - @usableFromInline static let max: JSString = "max" - @usableFromInline static let media: JSString = "media" - @usableFromInline static let mediaText: JSString = "mediaText" - @usableFromInline static let min: JSString = "min" - @usableFromInline static let mm: JSString = "mm" - @usableFromInline static let ms: JSString = "ms" - @usableFromInline static let mul: JSString = "mul" - @usableFromInline static let name: JSString = "name" - @usableFromInline static let namespaceURI: JSString = "namespaceURI" - @usableFromInline static let number: JSString = "number" - @usableFromInline static let offset: JSString = "offset" - @usableFromInline static let offsetLeft: JSString = "offsetLeft" - @usableFromInline static let offsetNode: JSString = "offsetNode" - @usableFromInline static let offsetTop: JSString = "offsetTop" - @usableFromInline static let onchange: JSString = "onchange" - @usableFromInline static let onresize: JSString = "onresize" - @usableFromInline static let onscroll: JSString = "onscroll" - @usableFromInline static let onscrollend: JSString = "onscrollend" + @usableFromInline static let `inline`: JSString = "inline" + @usableFromInline static let `insertRule`: JSString = "insertRule" + @usableFromInline static let `is2D`: JSString = "is2D" + @usableFromInline static let `item`: JSString = "item" + @usableFromInline static let `kHz`: JSString = "kHz" + @usableFromInline static let `l`: JSString = "l" + @usableFromInline static let `layerName`: JSString = "layerName" + @usableFromInline static let `left`: JSString = "left" + @usableFromInline static let `length`: JSString = "length" + @usableFromInline static let `lh`: JSString = "lh" + @usableFromInline static let `lower`: JSString = "lower" + @usableFromInline static let `lvb`: JSString = "lvb" + @usableFromInline static let `lvh`: JSString = "lvh" + @usableFromInline static let `lvi`: JSString = "lvi" + @usableFromInline static let `lvmax`: JSString = "lvmax" + @usableFromInline static let `lvmin`: JSString = "lvmin" + @usableFromInline static let `lvw`: JSString = "lvw" + @usableFromInline static let `matches`: JSString = "matches" + @usableFromInline static let `matrix`: JSString = "matrix" + @usableFromInline static let `max`: JSString = "max" + @usableFromInline static let `media`: JSString = "media" + @usableFromInline static let `mediaText`: JSString = "mediaText" + @usableFromInline static let `min`: JSString = "min" + @usableFromInline static let `mm`: JSString = "mm" + @usableFromInline static let `ms`: JSString = "ms" + @usableFromInline static let `mul`: JSString = "mul" + @usableFromInline static let `name`: JSString = "name" + @usableFromInline static let `namespaceURI`: JSString = "namespaceURI" + @usableFromInline static let `number`: JSString = "number" + @usableFromInline static let `offset`: JSString = "offset" + @usableFromInline static let `offsetLeft`: JSString = "offsetLeft" + @usableFromInline static let `offsetNode`: JSString = "offsetNode" + @usableFromInline static let `offsetTop`: JSString = "offsetTop" + @usableFromInline static let `onchange`: JSString = "onchange" + @usableFromInline static let `onresize`: JSString = "onresize" + @usableFromInline static let `onscroll`: JSString = "onscroll" + @usableFromInline static let `onscrollend`: JSString = "onscrollend" @usableFromInline static let `operator`: JSString = "operator" - @usableFromInline static let ownerNode: JSString = "ownerNode" - @usableFromInline static let ownerRule: JSString = "ownerRule" - @usableFromInline static let pageLeft: JSString = "pageLeft" - @usableFromInline static let pageTop: JSString = "pageTop" - @usableFromInline static let parentRule: JSString = "parentRule" - @usableFromInline static let parentStyleSheet: JSString = "parentStyleSheet" - @usableFromInline static let parse: JSString = "parse" - @usableFromInline static let parseAll: JSString = "parseAll" - @usableFromInline static let pc: JSString = "pc" - @usableFromInline static let percent: JSString = "percent" - @usableFromInline static let percentHint: JSString = "percentHint" - @usableFromInline static let pixelDepth: JSString = "pixelDepth" - @usableFromInline static let prefix: JSString = "prefix" - @usableFromInline static let pt: JSString = "pt" - @usableFromInline static let px: JSString = "px" - @usableFromInline static let r: JSString = "r" - @usableFromInline static let rad: JSString = "rad" - @usableFromInline static let relativeTo: JSString = "relativeTo" - @usableFromInline static let rem: JSString = "rem" - @usableFromInline static let removeListener: JSString = "removeListener" - @usableFromInline static let removeProperty: JSString = "removeProperty" - @usableFromInline static let removeRule: JSString = "removeRule" - @usableFromInline static let replace: JSString = "replace" - @usableFromInline static let replaceSync: JSString = "replaceSync" - @usableFromInline static let resolution: JSString = "resolution" - @usableFromInline static let rlh: JSString = "rlh" - @usableFromInline static let rules: JSString = "rules" - @usableFromInline static let s: JSString = "s" - @usableFromInline static let scale: JSString = "scale" - @usableFromInline static let selectorText: JSString = "selectorText" - @usableFromInline static let set: JSString = "set" - @usableFromInline static let setProperty: JSString = "setProperty" - @usableFromInline static let sheet: JSString = "sheet" - @usableFromInline static let size: JSString = "size" - @usableFromInline static let style: JSString = "style" - @usableFromInline static let styleMap: JSString = "styleMap" - @usableFromInline static let styleSheet: JSString = "styleSheet" - @usableFromInline static let styleSheets: JSString = "styleSheets" - @usableFromInline static let sub: JSString = "sub" - @usableFromInline static let supportsText: JSString = "supportsText" - @usableFromInline static let svb: JSString = "svb" - @usableFromInline static let svh: JSString = "svh" - @usableFromInline static let svi: JSString = "svi" - @usableFromInline static let svmax: JSString = "svmax" - @usableFromInline static let svmin: JSString = "svmin" - @usableFromInline static let svw: JSString = "svw" - @usableFromInline static let time: JSString = "time" - @usableFromInline static let title: JSString = "title" - @usableFromInline static let to: JSString = "to" - @usableFromInline static let toBox: JSString = "toBox" - @usableFromInline static let toMatrix: JSString = "toMatrix" - @usableFromInline static let toString: JSString = "toString" - @usableFromInline static let toSum: JSString = "toSum" - @usableFromInline static let top: JSString = "top" - @usableFromInline static let turn: JSString = "turn" - @usableFromInline static let type: JSString = "type" - @usableFromInline static let unit: JSString = "unit" - @usableFromInline static let upper: JSString = "upper" - @usableFromInline static let value: JSString = "value" - @usableFromInline static let values: JSString = "values" - @usableFromInline static let variable: JSString = "variable" - @usableFromInline static let vb: JSString = "vb" - @usableFromInline static let vh: JSString = "vh" - @usableFromInline static let vi: JSString = "vi" - @usableFromInline static let vmax: JSString = "vmax" - @usableFromInline static let vmin: JSString = "vmin" - @usableFromInline static let vw: JSString = "vw" - @usableFromInline static let w: JSString = "w" - @usableFromInline static let width: JSString = "width" - @usableFromInline static let x: JSString = "x" - @usableFromInline static let y: JSString = "y" - @usableFromInline static let z: JSString = "z" + @usableFromInline static let `ownerNode`: JSString = "ownerNode" + @usableFromInline static let `ownerRule`: JSString = "ownerRule" + @usableFromInline static let `pageLeft`: JSString = "pageLeft" + @usableFromInline static let `pageTop`: JSString = "pageTop" + @usableFromInline static let `parentRule`: JSString = "parentRule" + @usableFromInline static let `parentStyleSheet`: JSString = "parentStyleSheet" + @usableFromInline static let `parse`: JSString = "parse" + @usableFromInline static let `parseAll`: JSString = "parseAll" + @usableFromInline static let `pc`: JSString = "pc" + @usableFromInline static let `percent`: JSString = "percent" + @usableFromInline static let `percentHint`: JSString = "percentHint" + @usableFromInline static let `pixelDepth`: JSString = "pixelDepth" + @usableFromInline static let `prefix`: JSString = "prefix" + @usableFromInline static let `pt`: JSString = "pt" + @usableFromInline static let `px`: JSString = "px" + @usableFromInline static let `r`: JSString = "r" + @usableFromInline static let `rad`: JSString = "rad" + @usableFromInline static let `relativeTo`: JSString = "relativeTo" + @usableFromInline static let `rem`: JSString = "rem" + @usableFromInline static let `removeListener`: JSString = "removeListener" + @usableFromInline static let `removeProperty`: JSString = "removeProperty" + @usableFromInline static let `removeRule`: JSString = "removeRule" + @usableFromInline static let `replace`: JSString = "replace" + @usableFromInline static let `replaceSync`: JSString = "replaceSync" + @usableFromInline static let `resolution`: JSString = "resolution" + @usableFromInline static let `rlh`: JSString = "rlh" + @usableFromInline static let `rules`: JSString = "rules" + @usableFromInline static let `s`: JSString = "s" + @usableFromInline static let `scale`: JSString = "scale" + @usableFromInline static let `selectorText`: JSString = "selectorText" + @usableFromInline static let `set`: JSString = "set" + @usableFromInline static let `setProperty`: JSString = "setProperty" + @usableFromInline static let `sheet`: JSString = "sheet" + @usableFromInline static let `size`: JSString = "size" + @usableFromInline static let `style`: JSString = "style" + @usableFromInline static let `styleMap`: JSString = "styleMap" + @usableFromInline static let `styleSheet`: JSString = "styleSheet" + @usableFromInline static let `styleSheets`: JSString = "styleSheets" + @usableFromInline static let `sub`: JSString = "sub" + @usableFromInline static let `supportsText`: JSString = "supportsText" + @usableFromInline static let `svb`: JSString = "svb" + @usableFromInline static let `svh`: JSString = "svh" + @usableFromInline static let `svi`: JSString = "svi" + @usableFromInline static let `svmax`: JSString = "svmax" + @usableFromInline static let `svmin`: JSString = "svmin" + @usableFromInline static let `svw`: JSString = "svw" + @usableFromInline static let `time`: JSString = "time" + @usableFromInline static let `title`: JSString = "title" + @usableFromInline static let `to`: JSString = "to" + @usableFromInline static let `toBox`: JSString = "toBox" + @usableFromInline static let `toMatrix`: JSString = "toMatrix" + @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `toSum`: JSString = "toSum" + @usableFromInline static let `top`: JSString = "top" + @usableFromInline static let `turn`: JSString = "turn" + @usableFromInline static let `type`: JSString = "type" + @usableFromInline static let `unit`: JSString = "unit" + @usableFromInline static let `upper`: JSString = "upper" + @usableFromInline static let `value`: JSString = "value" + @usableFromInline static let `values`: JSString = "values" + @usableFromInline static let `variable`: JSString = "variable" + @usableFromInline static let `vb`: JSString = "vb" + @usableFromInline static let `vh`: JSString = "vh" + @usableFromInline static let `vi`: JSString = "vi" + @usableFromInline static let `vmax`: JSString = "vmax" + @usableFromInline static let `vmin`: JSString = "vmin" + @usableFromInline static let `vw`: JSString = "vw" + @usableFromInline static let `w`: JSString = "w" + @usableFromInline static let `width`: JSString = "width" + @usableFromInline static let `x`: JSString = "x" + @usableFromInline static let `y`: JSString = "y" + @usableFromInline static let `z`: JSString = "z" } - public protocol Any_CSSColorRGBComp: ConvertibleToJSValue {} extension CSSKeywordish: Any_CSSColorRGBComp {} extension CSSNumberish: Any_CSSColorRGBComp {} @@ -2375,32 +2313,27 @@ public enum CSSColorRGBComp: JSValueCompatible, Any_CSSColorRGBComp { case cssKeywordish(CSSKeywordish) case cssNumberish(CSSNumberish) - init(_ cssKeywordish: CSSKeywordish) { + public init(_ cssKeywordish: CSSKeywordish) { let val: CSSColorRGBComp = .cssKeywordish(cssKeywordish) self = val } - - init(_ cssKeywordValue: CSSKeywordValue) { + public init(_ cssKeywordValue: CSSKeywordValue) { let val: CSSKeywordish = .cssKeywordValue(cssKeywordValue) self = .init(val) } - - init(_ string: String) { + public init(_ string: String) { let val: CSSKeywordish = .string(string) self = .init(val) } - - init(_ cssNumberish: CSSNumberish) { + public init(_ cssNumberish: CSSNumberish) { let val: CSSColorRGBComp = .cssNumberish(cssNumberish) self = val } - - init(_ cssNumericValue: CSSNumericValue) { + public init(_ cssNumericValue: CSSNumericValue) { let val: CSSNumberish = .cssNumericValue(cssNumericValue) self = .init(val) } - - init(_ double: Double) { + public init(_ double: Double) { let val: CSSNumberish = .double(double) self = .init(val) } @@ -2411,7 +2344,6 @@ public enum CSSColorRGBComp: JSValueCompatible, Any_CSSColorRGBComp { default: return nil } } - public var cssNumberish: CSSNumberish? { switch self { case let .cssNumberish(cssNumberish): return cssNumberish @@ -2420,25 +2352,18 @@ public enum CSSColorRGBComp: JSValueCompatible, Any_CSSColorRGBComp { } public static func construct(from value: JSValue) -> Self? { - if let cssKeywordish: CSSKeywordish = value.fromJSValue() { - return .cssKeywordish(cssKeywordish) - } - if let cssNumberish: CSSNumberish = value.fromJSValue() { - return .cssNumberish(cssNumberish) - } + if let cssKeywordish: CSSKeywordish = value.fromJSValue() { return .cssKeywordish(cssKeywordish) } + if let cssNumberish: CSSNumberish = value.fromJSValue() { return .cssNumberish(cssNumberish) } return nil } public var jsValue: JSValue { switch self { - case let .cssKeywordish(cssKeywordish): - return cssKeywordish.jsValue - case let .cssNumberish(cssNumberish): - return cssNumberish.jsValue + case let .cssKeywordish(cssKeywordish): return cssKeywordish.jsValue + case let .cssNumberish(cssNumberish): return cssNumberish.jsValue } } } - public protocol Any_CSSKeywordish: ConvertibleToJSValue {} extension CSSKeywordValue: Any_CSSKeywordish {} extension String: Any_CSSKeywordish {} @@ -2447,12 +2372,11 @@ public enum CSSKeywordish: JSValueCompatible, Any_CSSKeywordish { case cssKeywordValue(CSSKeywordValue) case string(String) - init(_ cssKeywordValue: CSSKeywordValue) { + public init(_ cssKeywordValue: CSSKeywordValue) { let val: CSSKeywordish = .cssKeywordValue(cssKeywordValue) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: CSSKeywordish = .string(string) self = val } @@ -2463,7 +2387,6 @@ public enum CSSKeywordish: JSValueCompatible, Any_CSSKeywordish { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -2472,25 +2395,18 @@ public enum CSSKeywordish: JSValueCompatible, Any_CSSKeywordish { } public static func construct(from value: JSValue) -> Self? { - if let cssKeywordValue: CSSKeywordValue = value.fromJSValue() { - return .cssKeywordValue(cssKeywordValue) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let cssKeywordValue: CSSKeywordValue = value.fromJSValue() { return .cssKeywordValue(cssKeywordValue) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .cssKeywordValue(cssKeywordValue): - return cssKeywordValue.jsValue - case let .string(string): - return string.jsValue + case let .cssKeywordValue(cssKeywordValue): return cssKeywordValue.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_CSSNumberish: ConvertibleToJSValue {} extension CSSNumericValue: Any_CSSNumberish {} extension Double: Any_CSSNumberish {} @@ -2499,12 +2415,11 @@ public enum CSSNumberish: JSValueCompatible, Any_CSSNumberish { case cssNumericValue(CSSNumericValue) case double(Double) - init(_ cssNumericValue: CSSNumericValue) { + public init(_ cssNumericValue: CSSNumericValue) { let val: CSSNumberish = .cssNumericValue(cssNumericValue) self = val } - - init(_ double: Double) { + public init(_ double: Double) { let val: CSSNumberish = .double(double) self = val } @@ -2515,7 +2430,6 @@ public enum CSSNumberish: JSValueCompatible, Any_CSSNumberish { default: return nil } } - public var double: Double? { switch self { case let .double(double): return double @@ -2524,25 +2438,18 @@ public enum CSSNumberish: JSValueCompatible, Any_CSSNumberish { } public static func construct(from value: JSValue) -> Self? { - if let cssNumericValue: CSSNumericValue = value.fromJSValue() { - return .cssNumericValue(cssNumericValue) - } - if let double: Double = value.fromJSValue() { - return .double(double) - } + if let cssNumericValue: CSSNumericValue = value.fromJSValue() { return .cssNumericValue(cssNumericValue) } + if let double: Double = value.fromJSValue() { return .double(double) } return nil } public var jsValue: JSValue { switch self { - case let .cssNumericValue(cssNumericValue): - return cssNumericValue.jsValue - case let .double(double): - return double.jsValue + case let .cssNumericValue(cssNumericValue): return cssNumericValue.jsValue + case let .double(double): return double.jsValue } } } - public protocol Any_CSSPerspectiveValue: ConvertibleToJSValue {} extension CSSKeywordish: Any_CSSPerspectiveValue {} extension CSSNumericValue: Any_CSSPerspectiveValue {} @@ -2551,22 +2458,19 @@ public enum CSSPerspectiveValue: JSValueCompatible, Any_CSSPerspectiveValue { case cssKeywordish(CSSKeywordish) case cssNumericValue(CSSNumericValue) - init(_ cssKeywordish: CSSKeywordish) { + public init(_ cssKeywordish: CSSKeywordish) { let val: CSSPerspectiveValue = .cssKeywordish(cssKeywordish) self = val } - - init(_ cssKeywordValue: CSSKeywordValue) { + public init(_ cssKeywordValue: CSSKeywordValue) { let val: CSSKeywordish = .cssKeywordValue(cssKeywordValue) self = .init(val) } - - init(_ string: String) { + public init(_ string: String) { let val: CSSKeywordish = .string(string) self = .init(val) } - - init(_ cssNumericValue: CSSNumericValue) { + public init(_ cssNumericValue: CSSNumericValue) { let val: CSSPerspectiveValue = .cssNumericValue(cssNumericValue) self = val } @@ -2577,7 +2481,6 @@ public enum CSSPerspectiveValue: JSValueCompatible, Any_CSSPerspectiveValue { default: return nil } } - public var cssNumericValue: CSSNumericValue? { switch self { case let .cssNumericValue(cssNumericValue): return cssNumericValue @@ -2586,25 +2489,18 @@ public enum CSSPerspectiveValue: JSValueCompatible, Any_CSSPerspectiveValue { } public static func construct(from value: JSValue) -> Self? { - if let cssKeywordish: CSSKeywordish = value.fromJSValue() { - return .cssKeywordish(cssKeywordish) - } - if let cssNumericValue: CSSNumericValue = value.fromJSValue() { - return .cssNumericValue(cssNumericValue) - } + if let cssKeywordish: CSSKeywordish = value.fromJSValue() { return .cssKeywordish(cssKeywordish) } + if let cssNumericValue: CSSNumericValue = value.fromJSValue() { return .cssNumericValue(cssNumericValue) } return nil } public var jsValue: JSValue { switch self { - case let .cssKeywordish(cssKeywordish): - return cssKeywordish.jsValue - case let .cssNumericValue(cssNumericValue): - return cssNumericValue.jsValue + case let .cssKeywordish(cssKeywordish): return cssKeywordish.jsValue + case let .cssNumericValue(cssNumericValue): return cssNumericValue.jsValue } } } - public protocol Any_CSSStyleValue_or_String: ConvertibleToJSValue {} extension CSSStyleValue: Any_CSSStyleValue_or_String {} extension String: Any_CSSStyleValue_or_String {} @@ -2613,12 +2509,11 @@ public enum CSSStyleValue_or_String: JSValueCompatible, Any_CSSStyleValue_or_Str case cssStyleValue(CSSStyleValue) case string(String) - init(_ cssStyleValue: CSSStyleValue) { + public init(_ cssStyleValue: CSSStyleValue) { let val: CSSStyleValue_or_String = .cssStyleValue(cssStyleValue) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: CSSStyleValue_or_String = .string(string) self = val } @@ -2629,7 +2524,6 @@ public enum CSSStyleValue_or_String: JSValueCompatible, Any_CSSStyleValue_or_Str default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -2638,25 +2532,18 @@ public enum CSSStyleValue_or_String: JSValueCompatible, Any_CSSStyleValue_or_Str } public static func construct(from value: JSValue) -> Self? { - if let cssStyleValue: CSSStyleValue = value.fromJSValue() { - return .cssStyleValue(cssStyleValue) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let cssStyleValue: CSSStyleValue = value.fromJSValue() { return .cssStyleValue(cssStyleValue) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .cssStyleValue(cssStyleValue): - return cssStyleValue.jsValue - case let .string(string): - return string.jsValue + case let .cssStyleValue(cssStyleValue): return cssStyleValue.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_CSSUnparsedSegment: ConvertibleToJSValue {} extension CSSVariableReferenceValue: Any_CSSUnparsedSegment {} extension String: Any_CSSUnparsedSegment {} @@ -2665,12 +2552,11 @@ public enum CSSUnparsedSegment: JSValueCompatible, Any_CSSUnparsedSegment { case cssVariableReferenceValue(CSSVariableReferenceValue) case string(String) - init(_ cssVariableReferenceValue: CSSVariableReferenceValue) { + public init(_ cssVariableReferenceValue: CSSVariableReferenceValue) { let val: CSSUnparsedSegment = .cssVariableReferenceValue(cssVariableReferenceValue) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: CSSUnparsedSegment = .string(string) self = val } @@ -2681,7 +2567,6 @@ public enum CSSUnparsedSegment: JSValueCompatible, Any_CSSUnparsedSegment { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -2693,22 +2578,17 @@ public enum CSSUnparsedSegment: JSValueCompatible, Any_CSSUnparsedSegment { if let cssVariableReferenceValue: CSSVariableReferenceValue = value.fromJSValue() { return .cssVariableReferenceValue(cssVariableReferenceValue) } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .cssVariableReferenceValue(cssVariableReferenceValue): - return cssVariableReferenceValue.jsValue - case let .string(string): - return string.jsValue + case let .cssVariableReferenceValue(cssVariableReferenceValue): return cssVariableReferenceValue.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_Element_or_ProcessingInstruction: ConvertibleToJSValue {} extension Element: Any_Element_or_ProcessingInstruction {} extension ProcessingInstruction: Any_Element_or_ProcessingInstruction {} @@ -2717,12 +2597,11 @@ public enum Element_or_ProcessingInstruction: JSValueCompatible, Any_Element_or_ case element(Element) case processingInstruction(ProcessingInstruction) - init(_ element: Element) { + public init(_ element: Element) { let val: Element_or_ProcessingInstruction = .element(element) self = val } - - init(_ processingInstruction: ProcessingInstruction) { + public init(_ processingInstruction: ProcessingInstruction) { let val: Element_or_ProcessingInstruction = .processingInstruction(processingInstruction) self = val } @@ -2733,7 +2612,6 @@ public enum Element_or_ProcessingInstruction: JSValueCompatible, Any_Element_or_ default: return nil } } - public var processingInstruction: ProcessingInstruction? { switch self { case let .processingInstruction(processingInstruction): return processingInstruction @@ -2742,9 +2620,7 @@ public enum Element_or_ProcessingInstruction: JSValueCompatible, Any_Element_or_ } public static func construct(from value: JSValue) -> Self? { - if let element: Element = value.fromJSValue() { - return .element(element) - } + if let element: Element = value.fromJSValue() { return .element(element) } if let processingInstruction: ProcessingInstruction = value.fromJSValue() { return .processingInstruction(processingInstruction) } @@ -2753,14 +2629,11 @@ public enum Element_or_ProcessingInstruction: JSValueCompatible, Any_Element_or_ public var jsValue: JSValue { switch self { - case let .element(element): - return element.jsValue - case let .processingInstruction(processingInstruction): - return processingInstruction.jsValue + case let .element(element): return element.jsValue + case let .processingInstruction(processingInstruction): return processingInstruction.jsValue } } } - public protocol Any_GeometryNode: ConvertibleToJSValue {} extension CSSPseudoElement: Any_GeometryNode {} extension Document: Any_GeometryNode {} @@ -2773,22 +2646,19 @@ public enum GeometryNode: JSValueCompatible, Any_GeometryNode { case element(Element) case text(Text) - init(_ cssPseudoElement: CSSPseudoElement) { + public init(_ cssPseudoElement: CSSPseudoElement) { let val: GeometryNode = .cssPseudoElement(cssPseudoElement) self = val } - - init(_ document: Document) { + public init(_ document: Document) { let val: GeometryNode = .document(document) self = val } - - init(_ element: Element) { + public init(_ element: Element) { let val: GeometryNode = .element(element) self = val } - - init(_ text: Text) { + public init(_ text: Text) { let val: GeometryNode = .text(text) self = val } @@ -2799,21 +2669,18 @@ public enum GeometryNode: JSValueCompatible, Any_GeometryNode { default: return nil } } - public var document: Document? { switch self { case let .document(document): return document default: return nil } } - public var element: Element? { switch self { case let .element(element): return element default: return nil } } - public var text: Text? { switch self { case let .text(text): return text @@ -2822,35 +2689,22 @@ public enum GeometryNode: JSValueCompatible, Any_GeometryNode { } public static func construct(from value: JSValue) -> Self? { - if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { - return .cssPseudoElement(cssPseudoElement) - } - if let document: Document = value.fromJSValue() { - return .document(document) - } - if let element: Element = value.fromJSValue() { - return .element(element) - } - if let text: Text = value.fromJSValue() { - return .text(text) - } + if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { return .cssPseudoElement(cssPseudoElement) } + if let document: Document = value.fromJSValue() { return .document(document) } + if let element: Element = value.fromJSValue() { return .element(element) } + if let text: Text = value.fromJSValue() { return .text(text) } return nil } public var jsValue: JSValue { switch self { - case let .cssPseudoElement(cssPseudoElement): - return cssPseudoElement.jsValue - case let .document(document): - return document.jsValue - case let .element(element): - return element.jsValue - case let .text(text): - return text.jsValue + case let .cssPseudoElement(cssPseudoElement): return cssPseudoElement.jsValue + case let .document(document): return document.jsValue + case let .element(element): return element.jsValue + case let .text(text): return text.jsValue } } } - public protocol Any_MediaList_or_String: ConvertibleToJSValue {} extension MediaList: Any_MediaList_or_String {} extension String: Any_MediaList_or_String {} @@ -2859,12 +2713,11 @@ public enum MediaList_or_String: JSValueCompatible, Any_MediaList_or_String { case mediaList(MediaList) case string(String) - init(_ mediaList: MediaList) { + public init(_ mediaList: MediaList) { let val: MediaList_or_String = .mediaList(mediaList) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: MediaList_or_String = .string(string) self = val } @@ -2875,7 +2728,6 @@ public enum MediaList_or_String: JSValueCompatible, Any_MediaList_or_String { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -2884,21 +2736,15 @@ public enum MediaList_or_String: JSValueCompatible, Any_MediaList_or_String { } public static func construct(from value: JSValue) -> Self? { - if let mediaList: MediaList = value.fromJSValue() { - return .mediaList(mediaList) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let mediaList: MediaList = value.fromJSValue() { return .mediaList(mediaList) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .mediaList(mediaList): - return mediaList.jsValue - case let .string(string): - return string.jsValue + case let .mediaList(mediaList): return mediaList.jsValue + case let .string(string): return string.jsValue } } } diff --git a/Sources/DOM/Generated.swift b/Sources/DOM/Generated.swift index 7c2f76e8..3b69fab7 100644 --- a/Sources/DOM/Generated.swift +++ b/Sources/DOM/Generated.swift @@ -2,319 +2,322 @@ import ECMAScript import JavaScriptBigIntSupport -import JavaScriptEventLoop import JavaScriptKit import WebAPIBase +#if canImport(JavaScriptEventLoop) + import JavaScriptEventLoop +#endif +#if canImport(_Concurrency) + import _Concurrency +#endif + public protocol ARIAMixin: JSBridgedClass {} -public extension ARIAMixin { - @inlinable var role: String? { +extension ARIAMixin { + @inlinable public var role: String? { get { jsObject[Strings.role].fromJSValue() } - nonmutating set { jsObject[Strings.role] = _toJSValue(newValue) } + set { jsObject[Strings.role] = _toJSValue(newValue) } } - @inlinable var ariaActiveDescendantElement: Element? { + @inlinable public var ariaActiveDescendantElement: Element? { get { jsObject[Strings.ariaActiveDescendantElement].fromJSValue() } - nonmutating set { jsObject[Strings.ariaActiveDescendantElement] = _toJSValue(newValue) } + set { jsObject[Strings.ariaActiveDescendantElement] = _toJSValue(newValue) } } - @inlinable var ariaAtomic: String? { + @inlinable public var ariaAtomic: String? { get { jsObject[Strings.ariaAtomic].fromJSValue() } - nonmutating set { jsObject[Strings.ariaAtomic] = _toJSValue(newValue) } + set { jsObject[Strings.ariaAtomic] = _toJSValue(newValue) } } - @inlinable var ariaAutoComplete: String? { + @inlinable public var ariaAutoComplete: String? { get { jsObject[Strings.ariaAutoComplete].fromJSValue() } - nonmutating set { jsObject[Strings.ariaAutoComplete] = _toJSValue(newValue) } + set { jsObject[Strings.ariaAutoComplete] = _toJSValue(newValue) } } - @inlinable var ariaBusy: String? { + @inlinable public var ariaBusy: String? { get { jsObject[Strings.ariaBusy].fromJSValue() } - nonmutating set { jsObject[Strings.ariaBusy] = _toJSValue(newValue) } + set { jsObject[Strings.ariaBusy] = _toJSValue(newValue) } } - @inlinable var ariaChecked: String? { + @inlinable public var ariaChecked: String? { get { jsObject[Strings.ariaChecked].fromJSValue() } - nonmutating set { jsObject[Strings.ariaChecked] = _toJSValue(newValue) } + set { jsObject[Strings.ariaChecked] = _toJSValue(newValue) } } - @inlinable var ariaColCount: String? { + @inlinable public var ariaColCount: String? { get { jsObject[Strings.ariaColCount].fromJSValue() } - nonmutating set { jsObject[Strings.ariaColCount] = _toJSValue(newValue) } + set { jsObject[Strings.ariaColCount] = _toJSValue(newValue) } } - @inlinable var ariaColIndex: String? { + @inlinable public var ariaColIndex: String? { get { jsObject[Strings.ariaColIndex].fromJSValue() } - nonmutating set { jsObject[Strings.ariaColIndex] = _toJSValue(newValue) } + set { jsObject[Strings.ariaColIndex] = _toJSValue(newValue) } } - @inlinable var ariaColIndexText: String? { + @inlinable public var ariaColIndexText: String? { get { jsObject[Strings.ariaColIndexText].fromJSValue() } - nonmutating set { jsObject[Strings.ariaColIndexText] = _toJSValue(newValue) } + set { jsObject[Strings.ariaColIndexText] = _toJSValue(newValue) } } - @inlinable var ariaColSpan: String? { + @inlinable public var ariaColSpan: String? { get { jsObject[Strings.ariaColSpan].fromJSValue() } - nonmutating set { jsObject[Strings.ariaColSpan] = _toJSValue(newValue) } + set { jsObject[Strings.ariaColSpan] = _toJSValue(newValue) } } - @inlinable var ariaControlsElements: [Element]? { + @inlinable public var ariaControlsElements: [Element]? { get { jsObject[Strings.ariaControlsElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaControlsElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaControlsElements] = _toJSValue(newValue) } } - @inlinable var ariaCurrent: String? { + @inlinable public var ariaCurrent: String? { get { jsObject[Strings.ariaCurrent].fromJSValue() } - nonmutating set { jsObject[Strings.ariaCurrent] = _toJSValue(newValue) } + set { jsObject[Strings.ariaCurrent] = _toJSValue(newValue) } } - @inlinable var ariaDescribedByElements: [Element]? { + @inlinable public var ariaDescribedByElements: [Element]? { get { jsObject[Strings.ariaDescribedByElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaDescribedByElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaDescribedByElements] = _toJSValue(newValue) } } - @inlinable var ariaDescription: String? { + @inlinable public var ariaDescription: String? { get { jsObject[Strings.ariaDescription].fromJSValue() } - nonmutating set { jsObject[Strings.ariaDescription] = _toJSValue(newValue) } + set { jsObject[Strings.ariaDescription] = _toJSValue(newValue) } } - @inlinable var ariaDetailsElements: [Element]? { + @inlinable public var ariaDetailsElements: [Element]? { get { jsObject[Strings.ariaDetailsElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaDetailsElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaDetailsElements] = _toJSValue(newValue) } } - @inlinable var ariaDisabled: String? { + @inlinable public var ariaDisabled: String? { get { jsObject[Strings.ariaDisabled].fromJSValue() } - nonmutating set { jsObject[Strings.ariaDisabled] = _toJSValue(newValue) } + set { jsObject[Strings.ariaDisabled] = _toJSValue(newValue) } } - @inlinable var ariaErrorMessageElements: [Element]? { + @inlinable public var ariaErrorMessageElements: [Element]? { get { jsObject[Strings.ariaErrorMessageElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaErrorMessageElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaErrorMessageElements] = _toJSValue(newValue) } } - @inlinable var ariaExpanded: String? { + @inlinable public var ariaExpanded: String? { get { jsObject[Strings.ariaExpanded].fromJSValue() } - nonmutating set { jsObject[Strings.ariaExpanded] = _toJSValue(newValue) } + set { jsObject[Strings.ariaExpanded] = _toJSValue(newValue) } } - @inlinable var ariaFlowToElements: [Element]? { + @inlinable public var ariaFlowToElements: [Element]? { get { jsObject[Strings.ariaFlowToElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaFlowToElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaFlowToElements] = _toJSValue(newValue) } } - @inlinable var ariaHasPopup: String? { + @inlinable public var ariaHasPopup: String? { get { jsObject[Strings.ariaHasPopup].fromJSValue() } - nonmutating set { jsObject[Strings.ariaHasPopup] = _toJSValue(newValue) } + set { jsObject[Strings.ariaHasPopup] = _toJSValue(newValue) } } - @inlinable var ariaHidden: String? { + @inlinable public var ariaHidden: String? { get { jsObject[Strings.ariaHidden].fromJSValue() } - nonmutating set { jsObject[Strings.ariaHidden] = _toJSValue(newValue) } + set { jsObject[Strings.ariaHidden] = _toJSValue(newValue) } } - @inlinable var ariaInvalid: String? { + @inlinable public var ariaInvalid: String? { get { jsObject[Strings.ariaInvalid].fromJSValue() } - nonmutating set { jsObject[Strings.ariaInvalid] = _toJSValue(newValue) } + set { jsObject[Strings.ariaInvalid] = _toJSValue(newValue) } } - @inlinable var ariaKeyShortcuts: String? { + @inlinable public var ariaKeyShortcuts: String? { get { jsObject[Strings.ariaKeyShortcuts].fromJSValue() } - nonmutating set { jsObject[Strings.ariaKeyShortcuts] = _toJSValue(newValue) } + set { jsObject[Strings.ariaKeyShortcuts] = _toJSValue(newValue) } } - @inlinable var ariaLabel: String? { + @inlinable public var ariaLabel: String? { get { jsObject[Strings.ariaLabel].fromJSValue() } - nonmutating set { jsObject[Strings.ariaLabel] = _toJSValue(newValue) } + set { jsObject[Strings.ariaLabel] = _toJSValue(newValue) } } - @inlinable var ariaLabelledByElements: [Element]? { + @inlinable public var ariaLabelledByElements: [Element]? { get { jsObject[Strings.ariaLabelledByElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaLabelledByElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaLabelledByElements] = _toJSValue(newValue) } } - @inlinable var ariaLevel: String? { + @inlinable public var ariaLevel: String? { get { jsObject[Strings.ariaLevel].fromJSValue() } - nonmutating set { jsObject[Strings.ariaLevel] = _toJSValue(newValue) } + set { jsObject[Strings.ariaLevel] = _toJSValue(newValue) } } - @inlinable var ariaLive: String? { + @inlinable public var ariaLive: String? { get { jsObject[Strings.ariaLive].fromJSValue() } - nonmutating set { jsObject[Strings.ariaLive] = _toJSValue(newValue) } + set { jsObject[Strings.ariaLive] = _toJSValue(newValue) } } - @inlinable var ariaModal: String? { + @inlinable public var ariaModal: String? { get { jsObject[Strings.ariaModal].fromJSValue() } - nonmutating set { jsObject[Strings.ariaModal] = _toJSValue(newValue) } + set { jsObject[Strings.ariaModal] = _toJSValue(newValue) } } - @inlinable var ariaMultiLine: String? { + @inlinable public var ariaMultiLine: String? { get { jsObject[Strings.ariaMultiLine].fromJSValue() } - nonmutating set { jsObject[Strings.ariaMultiLine] = _toJSValue(newValue) } + set { jsObject[Strings.ariaMultiLine] = _toJSValue(newValue) } } - @inlinable var ariaMultiSelectable: String? { + @inlinable public var ariaMultiSelectable: String? { get { jsObject[Strings.ariaMultiSelectable].fromJSValue() } - nonmutating set { jsObject[Strings.ariaMultiSelectable] = _toJSValue(newValue) } + set { jsObject[Strings.ariaMultiSelectable] = _toJSValue(newValue) } } - @inlinable var ariaOrientation: String? { + @inlinable public var ariaOrientation: String? { get { jsObject[Strings.ariaOrientation].fromJSValue() } - nonmutating set { jsObject[Strings.ariaOrientation] = _toJSValue(newValue) } + set { jsObject[Strings.ariaOrientation] = _toJSValue(newValue) } } - @inlinable var ariaOwnsElements: [Element]? { + @inlinable public var ariaOwnsElements: [Element]? { get { jsObject[Strings.ariaOwnsElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaOwnsElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaOwnsElements] = _toJSValue(newValue) } } - @inlinable var ariaPlaceholder: String? { + @inlinable public var ariaPlaceholder: String? { get { jsObject[Strings.ariaPlaceholder].fromJSValue() } - nonmutating set { jsObject[Strings.ariaPlaceholder] = _toJSValue(newValue) } + set { jsObject[Strings.ariaPlaceholder] = _toJSValue(newValue) } } - @inlinable var ariaPosInSet: String? { + @inlinable public var ariaPosInSet: String? { get { jsObject[Strings.ariaPosInSet].fromJSValue() } - nonmutating set { jsObject[Strings.ariaPosInSet] = _toJSValue(newValue) } + set { jsObject[Strings.ariaPosInSet] = _toJSValue(newValue) } } - @inlinable var ariaPressed: String? { + @inlinable public var ariaPressed: String? { get { jsObject[Strings.ariaPressed].fromJSValue() } - nonmutating set { jsObject[Strings.ariaPressed] = _toJSValue(newValue) } + set { jsObject[Strings.ariaPressed] = _toJSValue(newValue) } } - @inlinable var ariaReadOnly: String? { + @inlinable public var ariaReadOnly: String? { get { jsObject[Strings.ariaReadOnly].fromJSValue() } - nonmutating set { jsObject[Strings.ariaReadOnly] = _toJSValue(newValue) } + set { jsObject[Strings.ariaReadOnly] = _toJSValue(newValue) } } - @inlinable var ariaRequired: String? { + @inlinable public var ariaRequired: String? { get { jsObject[Strings.ariaRequired].fromJSValue() } - nonmutating set { jsObject[Strings.ariaRequired] = _toJSValue(newValue) } + set { jsObject[Strings.ariaRequired] = _toJSValue(newValue) } } - @inlinable var ariaRoleDescription: String? { + @inlinable public var ariaRoleDescription: String? { get { jsObject[Strings.ariaRoleDescription].fromJSValue() } - nonmutating set { jsObject[Strings.ariaRoleDescription] = _toJSValue(newValue) } + set { jsObject[Strings.ariaRoleDescription] = _toJSValue(newValue) } } - @inlinable var ariaRowCount: String? { + @inlinable public var ariaRowCount: String? { get { jsObject[Strings.ariaRowCount].fromJSValue() } - nonmutating set { jsObject[Strings.ariaRowCount] = _toJSValue(newValue) } + set { jsObject[Strings.ariaRowCount] = _toJSValue(newValue) } } - @inlinable var ariaRowIndex: String? { + @inlinable public var ariaRowIndex: String? { get { jsObject[Strings.ariaRowIndex].fromJSValue() } - nonmutating set { jsObject[Strings.ariaRowIndex] = _toJSValue(newValue) } + set { jsObject[Strings.ariaRowIndex] = _toJSValue(newValue) } } - @inlinable var ariaRowIndexText: String? { + @inlinable public var ariaRowIndexText: String? { get { jsObject[Strings.ariaRowIndexText].fromJSValue() } - nonmutating set { jsObject[Strings.ariaRowIndexText] = _toJSValue(newValue) } + set { jsObject[Strings.ariaRowIndexText] = _toJSValue(newValue) } } - @inlinable var ariaRowSpan: String? { + @inlinable public var ariaRowSpan: String? { get { jsObject[Strings.ariaRowSpan].fromJSValue() } - nonmutating set { jsObject[Strings.ariaRowSpan] = _toJSValue(newValue) } + set { jsObject[Strings.ariaRowSpan] = _toJSValue(newValue) } } - @inlinable var ariaSelected: String? { + @inlinable public var ariaSelected: String? { get { jsObject[Strings.ariaSelected].fromJSValue() } - nonmutating set { jsObject[Strings.ariaSelected] = _toJSValue(newValue) } + set { jsObject[Strings.ariaSelected] = _toJSValue(newValue) } } - @inlinable var ariaSetSize: String? { + @inlinable public var ariaSetSize: String? { get { jsObject[Strings.ariaSetSize].fromJSValue() } - nonmutating set { jsObject[Strings.ariaSetSize] = _toJSValue(newValue) } + set { jsObject[Strings.ariaSetSize] = _toJSValue(newValue) } } - @inlinable var ariaSort: String? { + @inlinable public var ariaSort: String? { get { jsObject[Strings.ariaSort].fromJSValue() } - nonmutating set { jsObject[Strings.ariaSort] = _toJSValue(newValue) } + set { jsObject[Strings.ariaSort] = _toJSValue(newValue) } } - @inlinable var ariaValueMax: String? { + @inlinable public var ariaValueMax: String? { get { jsObject[Strings.ariaValueMax].fromJSValue() } - nonmutating set { jsObject[Strings.ariaValueMax] = _toJSValue(newValue) } + set { jsObject[Strings.ariaValueMax] = _toJSValue(newValue) } } - @inlinable var ariaValueMin: String? { + @inlinable public var ariaValueMin: String? { get { jsObject[Strings.ariaValueMin].fromJSValue() } - nonmutating set { jsObject[Strings.ariaValueMin] = _toJSValue(newValue) } + set { jsObject[Strings.ariaValueMin] = _toJSValue(newValue) } } - @inlinable var ariaValueNow: String? { + @inlinable public var ariaValueNow: String? { get { jsObject[Strings.ariaValueNow].fromJSValue() } - nonmutating set { jsObject[Strings.ariaValueNow] = _toJSValue(newValue) } + set { jsObject[Strings.ariaValueNow] = _toJSValue(newValue) } } - @inlinable var ariaValueText: String? { + @inlinable public var ariaValueText: String? { get { jsObject[Strings.ariaValueText].fromJSValue() } - nonmutating set { jsObject[Strings.ariaValueText] = _toJSValue(newValue) } + set { jsObject[Strings.ariaValueText] = _toJSValue(newValue) } } } - public class AbortController: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.AbortController].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _signal = ReadonlyAttribute(jsObject: jsObject, name: Strings.signal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var signal: AbortSignal + @inlinable public var signal: AbortSignal { jsObject[Strings.signal].fromJSValue()! } - @inlinable public func abort(reason: JSValue? = nil) { + @inlinable final public func abort(reason: JSValue? = nil) { let this = jsObject _ = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]) } } public class AbortSignal: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AbortSignal].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AbortSignal].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _aborted = ReadonlyAttribute(jsObject: jsObject, name: Strings.aborted) - _reason = ReadonlyAttribute(jsObject: jsObject, name: Strings.reason) - _onabort = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onabort) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public class func abort(reason: JSValue? = nil) -> Self { + @inlinable public class func abort(reason: JSValue? = nil) -> AbortSignal { let this = constructor! return this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - @inlinable public class func timeout(milliseconds: UInt64) -> Self { + @inlinable public class func timeout(milliseconds: UInt64) -> AbortSignal { let this = constructor! return this[Strings.timeout].function!(this: this, arguments: [_toJSValue(milliseconds)]).fromJSValue()! } - @inlinable public class func any(signals: [AbortSignal]) -> Self { + @inlinable public class func any(signals: [AbortSignal]) -> AbortSignal { let this = constructor! return this[Strings.any].function!(this: this, arguments: [_toJSValue(signals)]).fromJSValue()! } - @ReadonlyAttribute - public var aborted: Bool + @inlinable public var aborted: Bool { jsObject[Strings.aborted].fromJSValue()! } - @ReadonlyAttribute - public var reason: JSValue + @inlinable public var reason: JSValue { jsObject[Strings.reason].fromJSValue()! } - @inlinable public func throwIfAborted() { + @inlinable final public func throwIfAborted() { let this = jsObject _ = this[Strings.throwIfAborted].function!(this: this, arguments: []) } - @ClosureAttribute1Optional - public var onabort: EventHandler + @inlinable public var onabort: EventHandler { + get { + guard let function = jsObject[Strings.onabort].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onabort] = .null + } + } + } } public class AbstractRange: JSBridgedClass { @@ -322,164 +325,139 @@ public class AbstractRange: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _startContainer = ReadonlyAttribute(jsObject: jsObject, name: Strings.startContainer) - _startOffset = ReadonlyAttribute(jsObject: jsObject, name: Strings.startOffset) - _endContainer = ReadonlyAttribute(jsObject: jsObject, name: Strings.endContainer) - _endOffset = ReadonlyAttribute(jsObject: jsObject, name: Strings.endOffset) - _collapsed = ReadonlyAttribute(jsObject: jsObject, name: Strings.collapsed) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var startContainer: Node + @inlinable public var startContainer: Node { jsObject[Strings.startContainer].fromJSValue()! } - @ReadonlyAttribute - public var startOffset: UInt32 + @inlinable public var startOffset: UInt32 { jsObject[Strings.startOffset].fromJSValue()! } - @ReadonlyAttribute - public var endContainer: Node + @inlinable public var endContainer: Node { jsObject[Strings.endContainer].fromJSValue()! } - @ReadonlyAttribute - public var endOffset: UInt32 + @inlinable public var endOffset: UInt32 { jsObject[Strings.endOffset].fromJSValue()! } - @ReadonlyAttribute - public var collapsed: Bool + @inlinable public var collapsed: Bool { jsObject[Strings.collapsed].fromJSValue()! } } public protocol AbstractWorker: JSBridgedClass {} -public extension AbstractWorker { - @inlinable var onerror: EventHandler { - get { ClosureAttribute1Optional[Strings.onerror, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onerror, in: jsObject] = newValue } +extension AbstractWorker { + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } } } +open class AddEventListenerOptions: EventListenerOptions { -public class AddEventListenerOptions: BridgedDictionary { - public convenience init(passive: Bool, once: Bool, signal: AbortSignal) { + public convenience init(capture: Bool? = nil, passive: Bool? = nil, once: Bool? = nil, signal: AbortSignal? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.capture] = _toJSValue(capture) object[Strings.passive] = _toJSValue(passive) object[Strings.once] = _toJSValue(once) object[Strings.signal] = _toJSValue(signal) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _passive = ReadWriteAttribute(jsObject: object, name: Strings.passive) - _once = ReadWriteAttribute(jsObject: object, name: Strings.once) - _signal = ReadWriteAttribute(jsObject: object, name: Strings.signal) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var passive: Bool - - @ReadWriteAttribute - public var once: Bool + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var signal: AbortSignal + @inlinable public var passive: Bool { + get { jsObject[Strings.passive].fromJSValue()! } + set { jsObject[Strings.passive] = _toJSValue(newValue) } + } + @inlinable public var once: Bool { + get { jsObject[Strings.once].fromJSValue()! } + set { jsObject[Strings.once] = _toJSValue(newValue) } + } + @inlinable public var signal: AbortSignal { + get { jsObject[Strings.signal].fromJSValue()! } + set { jsObject[Strings.signal] = _toJSValue(newValue) } + } } - public enum AlphaOption: JSString, JSValueCompatible { case keep = "keep" case discard = "discard" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol AnimationFrameProvider: JSBridgedClass {} -public extension AnimationFrameProvider { - @inlinable func requestAnimationFrame(callback: @escaping FrameRequestCallback) -> UInt32 { +extension AnimationFrameProvider { + @inlinable public func requestAnimationFrame(callback: @escaping FrameRequestCallback) -> UInt32 { let this = jsObject - return this[Strings.requestAnimationFrame].function!(this: this, arguments: [_toJSValue(callback)]).fromJSValue()! + return this[Strings.requestAnimationFrame].function!(this: this, arguments: [_toJSValue(callback)]) + .fromJSValue()! } - @inlinable func cancelAnimationFrame(handle: UInt32) { + @inlinable public func cancelAnimationFrame(handle: UInt32) { let this = jsObject _ = this[Strings.cancelAnimationFrame].function!(this: this, arguments: [_toJSValue(handle)]) } } - public enum AppendMode: JSString, JSValueCompatible { case segments = "segments" case sequence = "sequence" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class AssignedNodesOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class AssignedNodesOptions: BridgedDictionary { - public convenience init(flatten: Bool) { + public convenience init(flatten: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.flatten] = _toJSValue(flatten) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _flatten = ReadWriteAttribute(jsObject: object, name: Strings.flatten) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var flatten: Bool + @inlinable public var flatten: Bool { + get { jsObject[Strings.flatten].fromJSValue()! } + set { jsObject[Strings.flatten] = _toJSValue(newValue) } + } } - public class Attr: Node { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Attr].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Attr].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _namespaceURI = ReadonlyAttribute(jsObject: jsObject, name: Strings.namespaceURI) - _prefix = ReadonlyAttribute(jsObject: jsObject, name: Strings.prefix) - _localName = ReadonlyAttribute(jsObject: jsObject, name: Strings.localName) - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _ownerElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.ownerElement) - _specified = ReadonlyAttribute(jsObject: jsObject, name: Strings.specified) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var namespaceURI: String? + @inlinable public var namespaceURI: String? { jsObject[Strings.namespaceURI].fromJSValue() } - @ReadonlyAttribute - public var prefix: String? + @inlinable public var prefix: String? { jsObject[Strings.prefix].fromJSValue() } - @ReadonlyAttribute - public var localName: String + @inlinable public var localName: String { jsObject[Strings.localName].fromJSValue()! } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var ownerElement: Element? + @inlinable public var ownerElement: Element? { jsObject[Strings.ownerElement].fromJSValue() } - @ReadonlyAttribute - public var specified: Bool + @inlinable public var specified: Bool { jsObject[Strings.specified].fromJSValue()! } } public class AudioData: JSBridgedClass { @@ -487,92 +465,94 @@ public class AudioData: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _format = ReadonlyAttribute(jsObject: jsObject, name: Strings.format) - _sampleRate = ReadonlyAttribute(jsObject: jsObject, name: Strings.sampleRate) - _numberOfFrames = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfFrames) - _numberOfChannels = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfChannels) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: AudioDataInit) { + @inlinable public convenience init(`init`: AudioDataInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var format: AudioSampleFormat? + @inlinable public var format: AudioSampleFormat? { jsObject[Strings.format].fromJSValue() } - @ReadonlyAttribute - public var sampleRate: Float + @inlinable public var sampleRate: Float { jsObject[Strings.sampleRate].fromJSValue()! } - @ReadonlyAttribute - public var numberOfFrames: UInt32 + @inlinable public var numberOfFrames: UInt32 { jsObject[Strings.numberOfFrames].fromJSValue()! } - @ReadonlyAttribute - public var numberOfChannels: UInt32 + @inlinable public var numberOfChannels: UInt32 { jsObject[Strings.numberOfChannels].fromJSValue()! } - @ReadonlyAttribute - public var duration: UInt64 + @inlinable public var duration: UInt64 { jsObject[Strings.duration].fromJSValue()! } - @ReadonlyAttribute - public var timestamp: Int64 + @inlinable public var timestamp: Int64 { jsObject[Strings.timestamp].fromJSValue()! } - @inlinable public func allocationSize(options: AudioDataCopyToOptions) -> UInt32 { + @inlinable final public func allocationSize(options: AudioDataCopyToOptions) -> UInt32 { let this = jsObject return this[Strings.allocationSize].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func copyTo(destination: AllowSharedBufferSource, options: AudioDataCopyToOptions) { + @inlinable final public func copyTo(destination: AllowSharedBufferSource, options: AudioDataCopyToOptions) { let this = jsObject _ = this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]) } - @inlinable public func clone() -> Self { + @inlinable final public func clone() -> AudioData { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } } -public class AudioDataCopyToOptions: BridgedDictionary { - public convenience init(planeIndex: UInt32, frameOffset: UInt32, frameCount: UInt32, format: AudioSampleFormat) { +open class AudioDataCopyToOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + planeIndex: UInt32, + frameOffset: UInt32? = nil, + frameCount: UInt32? = nil, + format: AudioSampleFormat? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.planeIndex] = _toJSValue(planeIndex) object[Strings.frameOffset] = _toJSValue(frameOffset) object[Strings.frameCount] = _toJSValue(frameCount) object[Strings.format] = _toJSValue(format) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _planeIndex = ReadWriteAttribute(jsObject: object, name: Strings.planeIndex) - _frameOffset = ReadWriteAttribute(jsObject: object, name: Strings.frameOffset) - _frameCount = ReadWriteAttribute(jsObject: object, name: Strings.frameCount) - _format = ReadWriteAttribute(jsObject: object, name: Strings.format) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var planeIndex: UInt32 - - @ReadWriteAttribute - public var frameOffset: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var frameCount: UInt32 - - @ReadWriteAttribute - public var format: AudioSampleFormat + @inlinable public var planeIndex: UInt32 { + get { jsObject[Strings.planeIndex].fromJSValue()! } + set { jsObject[Strings.planeIndex] = _toJSValue(newValue) } + } + @inlinable public var frameOffset: UInt32 { + get { jsObject[Strings.frameOffset].fromJSValue()! } + set { jsObject[Strings.frameOffset] = _toJSValue(newValue) } + } + @inlinable public var frameCount: UInt32 { + get { jsObject[Strings.frameCount].fromJSValue()! } + set { jsObject[Strings.frameCount] = _toJSValue(newValue) } + } + @inlinable public var format: AudioSampleFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } } +open class AudioDataInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class AudioDataInit: BridgedDictionary { - public convenience init(format: AudioSampleFormat, sampleRate: Float, numberOfFrames: UInt32, numberOfChannels: UInt32, timestamp: Int64, data: BufferSource, transfer: [ArrayBuffer]) { + public convenience init( + format: AudioSampleFormat, + sampleRate: Float, + numberOfFrames: UInt32, + numberOfChannels: UInt32, + timestamp: Int64, + data: BufferSource, + transfer: [ArrayBuffer]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.format] = _toJSValue(format) object[Strings.sampleRate] = _toJSValue(sampleRate) @@ -581,93 +561,99 @@ public class AudioDataInit: BridgedDictionary { object[Strings.timestamp] = _toJSValue(timestamp) object[Strings.data] = _toJSValue(data) object[Strings.transfer] = _toJSValue(transfer) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _format = ReadWriteAttribute(jsObject: object, name: Strings.format) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _numberOfFrames = ReadWriteAttribute(jsObject: object, name: Strings.numberOfFrames) - _numberOfChannels = ReadWriteAttribute(jsObject: object, name: Strings.numberOfChannels) - _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var format: AudioSampleFormat - - @ReadWriteAttribute - public var sampleRate: Float - - @ReadWriteAttribute - public var numberOfFrames: UInt32 - - @ReadWriteAttribute - public var numberOfChannels: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var timestamp: Int64 - - @ReadWriteAttribute - public var data: BufferSource - - @ReadWriteAttribute - public var transfer: [ArrayBuffer] + @inlinable public var format: AudioSampleFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: Float { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var numberOfFrames: UInt32 { + get { jsObject[Strings.numberOfFrames].fromJSValue()! } + set { jsObject[Strings.numberOfFrames] = _toJSValue(newValue) } + } + @inlinable public var numberOfChannels: UInt32 { + get { jsObject[Strings.numberOfChannels].fromJSValue()! } + set { jsObject[Strings.numberOfChannels] = _toJSValue(newValue) } + } + @inlinable public var timestamp: Int64 { + get { jsObject[Strings.timestamp].fromJSValue()! } + set { jsObject[Strings.timestamp] = _toJSValue(newValue) } + } + @inlinable public var data: BufferSource { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } + @inlinable public var transfer: [ArrayBuffer] { + get { jsObject[Strings.transfer].fromJSValue()! } + set { jsObject[Strings.transfer] = _toJSValue(newValue) } + } } - public class AudioDecoder: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioDecoder].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioDecoder].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _decodeQueueSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.decodeQueueSize) - _ondequeue = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondequeue) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(init: AudioDecoderInit) { + @inlinable public convenience init(`init`: AudioDecoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var state: CodecState + @inlinable public var state: CodecState { jsObject[Strings.state].fromJSValue()! } - @ReadonlyAttribute - public var decodeQueueSize: UInt32 + @inlinable public var decodeQueueSize: UInt32 { jsObject[Strings.decodeQueueSize].fromJSValue()! } - @ClosureAttribute1Optional - public var ondequeue: EventHandler + @inlinable public var ondequeue: EventHandler { + get { + guard let function = jsObject[Strings.ondequeue].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondequeue] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondequeue] = .null + } + } + } - @inlinable public func configure(config: AudioDecoderConfig) { + @inlinable final public func configure(config: AudioDecoderConfig) { let this = jsObject _ = this[Strings.configure].function!(this: this, arguments: [_toJSValue(config)]) } - @inlinable public func decode(chunk: EncodedAudioChunk) { + @inlinable final public func decode(chunk: EncodedAudioChunk) { let this = jsObject _ = this[Strings.decode].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable public func flush() -> JSPromise { + @inlinable final public func flush() -> JSPromise { let this = jsObject return this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func flush() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func flush() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -677,138 +663,177 @@ public class AudioDecoder: EventTarget { return this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public class func isConfigSupported(config: AudioDecoderConfig) async throws -> AudioDecoderSupport { - let this = constructor! - let _promise: JSPromise = this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isConfigSupported( + config: AudioDecoderConfig + ) async throws(JSException) -> AudioDecoderSupport { + let this = constructor! + let _promise: JSPromise = this[Strings.isConfigSupported].function!( + this: this, + arguments: [_toJSValue(config)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class AudioDecoderConfig: BridgedDictionary { - public convenience init(codec: String, sampleRate: UInt32, numberOfChannels: UInt32, description: BufferSource) { +open class AudioDecoderConfig: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + codec: String, + sampleRate: UInt32, + numberOfChannels: UInt32, + description: BufferSource? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.codec] = _toJSValue(codec) object[Strings.sampleRate] = _toJSValue(sampleRate) object[Strings.numberOfChannels] = _toJSValue(numberOfChannels) object[Strings.description] = _toJSValue(description) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _codec = ReadWriteAttribute(jsObject: object, name: Strings.codec) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _numberOfChannels = ReadWriteAttribute(jsObject: object, name: Strings.numberOfChannels) - _description = ReadWriteAttribute(jsObject: object, name: Strings.description) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var codec: String + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var sampleRate: UInt32 - - @ReadWriteAttribute - public var numberOfChannels: UInt32 - - @ReadWriteAttribute - public var description: BufferSource + @inlinable public var codec: String { + get { jsObject[Strings.codec].fromJSValue()! } + set { jsObject[Strings.codec] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: UInt32 { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var numberOfChannels: UInt32 { + get { jsObject[Strings.numberOfChannels].fromJSValue()! } + set { jsObject[Strings.numberOfChannels] = _toJSValue(newValue) } + } + @inlinable public var description: BufferSource { + get { jsObject[Strings.description].fromJSValue()! } + set { jsObject[Strings.description] = _toJSValue(newValue) } + } } +open class AudioDecoderInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class AudioDecoderInit: BridgedDictionary { public convenience init(output: @escaping AudioDataOutputCallback, error: @escaping WebCodecsErrorCallback) { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute1Void[Strings.output, in: object] = output - ClosureAttribute1Void[Strings.error, in: object] = error - self.init(unsafelyWrapping: object) - } + object[Strings.output] = _toJSValue(output) + object[Strings.error] = _toJSValue(error) - public required init(unsafelyWrapping object: JSObject) { - _output = ClosureAttribute1Void(jsObject: object, name: Strings.output) - _error = ClosureAttribute1Void(jsObject: object, name: Strings.error) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ClosureAttribute1Void - public var output: AudioDataOutputCallback + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ClosureAttribute1Void - public var error: WebCodecsErrorCallback + @inlinable public var output: AudioDataOutputCallback { + get { + let function = jsObject[Strings.output].function! + return { function(_toJSValue($0)) } + } + set { + jsObject[Strings.output] = + JSClosure { + newValue($0[0].fromJSValue()!) + return .undefined + }.jsValue + } + } + @inlinable public var error: WebCodecsErrorCallback { + get { + let function = jsObject[Strings.error].function! + return { function(_toJSValue($0)) } + } + set { + jsObject[Strings.error] = + JSClosure { + newValue($0[0].fromJSValue()!) + return .undefined + }.jsValue + } + } } +open class AudioDecoderSupport: JSDictionaryCompatible { + public let jsObject: JSObject -public class AudioDecoderSupport: BridgedDictionary { - public convenience init(supported: Bool, config: AudioDecoderConfig) { + public convenience init(supported: Bool? = nil, config: AudioDecoderConfig? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.supported] = _toJSValue(supported) object[Strings.config] = _toJSValue(config) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _supported = ReadWriteAttribute(jsObject: object, name: Strings.supported) - _config = ReadWriteAttribute(jsObject: object, name: Strings.config) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var supported: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var config: AudioDecoderConfig + @inlinable public var supported: Bool { + get { jsObject[Strings.supported].fromJSValue()! } + set { jsObject[Strings.supported] = _toJSValue(newValue) } + } + @inlinable public var config: AudioDecoderConfig { + get { jsObject[Strings.config].fromJSValue()! } + set { jsObject[Strings.config] = _toJSValue(newValue) } + } } - public class AudioEncoder: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioEncoder].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioEncoder].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _encodeQueueSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.encodeQueueSize) - _ondequeue = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondequeue) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(init: AudioEncoderInit) { + @inlinable public convenience init(`init`: AudioEncoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var state: CodecState + @inlinable public var state: CodecState { jsObject[Strings.state].fromJSValue()! } - @ReadonlyAttribute - public var encodeQueueSize: UInt32 + @inlinable public var encodeQueueSize: UInt32 { jsObject[Strings.encodeQueueSize].fromJSValue()! } - @ClosureAttribute1Optional - public var ondequeue: EventHandler + @inlinable public var ondequeue: EventHandler { + get { + guard let function = jsObject[Strings.ondequeue].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondequeue] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondequeue] = .null + } + } + } - @inlinable public func configure(config: AudioEncoderConfig) { + @inlinable final public func configure(config: AudioEncoderConfig) { let this = jsObject _ = this[Strings.configure].function!(this: this, arguments: [_toJSValue(config)]) } - @inlinable public func encode(data: AudioData) { + @inlinable final public func encode(data: AudioData) { let this = jsObject _ = this[Strings.encode].function!(this: this, arguments: [_toJSValue(data)]) } - @inlinable public func flush() -> JSPromise { + @inlinable final public func flush() -> JSPromise { let this = jsObject return this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func flush() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func flush() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -818,92 +843,126 @@ public class AudioEncoder: EventTarget { return this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public class func isConfigSupported(config: AudioEncoderConfig) async throws -> AudioEncoderSupport { - let this = constructor! - let _promise: JSPromise = this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isConfigSupported( + config: AudioEncoderConfig + ) async throws(JSException) -> AudioEncoderSupport { + let this = constructor! + let _promise: JSPromise = this[Strings.isConfigSupported].function!( + this: this, + arguments: [_toJSValue(config)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class AudioEncoderConfig: BridgedDictionary { - public convenience init(codec: String, sampleRate: UInt32, numberOfChannels: UInt32, bitrate: UInt64, bitrateMode: BitrateMode) { +open class AudioEncoderConfig: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + codec: String, + sampleRate: UInt32? = nil, + numberOfChannels: UInt32? = nil, + bitrate: UInt64? = nil, + bitrateMode: BitrateMode? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.codec] = _toJSValue(codec) object[Strings.sampleRate] = _toJSValue(sampleRate) object[Strings.numberOfChannels] = _toJSValue(numberOfChannels) object[Strings.bitrate] = _toJSValue(bitrate) object[Strings.bitrateMode] = _toJSValue(bitrateMode) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _codec = ReadWriteAttribute(jsObject: object, name: Strings.codec) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _numberOfChannels = ReadWriteAttribute(jsObject: object, name: Strings.numberOfChannels) - _bitrate = ReadWriteAttribute(jsObject: object, name: Strings.bitrate) - _bitrateMode = ReadWriteAttribute(jsObject: object, name: Strings.bitrateMode) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var codec: String - - @ReadWriteAttribute - public var sampleRate: UInt32 - - @ReadWriteAttribute - public var numberOfChannels: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var bitrate: UInt64 - - @ReadWriteAttribute - public var bitrateMode: BitrateMode + @inlinable public var codec: String { + get { jsObject[Strings.codec].fromJSValue()! } + set { jsObject[Strings.codec] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: UInt32 { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var numberOfChannels: UInt32 { + get { jsObject[Strings.numberOfChannels].fromJSValue()! } + set { jsObject[Strings.numberOfChannels] = _toJSValue(newValue) } + } + @inlinable public var bitrate: UInt64 { + get { jsObject[Strings.bitrate].fromJSValue()! } + set { jsObject[Strings.bitrate] = _toJSValue(newValue) } + } + @inlinable public var bitrateMode: BitrateMode { + get { jsObject[Strings.bitrateMode].fromJSValue()! } + set { jsObject[Strings.bitrateMode] = _toJSValue(newValue) } + } } +open class AudioEncoderInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class AudioEncoderInit: BridgedDictionary { - public convenience init(output: @escaping EncodedAudioChunkOutputCallback, error: @escaping WebCodecsErrorCallback) { + public convenience init(output: @escaping EncodedAudioChunkOutputCallback, error: @escaping WebCodecsErrorCallback) + { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute2Void[Strings.output, in: object] = output - ClosureAttribute1Void[Strings.error, in: object] = error - self.init(unsafelyWrapping: object) - } + object[Strings.output] = _toJSValue(output) + object[Strings.error] = _toJSValue(error) - public required init(unsafelyWrapping object: JSObject) { - _output = ClosureAttribute2Void(jsObject: object, name: Strings.output) - _error = ClosureAttribute1Void(jsObject: object, name: Strings.error) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ClosureAttribute2Void - public var output: EncodedAudioChunkOutputCallback + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ClosureAttribute1Void - public var error: WebCodecsErrorCallback + @inlinable public var output: EncodedAudioChunkOutputCallback { + get { + let function = jsObject[Strings.output].function! + return { function(_toJSValue($0), _toJSValue($1)) } + } + set { + jsObject[Strings.output] = + JSClosure { + newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!) + return .undefined + }.jsValue + } + } + @inlinable public var error: WebCodecsErrorCallback { + get { + let function = jsObject[Strings.error].function! + return { function(_toJSValue($0)) } + } + set { + jsObject[Strings.error] = + JSClosure { + newValue($0[0].fromJSValue()!) + return .undefined + }.jsValue + } + } } +open class AudioEncoderSupport: JSDictionaryCompatible { + public let jsObject: JSObject -public class AudioEncoderSupport: BridgedDictionary { - public convenience init(supported: Bool, config: AudioEncoderConfig) { + public convenience init(supported: Bool? = nil, config: AudioEncoderConfig? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.supported] = _toJSValue(supported) object[Strings.config] = _toJSValue(config) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _supported = ReadWriteAttribute(jsObject: object, name: Strings.supported) - _config = ReadWriteAttribute(jsObject: object, name: Strings.config) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var supported: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var config: AudioEncoderConfig + @inlinable public var supported: Bool { + get { jsObject[Strings.supported].fromJSValue()! } + set { jsObject[Strings.supported] = _toJSValue(newValue) } + } + @inlinable public var config: AudioEncoderConfig { + get { jsObject[Strings.config].fromJSValue()! } + set { jsObject[Strings.config] = _toJSValue(newValue) } + } } - public enum AudioSampleFormat: JSString, JSValueCompatible { case u8 = "u8" case s16 = "s16" @@ -915,84 +974,92 @@ public enum AudioSampleFormat: JSString, JSValueCompatible { case f32Planar = "f32-planar" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class AudioTrack: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.AudioTrack].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) - _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) - _language = ReadonlyAttribute(jsObject: jsObject, name: Strings.language) - _enabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.enabled) - _sourceBuffer = ReadonlyAttribute(jsObject: jsObject, name: Strings.sourceBuffer) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var kind: String + @inlinable public var kind: String { jsObject[Strings.kind].fromJSValue()! } - @ReadonlyAttribute - public var label: String + @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } - @ReadonlyAttribute - public var language: String + @inlinable public var language: String { jsObject[Strings.language].fromJSValue()! } - @ReadWriteAttribute - public var enabled: Bool + @inlinable public var enabled: Bool { + get { jsObject[Strings.enabled].fromJSValue()! } + set { jsObject[Strings.enabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var sourceBuffer: SourceBuffer? + @inlinable public var sourceBuffer: SourceBuffer? { jsObject[Strings.sourceBuffer].fromJSValue() } } public class AudioTrackList: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioTrackList].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioTrackList].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) - _onaddtrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddtrack) - _onremovetrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovetrack) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> AudioTrack { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> AudioTrack { jsObject[key].fromJSValue()! } - @inlinable public func getTrackById(id: String) -> AudioTrack? { + @inlinable final public func getTrackById(id: String) -> AudioTrack? { let this = jsObject return this[Strings.getTrackById].function!(this: this, arguments: [_toJSValue(id)]).fromJSValue() } - @ClosureAttribute1Optional - public var onchange: EventHandler + @inlinable public var onchange: EventHandler { + get { + guard let function = jsObject[Strings.onchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onchange] = .null + } + } + } - @ClosureAttribute1Optional - public var onaddtrack: EventHandler + @inlinable public var onaddtrack: EventHandler { + get { + guard let function = jsObject[Strings.onaddtrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onaddtrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onaddtrack] = .null + } + } + } - @ClosureAttribute1Optional - public var onremovetrack: EventHandler + @inlinable public var onremovetrack: EventHandler { + get { + guard let function = jsObject[Strings.onremovetrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onremovetrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onremovetrack] = .null + } + } + } } public class BarProp: JSBridgedClass { @@ -1000,34 +1067,28 @@ public class BarProp: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _visible = ReadonlyAttribute(jsObject: jsObject, name: Strings.visible) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var visible: Bool + @inlinable public var visible: Bool { jsObject[Strings.visible].fromJSValue()! } } public class BeforeUnloadEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.BeforeUnloadEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _returnValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.returnValue) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.BeforeUnloadEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @available(*, unavailable) override public var returnValue: Bool { - get { !_returnValue.wrappedValue.isEmpty } + get { !self.returnValueAsString.isEmpty } set {} } - @usableFromInline let _returnValue: ReadWriteAttribute // renamed because `String` is not compatible with `Bool` @inlinable public var returnValueAsString: String { - get { _returnValue.wrappedValue } - set { _returnValue.wrappedValue = newValue } + get { self.jsObject[Strings.returnValue].string! } + set { self.jsObject[Strings.returnValue] = .string(newValue) } } } @@ -1036,257 +1097,282 @@ public enum BitrateMode: JSString, JSValueCompatible { case variable = "variable" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class Blob: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Blob].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(blobParts: [BlobPart]? = nil, options: BlobPropertyBag? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(blobParts), _toJSValue(options)])) } - @ReadonlyAttribute - public var size: UInt64 + @inlinable public var size: UInt64 { jsObject[Strings.size].fromJSValue()! } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @inlinable public func slice(start: Int64? = nil, end: Int64? = nil, contentType: String? = nil) -> Self { + @inlinable final public func slice(start: Int64? = nil, end: Int64? = nil, contentType: String? = nil) -> Blob { let this = jsObject - return this[Strings.slice].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(contentType)]).fromJSValue()! + return this[Strings.slice].function!( + this: this, + arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(contentType)] + ).fromJSValue()! } - @inlinable public func stream() -> ReadableStream { + @inlinable final public func stream() -> ReadableStream { let this = jsObject return this[Strings.stream].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func text() -> JSPromise { + @inlinable final public func text() -> JSPromise { let this = jsObject return this[Strings.text].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func text() async throws -> String { - let this = jsObject - let _promise: JSPromise = this[Strings.text].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func text() + async throws(JSException) -> String + { + let this = jsObject + let _promise: JSPromise = this[Strings.text].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func arrayBuffer() -> JSPromise { + @inlinable final public func arrayBuffer() -> JSPromise { let this = jsObject return this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func arrayBuffer() async throws -> ArrayBuffer { - let this = jsObject - let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func arrayBuffer() + async throws(JSException) -> ArrayBuffer + { + let this = jsObject + let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } public class BlobEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.BlobEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.BlobEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) - _timecode = ReadonlyAttribute(jsObject: jsObject, name: Strings.timecode) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: BlobEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var data: Blob + @inlinable public var data: Blob { jsObject[Strings.data].fromJSValue()! } - @ReadonlyAttribute - public var timecode: DOMHighResTimeStamp + @inlinable public var timecode: DOMHighResTimeStamp { jsObject[Strings.timecode].fromJSValue()! } } -public class BlobEventInit: BridgedDictionary { - public convenience init(data: Blob, timecode: DOMHighResTimeStamp) { +open class BlobEventInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(data: Blob, timecode: DOMHighResTimeStamp? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.data] = _toJSValue(data) object[Strings.timecode] = _toJSValue(timecode) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - _timecode = ReadWriteAttribute(jsObject: object, name: Strings.timecode) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var data: Blob + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var timecode: DOMHighResTimeStamp + @inlinable public var data: Blob { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } + @inlinable public var timecode: DOMHighResTimeStamp { + get { jsObject[Strings.timecode].fromJSValue()! } + set { jsObject[Strings.timecode] = _toJSValue(newValue) } + } } +open class BlobPropertyBag: JSDictionaryCompatible { + public let jsObject: JSObject -public class BlobPropertyBag: BridgedDictionary { - public convenience init(type: String, endings: EndingType) { + public convenience init(type: String? = nil, endings: EndingType? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.endings] = _toJSValue(endings) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _endings = ReadWriteAttribute(jsObject: object, name: Strings.endings) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: String + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var endings: EndingType + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var endings: EndingType { + get { jsObject[Strings.endings].fromJSValue()! } + set { jsObject[Strings.endings] = _toJSValue(newValue) } + } } - public protocol Body: JSBridgedClass {} -public extension Body { - @inlinable var body: ReadableStream? { jsObject[Strings.body].fromJSValue() } +extension Body { + @inlinable public var body: ReadableStream? { jsObject[Strings.body].fromJSValue() } - @inlinable var bodyUsed: Bool { jsObject[Strings.bodyUsed].fromJSValue()! } + @inlinable public var bodyUsed: Bool { jsObject[Strings.bodyUsed].fromJSValue()! } - @inlinable func arrayBuffer() -> JSPromise { + @inlinable public func arrayBuffer() -> JSPromise { let this = jsObject return this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func arrayBuffer() async throws -> ArrayBuffer { - let this = jsObject - let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func arrayBuffer() + async throws(JSException) -> ArrayBuffer + { + let this = jsObject + let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable func blob() -> JSPromise { + @inlinable public func blob() -> JSPromise { let this = jsObject return this[Strings.blob].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func blob() async throws -> Blob { - let this = jsObject - let _promise: JSPromise = this[Strings.blob].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func blob() + async throws(JSException) -> Blob + { + let this = jsObject + let _promise: JSPromise = this[Strings.blob].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable func formData() -> JSPromise { + @inlinable public func formData() -> JSPromise { let this = jsObject return this[Strings.formData].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func formData() async throws -> FormData { - let this = jsObject - let _promise: JSPromise = this[Strings.formData].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func formData() + async throws(JSException) -> FormData + { + let this = jsObject + let _promise: JSPromise = this[Strings.formData].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable func json() -> JSPromise { + @inlinable public func json() -> JSPromise { let this = jsObject return this[Strings.json].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func json() async throws -> JSValue { - let this = jsObject - let _promise: JSPromise = this[Strings.json].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func json() + async throws(JSException) -> JSValue + { + let this = jsObject + let _promise: JSPromise = this[Strings.json].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable func text() -> JSPromise { + @inlinable public func text() -> JSPromise { let this = jsObject return this[Strings.text].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func text() async throws -> String { - let this = jsObject - let _promise: JSPromise = this[Strings.text].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func text() + async throws(JSException) -> String + { + let this = jsObject + let _promise: JSPromise = this[Strings.text].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } +open class BoxQuadOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class BoxQuadOptions: BridgedDictionary { - public convenience init(box: CSSBoxType, relativeTo: GeometryNode) { + public convenience init(box: CSSBoxType? = nil, relativeTo: GeometryNode? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.box] = _toJSValue(box) object[Strings.relativeTo] = _toJSValue(relativeTo) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _box = ReadWriteAttribute(jsObject: object, name: Strings.box) - _relativeTo = ReadWriteAttribute(jsObject: object, name: Strings.relativeTo) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var box: CSSBoxType + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var relativeTo: GeometryNode + @inlinable public var box: CSSBoxType { + get { jsObject[Strings.box].fromJSValue()! } + set { jsObject[Strings.box] = _toJSValue(newValue) } + } + @inlinable public var relativeTo: GeometryNode { + get { jsObject[Strings.relativeTo].fromJSValue()! } + set { jsObject[Strings.relativeTo] = _toJSValue(newValue) } + } } - public class BroadcastChannel: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.BroadcastChannel].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.BroadcastChannel].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) - _onmessageerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessageerror) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(name: String) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(name)])) } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @inlinable public func postMessage(message: JSValue) { + @inlinable final public func postMessage(message: JSValue) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message)]) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @ClosureAttribute1Optional - public var onmessage: EventHandler + @inlinable public var onmessage: EventHandler { + get { + guard let function = jsObject[Strings.onmessage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessage] = .null + } + } + } - @ClosureAttribute1Optional - public var onmessageerror: EventHandler + @inlinable public var onmessageerror: EventHandler { + get { + guard let function = jsObject[Strings.onmessageerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessageerror] = .null + } + } + } } public class ByteLengthQueuingStrategy: JSBridgedClass { @@ -1294,29 +1380,22 @@ public class ByteLengthQueuingStrategy: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _highWaterMark = ReadonlyAttribute(jsObject: jsObject, name: Strings.highWaterMark) - _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: QueuingStrategyInit) { + @inlinable public convenience init(`init`: QueuingStrategyInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var highWaterMark: Double + @inlinable public var highWaterMark: Double { jsObject[Strings.highWaterMark].fromJSValue()! } - @ReadonlyAttribute - public var size: JSFunction + @inlinable public var size: JSFunction { jsObject[Strings.size].fromJSValue()! } } public class CDATASection: Text { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CDATASection].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CDATASection].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public enum CSSBoxType: JSString, JSValueCompatible { @@ -1326,39 +1405,26 @@ public enum CSSBoxType: JSString, JSValueCompatible { case content = "content" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class CSSPseudoElement: EventTarget, GeometryUtils { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSPseudoElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSPseudoElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _element = ReadonlyAttribute(jsObject: jsObject, name: Strings.element) - _parent = ReadonlyAttribute(jsObject: jsObject, name: Strings.parent) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var element: Element + @inlinable public var element: Element { jsObject[Strings.element].fromJSValue()! } - @ReadonlyAttribute - public var parent: CSSPseudoElement_or_Element + @inlinable public var parent: CSSPseudoElement_or_Element { jsObject[Strings.parent].fromJSValue()! } - @inlinable public func pseudo(type: String) -> CSSPseudoElement? { + @inlinable final public func pseudo(type: String) -> CSSPseudoElement? { let this = jsObject return this[Strings.pseudo].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue() } @@ -1369,412 +1435,507 @@ public class Cache: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func match(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable final public func match(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func match(request: RequestInfo, options: CacheQueryOptions? = nil) async throws -> Response? { - let this = jsObject - let _promise: JSPromise = this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func match( + request: RequestInfo, + options: CacheQueryOptions? = nil + ) async throws(JSException) -> Response? { + let this = jsObject + let _promise: JSPromise = this[Strings.match].function!( + this: this, + arguments: [_toJSValue(request), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func matchAll(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable final public func matchAll(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.matchAll].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return this[Strings.matchAll].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func matchAll(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) async throws -> [Response] { - let this = jsObject - let _promise: JSPromise = this[Strings.matchAll].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func matchAll( + request: RequestInfo? = nil, + options: CacheQueryOptions? = nil + ) async throws(JSException) -> [Response] { + let this = jsObject + let _promise: JSPromise = this[Strings.matchAll].function!( + this: this, + arguments: [_toJSValue(request), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func add(request: RequestInfo) -> JSPromise { + @inlinable final public func add(request: RequestInfo) -> JSPromise { let this = jsObject return this[Strings.add].function!(this: this, arguments: [_toJSValue(request)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func add(request: RequestInfo) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.add].function!(this: this, arguments: [_toJSValue(request)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func add( + request: RequestInfo + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.add].function!(this: this, arguments: [_toJSValue(request)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func addAll(requests: [RequestInfo]) -> JSPromise { + @inlinable final public func addAll(requests: [RequestInfo]) -> JSPromise { let this = jsObject return this[Strings.addAll].function!(this: this, arguments: [_toJSValue(requests)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func addAll(requests: [RequestInfo]) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.addAll].function!(this: this, arguments: [_toJSValue(requests)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func addAll( + requests: [RequestInfo] + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.addAll].function!(this: this, arguments: [_toJSValue(requests)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func put(request: RequestInfo, response: Response) -> JSPromise { + @inlinable final public func put(request: RequestInfo, response: Response) -> JSPromise { let this = jsObject - return this[Strings.put].function!(this: this, arguments: [_toJSValue(request), _toJSValue(response)]).fromJSValue()! + return this[Strings.put].function!(this: this, arguments: [_toJSValue(request), _toJSValue(response)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func put(request: RequestInfo, response: Response) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.put].function!(this: this, arguments: [_toJSValue(request), _toJSValue(response)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func put( + request: RequestInfo, + response: Response + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.put].function!( + this: this, + arguments: [_toJSValue(request), _toJSValue(response)] + ).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func delete(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable final public func delete(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.delete].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return this[Strings.delete].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func delete(request: RequestInfo, options: CacheQueryOptions? = nil) async throws -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.delete].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func delete( + request: RequestInfo, + options: CacheQueryOptions? = nil + ) async throws(JSException) -> Bool { + let this = jsObject + let _promise: JSPromise = this[Strings.delete].function!( + this: this, + arguments: [_toJSValue(request), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func keys(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable final public func keys(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.keys].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return this[Strings.keys].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func keys(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) async throws -> [Request] { - let this = jsObject - let _promise: JSPromise = this[Strings.keys].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func keys( + request: RequestInfo? = nil, + options: CacheQueryOptions? = nil + ) async throws(JSException) -> [Request] { + let this = jsObject + let _promise: JSPromise = this[Strings.keys].function!( + this: this, + arguments: [_toJSValue(request), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class CacheQueryOptions: BridgedDictionary { - public convenience init(ignoreSearch: Bool, ignoreMethod: Bool, ignoreVary: Bool) { +open class CacheQueryOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(ignoreSearch: Bool? = nil, ignoreMethod: Bool? = nil, ignoreVary: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.ignoreSearch] = _toJSValue(ignoreSearch) object[Strings.ignoreMethod] = _toJSValue(ignoreMethod) object[Strings.ignoreVary] = _toJSValue(ignoreVary) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _ignoreSearch = ReadWriteAttribute(jsObject: object, name: Strings.ignoreSearch) - _ignoreMethod = ReadWriteAttribute(jsObject: object, name: Strings.ignoreMethod) - _ignoreVary = ReadWriteAttribute(jsObject: object, name: Strings.ignoreVary) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var ignoreSearch: Bool - - @ReadWriteAttribute - public var ignoreMethod: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var ignoreVary: Bool + @inlinable public var ignoreSearch: Bool { + get { jsObject[Strings.ignoreSearch].fromJSValue()! } + set { jsObject[Strings.ignoreSearch] = _toJSValue(newValue) } + } + @inlinable public var ignoreMethod: Bool { + get { jsObject[Strings.ignoreMethod].fromJSValue()! } + set { jsObject[Strings.ignoreMethod] = _toJSValue(newValue) } + } + @inlinable public var ignoreVary: Bool { + get { jsObject[Strings.ignoreVary].fromJSValue()! } + set { jsObject[Strings.ignoreVary] = _toJSValue(newValue) } + } } - public class CacheStorage: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CacheStorage].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func match(request: RequestInfo, options: MultiCacheQueryOptions? = nil) -> JSPromise { + @inlinable final public func match(request: RequestInfo, options: MultiCacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func match(request: RequestInfo, options: MultiCacheQueryOptions? = nil) async throws -> Response? { - let this = jsObject - let _promise: JSPromise = this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func match( + request: RequestInfo, + options: MultiCacheQueryOptions? = nil + ) async throws(JSException) -> Response? { + let this = jsObject + let _promise: JSPromise = this[Strings.match].function!( + this: this, + arguments: [_toJSValue(request), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func has(cacheName: String) -> JSPromise { + @inlinable final public func has(cacheName: String) -> JSPromise { let this = jsObject return this[Strings.has].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func has(cacheName: String) async throws -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.has].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func has( + cacheName: String + ) async throws(JSException) -> Bool { + let this = jsObject + let _promise: JSPromise = this[Strings.has].function!(this: this, arguments: [_toJSValue(cacheName)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func open(cacheName: String) -> JSPromise { + @inlinable final public func open(cacheName: String) -> JSPromise { let this = jsObject return this[Strings.open].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func open(cacheName: String) async throws -> Cache { - let this = jsObject - let _promise: JSPromise = this[Strings.open].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func open( + cacheName: String + ) async throws(JSException) -> Cache { + let this = jsObject + let _promise: JSPromise = this[Strings.open].function!(this: this, arguments: [_toJSValue(cacheName)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func delete(cacheName: String) -> JSPromise { + @inlinable final public func delete(cacheName: String) -> JSPromise { let this = jsObject return this[Strings.delete].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func delete(cacheName: String) async throws -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.delete].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func delete( + cacheName: String + ) async throws(JSException) -> Bool { + let this = jsObject + let _promise: JSPromise = this[Strings.delete].function!(this: this, arguments: [_toJSValue(cacheName)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func keys() -> JSPromise { + @inlinable final public func keys() -> JSPromise { let this = jsObject return this[Strings.keys].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func keys() async throws -> [String] { - let this = jsObject - let _promise: JSPromise = this[Strings.keys].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func keys() + async throws(JSException) -> [String] + { + let this = jsObject + let _promise: JSPromise = this[Strings.keys].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class CameraDevicePermissionDescriptor: BridgedDictionary { - public convenience init(panTiltZoom: Bool) { +open class CameraDevicePermissionDescriptor: DevicePermissionDescriptor { + + public convenience init(deviceId: String? = nil, panTiltZoom: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.panTiltZoom] = _toJSValue(panTiltZoom) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _panTiltZoom = ReadWriteAttribute(jsObject: object, name: Strings.panTiltZoom) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var panTiltZoom: Bool + @inlinable public var panTiltZoom: Bool { + get { jsObject[Strings.panTiltZoom].fromJSValue()! } + set { jsObject[Strings.panTiltZoom] = _toJSValue(newValue) } + } } - public enum CanPlayTypeResult: JSString, JSValueCompatible { case _empty = "" case maybe = "maybe" case probably = "probably" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol CanvasCompositing: JSBridgedClass {} -public extension CanvasCompositing { - @inlinable var globalAlpha: Double { +extension CanvasCompositing { + @inlinable public var globalAlpha: Double { get { jsObject[Strings.globalAlpha].fromJSValue()! } - nonmutating set { jsObject[Strings.globalAlpha] = _toJSValue(newValue) } + set { jsObject[Strings.globalAlpha] = _toJSValue(newValue) } } - @inlinable var globalCompositeOperation: String { + @inlinable public var globalCompositeOperation: String { get { jsObject[Strings.globalCompositeOperation].fromJSValue()! } - nonmutating set { jsObject[Strings.globalCompositeOperation] = _toJSValue(newValue) } + set { jsObject[Strings.globalCompositeOperation] = _toJSValue(newValue) } } } - public enum CanvasDirection: JSString, JSValueCompatible { case ltr = "ltr" case rtl = "rtl" case inherit = "inherit" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol CanvasDrawImage: JSBridgedClass {} -public extension CanvasDrawImage { - @inlinable func drawImage(image: CanvasImageSource, dx: Double, dy: Double) { +extension CanvasDrawImage { + @inlinable public func drawImage(image: CanvasImageSource, dx: Double, dy: Double) { let this = jsObject - _ = this[Strings.drawImage].function!(this: this, arguments: [_toJSValue(image), _toJSValue(dx), _toJSValue(dy)]) + _ = this[Strings.drawImage].function!( + this: this, + arguments: [_toJSValue(image), _toJSValue(dx), _toJSValue(dy)] + ) } - @inlinable func drawImage(image: CanvasImageSource, dx: Double, dy: Double, dw: Double, dh: Double) { + @inlinable public func drawImage(image: CanvasImageSource, dx: Double, dy: Double, dw: Double, dh: Double) { let this = jsObject - _ = this[Strings.drawImage].function!(this: this, arguments: [_toJSValue(image), _toJSValue(dx), _toJSValue(dy), _toJSValue(dw), _toJSValue(dh)]) + _ = this[Strings.drawImage].function!( + this: this, + arguments: [_toJSValue(image), _toJSValue(dx), _toJSValue(dy), _toJSValue(dw), _toJSValue(dh)] + ) } - @inlinable func drawImage(image: CanvasImageSource, sx: Double, sy: Double, sw: Double, sh: Double, dx: Double, dy: Double, dw: Double, dh: Double) { + @inlinable public func drawImage( + image: CanvasImageSource, + sx: Double, + sy: Double, + sw: Double, + sh: Double, + dx: Double, + dy: Double, + dw: Double, + dh: Double + ) { let this = jsObject - _ = this[Strings.drawImage].function!(this: this, arguments: [_toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(dx), _toJSValue(dy), _toJSValue(dw), _toJSValue(dh)]) + _ = this[Strings.drawImage].function!( + this: this, + arguments: [ + _toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(dx), + _toJSValue(dy), _toJSValue(dw), _toJSValue(dh), + ] + ) } } - public protocol CanvasDrawPath: JSBridgedClass {} -public extension CanvasDrawPath { - @inlinable func beginPath() { +extension CanvasDrawPath { + @inlinable public func beginPath() { let this = jsObject _ = this[Strings.beginPath].function!(this: this, arguments: []) } - @inlinable func fill(fillRule: CanvasFillRule? = nil) { + @inlinable public func fill(fillRule: CanvasFillRule? = nil) { let this = jsObject _ = this[Strings.fill].function!(this: this, arguments: [_toJSValue(fillRule)]) } - @inlinable func fill(path: Path2D, fillRule: CanvasFillRule? = nil) { + @inlinable public func fill(path: Path2D, fillRule: CanvasFillRule? = nil) { let this = jsObject _ = this[Strings.fill].function!(this: this, arguments: [_toJSValue(path), _toJSValue(fillRule)]) } - @inlinable func stroke() { + @inlinable public func stroke() { let this = jsObject _ = this[Strings.stroke].function!(this: this, arguments: []) } - @inlinable func stroke(path: Path2D) { + @inlinable public func stroke(path: Path2D) { let this = jsObject _ = this[Strings.stroke].function!(this: this, arguments: [_toJSValue(path)]) } - @inlinable func clip(fillRule: CanvasFillRule? = nil) { + @inlinable public func clip(fillRule: CanvasFillRule? = nil) { let this = jsObject _ = this[Strings.clip].function!(this: this, arguments: [_toJSValue(fillRule)]) } - @inlinable func clip(path: Path2D, fillRule: CanvasFillRule? = nil) { + @inlinable public func clip(path: Path2D, fillRule: CanvasFillRule? = nil) { let this = jsObject _ = this[Strings.clip].function!(this: this, arguments: [_toJSValue(path), _toJSValue(fillRule)]) } - @inlinable func isPointInPath(x: Double, y: Double, fillRule: CanvasFillRule? = nil) -> Bool { + @inlinable public func isPointInPath(x: Double, y: Double, fillRule: CanvasFillRule? = nil) -> Bool { let this = jsObject - return this[Strings.isPointInPath].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(fillRule)]).fromJSValue()! + return this[Strings.isPointInPath].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(fillRule)] + ).fromJSValue()! } - @inlinable func isPointInPath(path: Path2D, x: Double, y: Double, fillRule: CanvasFillRule? = nil) -> Bool { + @inlinable public func isPointInPath(path: Path2D, x: Double, y: Double, fillRule: CanvasFillRule? = nil) -> Bool { let this = jsObject - return this[Strings.isPointInPath].function!(this: this, arguments: [_toJSValue(path), _toJSValue(x), _toJSValue(y), _toJSValue(fillRule)]).fromJSValue()! + return this[Strings.isPointInPath].function!( + this: this, + arguments: [_toJSValue(path), _toJSValue(x), _toJSValue(y), _toJSValue(fillRule)] + ).fromJSValue()! } - @inlinable func isPointInStroke(x: Double, y: Double) -> Bool { + @inlinable public func isPointInStroke(x: Double, y: Double) -> Bool { let this = jsObject - return this[Strings.isPointInStroke].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue()! + return this[Strings.isPointInStroke].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) + .fromJSValue()! } - @inlinable func isPointInStroke(path: Path2D, x: Double, y: Double) -> Bool { + @inlinable public func isPointInStroke(path: Path2D, x: Double, y: Double) -> Bool { let this = jsObject - return this[Strings.isPointInStroke].function!(this: this, arguments: [_toJSValue(path), _toJSValue(x), _toJSValue(y)]).fromJSValue()! + return this[Strings.isPointInStroke].function!( + this: this, + arguments: [_toJSValue(path), _toJSValue(x), _toJSValue(y)] + ).fromJSValue()! } } - public enum CanvasFillRule: JSString, JSValueCompatible { case nonzero = "nonzero" case evenodd = "evenodd" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol CanvasFillStrokeStyles: JSBridgedClass {} -public extension CanvasFillStrokeStyles { - @inlinable var strokeStyle: CanvasGradient_or_CanvasPattern_or_String { +extension CanvasFillStrokeStyles { + @inlinable public var strokeStyle: CanvasGradient_or_CanvasPattern_or_String { get { jsObject[Strings.strokeStyle].fromJSValue()! } - nonmutating set { jsObject[Strings.strokeStyle] = _toJSValue(newValue) } + set { jsObject[Strings.strokeStyle] = _toJSValue(newValue) } } - @inlinable var fillStyle: CanvasGradient_or_CanvasPattern_or_String { + @inlinable public var fillStyle: CanvasGradient_or_CanvasPattern_or_String { get { jsObject[Strings.fillStyle].fromJSValue()! } - nonmutating set { jsObject[Strings.fillStyle] = _toJSValue(newValue) } + set { jsObject[Strings.fillStyle] = _toJSValue(newValue) } } - @inlinable func createLinearGradient(x0: Double, y0: Double, x1: Double, y1: Double) -> CanvasGradient { + @inlinable public func createLinearGradient(x0: Double, y0: Double, x1: Double, y1: Double) -> CanvasGradient { let this = jsObject - return this[Strings.createLinearGradient].function!(this: this, arguments: [_toJSValue(x0), _toJSValue(y0), _toJSValue(x1), _toJSValue(y1)]).fromJSValue()! + return this[Strings.createLinearGradient].function!( + this: this, + arguments: [_toJSValue(x0), _toJSValue(y0), _toJSValue(x1), _toJSValue(y1)] + ).fromJSValue()! } - @inlinable func createRadialGradient(x0: Double, y0: Double, r0: Double, x1: Double, y1: Double, r1: Double) -> CanvasGradient { + @inlinable public func createRadialGradient( + x0: Double, + y0: Double, + r0: Double, + x1: Double, + y1: Double, + r1: Double + ) -> CanvasGradient { let this = jsObject - return this[Strings.createRadialGradient].function!(this: this, arguments: [_toJSValue(x0), _toJSValue(y0), _toJSValue(r0), _toJSValue(x1), _toJSValue(y1), _toJSValue(r1)]).fromJSValue()! + return this[Strings.createRadialGradient].function!( + this: this, + arguments: [_toJSValue(x0), _toJSValue(y0), _toJSValue(r0), _toJSValue(x1), _toJSValue(y1), _toJSValue(r1)] + ).fromJSValue()! } - @inlinable func createConicGradient(startAngle: Double, x: Double, y: Double) -> CanvasGradient { + @inlinable public func createConicGradient(startAngle: Double, x: Double, y: Double) -> CanvasGradient { let this = jsObject - return this[Strings.createConicGradient].function!(this: this, arguments: [_toJSValue(startAngle), _toJSValue(x), _toJSValue(y)]).fromJSValue()! + return this[Strings.createConicGradient].function!( + this: this, + arguments: [_toJSValue(startAngle), _toJSValue(x), _toJSValue(y)] + ).fromJSValue()! } - @inlinable func createPattern(image: CanvasImageSource, repetition: String) -> CanvasPattern? { + @inlinable public func createPattern(image: CanvasImageSource, repetition: String) -> CanvasPattern? { let this = jsObject - return this[Strings.createPattern].function!(this: this, arguments: [_toJSValue(image), _toJSValue(repetition)]).fromJSValue() + return this[Strings.createPattern].function!( + this: this, + arguments: [_toJSValue(image), _toJSValue(repetition)] + ).fromJSValue() } } - public protocol CanvasFilters: JSBridgedClass {} -public extension CanvasFilters { - @inlinable var filter: String { +extension CanvasFilters { + @inlinable public var filter: String { get { jsObject[Strings.filter].fromJSValue()! } - nonmutating set { jsObject[Strings.filter] = _toJSValue(newValue) } + set { jsObject[Strings.filter] = _toJSValue(newValue) } } } - public enum CanvasFontKerning: JSString, JSValueCompatible { case auto = "auto" case normal = "normal" case none = "none" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum CanvasFontStretch: JSString, JSValueCompatible { case ultraCondensed = "ultra-condensed" case extraCondensed = "extra-condensed" @@ -1787,19 +1948,14 @@ public enum CanvasFontStretch: JSString, JSValueCompatible { case ultraExpanded = "ultra-expanded" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum CanvasFontVariantCaps: JSString, JSValueCompatible { case normal = "normal" case smallCaps = "small-caps" @@ -1810,351 +1966,425 @@ public enum CanvasFontVariantCaps: JSString, JSValueCompatible { case titlingCaps = "titling-caps" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class CanvasGradient: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CanvasGradient].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func addColorStop(offset: Double, color: String) { + @inlinable final public func addColorStop(offset: Double, color: String) { let this = jsObject _ = this[Strings.addColorStop].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(color)]) } } public protocol CanvasImageData: JSBridgedClass {} -public extension CanvasImageData { - @inlinable func createImageData(sw: Int32, sh: Int32, settings: ImageDataSettings? = nil) -> ImageData { +extension CanvasImageData { + @inlinable public func createImageData(sw: Int32, sh: Int32, settings: ImageDataSettings? = nil) -> ImageData { let this = jsObject - return this[Strings.createImageData].function!(this: this, arguments: [_toJSValue(sw), _toJSValue(sh), _toJSValue(settings)]).fromJSValue()! + return this[Strings.createImageData].function!( + this: this, + arguments: [_toJSValue(sw), _toJSValue(sh), _toJSValue(settings)] + ).fromJSValue()! } - @inlinable func createImageData(imagedata: ImageData) -> ImageData { + @inlinable public func createImageData(imagedata: ImageData) -> ImageData { let this = jsObject return this[Strings.createImageData].function!(this: this, arguments: [_toJSValue(imagedata)]).fromJSValue()! } - @inlinable func getImageData(sx: Int32, sy: Int32, sw: Int32, sh: Int32, settings: ImageDataSettings? = nil) -> ImageData { + @inlinable public func getImageData( + sx: Int32, + sy: Int32, + sw: Int32, + sh: Int32, + settings: ImageDataSettings? = nil + ) -> ImageData { let this = jsObject - return this[Strings.getImageData].function!(this: this, arguments: [_toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(settings)]).fromJSValue()! + return this[Strings.getImageData].function!( + this: this, + arguments: [_toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(settings)] + ).fromJSValue()! } - @inlinable func putImageData(imagedata: ImageData, dx: Int32, dy: Int32) { + @inlinable public func putImageData(imagedata: ImageData, dx: Int32, dy: Int32) { let this = jsObject - _ = this[Strings.putImageData].function!(this: this, arguments: [_toJSValue(imagedata), _toJSValue(dx), _toJSValue(dy)]) + _ = this[Strings.putImageData].function!( + this: this, + arguments: [_toJSValue(imagedata), _toJSValue(dx), _toJSValue(dy)] + ) } - @inlinable func putImageData(imagedata: ImageData, dx: Int32, dy: Int32, dirtyX: Int32, dirtyY: Int32, dirtyWidth: Int32, dirtyHeight: Int32) { + @inlinable public func putImageData( + imagedata: ImageData, + dx: Int32, + dy: Int32, + dirtyX: Int32, + dirtyY: Int32, + dirtyWidth: Int32, + dirtyHeight: Int32 + ) { let this = jsObject - _ = this[Strings.putImageData].function!(this: this, arguments: [_toJSValue(imagedata), _toJSValue(dx), _toJSValue(dy), _toJSValue(dirtyX), _toJSValue(dirtyY), _toJSValue(dirtyWidth), _toJSValue(dirtyHeight)]) + _ = this[Strings.putImageData].function!( + this: this, + arguments: [ + _toJSValue(imagedata), _toJSValue(dx), _toJSValue(dy), _toJSValue(dirtyX), _toJSValue(dirtyY), + _toJSValue(dirtyWidth), _toJSValue(dirtyHeight), + ] + ) } } - public protocol CanvasImageSmoothing: JSBridgedClass {} -public extension CanvasImageSmoothing { - @inlinable var imageSmoothingEnabled: Bool { +extension CanvasImageSmoothing { + @inlinable public var imageSmoothingEnabled: Bool { get { jsObject[Strings.imageSmoothingEnabled].fromJSValue()! } - nonmutating set { jsObject[Strings.imageSmoothingEnabled] = _toJSValue(newValue) } + set { jsObject[Strings.imageSmoothingEnabled] = _toJSValue(newValue) } } - @inlinable var imageSmoothingQuality: ImageSmoothingQuality { + @inlinable public var imageSmoothingQuality: ImageSmoothingQuality { get { jsObject[Strings.imageSmoothingQuality].fromJSValue()! } - nonmutating set { jsObject[Strings.imageSmoothingQuality] = _toJSValue(newValue) } + set { jsObject[Strings.imageSmoothingQuality] = _toJSValue(newValue) } } } - public enum CanvasLineCap: JSString, JSValueCompatible { case butt = "butt" case round = "round" case square = "square" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum CanvasLineJoin: JSString, JSValueCompatible { case round = "round" case bevel = "bevel" case miter = "miter" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol CanvasPath: JSBridgedClass {} -public extension CanvasPath { - @inlinable func closePath() { +extension CanvasPath { + @inlinable public func closePath() { let this = jsObject _ = this[Strings.closePath].function!(this: this, arguments: []) } - @inlinable func moveTo(x: Double, y: Double) { + @inlinable public func moveTo(x: Double, y: Double) { let this = jsObject _ = this[Strings.moveTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable func lineTo(x: Double, y: Double) { + @inlinable public func lineTo(x: Double, y: Double) { let this = jsObject _ = this[Strings.lineTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable func quadraticCurveTo(cpx: Double, cpy: Double, x: Double, y: Double) { + @inlinable public func quadraticCurveTo(cpx: Double, cpy: Double, x: Double, y: Double) { let this = jsObject - _ = this[Strings.quadraticCurveTo].function!(this: this, arguments: [_toJSValue(cpx), _toJSValue(cpy), _toJSValue(x), _toJSValue(y)]) + _ = this[Strings.quadraticCurveTo].function!( + this: this, + arguments: [_toJSValue(cpx), _toJSValue(cpy), _toJSValue(x), _toJSValue(y)] + ) } - @inlinable func bezierCurveTo(cp1x: Double, cp1y: Double, cp2x: Double, cp2y: Double, x: Double, y: Double) { + @inlinable public func bezierCurveTo(cp1x: Double, cp1y: Double, cp2x: Double, cp2y: Double, x: Double, y: Double) { let this = jsObject - _ = this[Strings.bezierCurveTo].function!(this: this, arguments: [_toJSValue(cp1x), _toJSValue(cp1y), _toJSValue(cp2x), _toJSValue(cp2y), _toJSValue(x), _toJSValue(y)]) + _ = this[Strings.bezierCurveTo].function!( + this: this, + arguments: [ + _toJSValue(cp1x), _toJSValue(cp1y), _toJSValue(cp2x), _toJSValue(cp2y), _toJSValue(x), _toJSValue(y), + ] + ) } - @inlinable func arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radius: Double) { + @inlinable public func arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radius: Double) { let this = jsObject - _ = this[Strings.arcTo].function!(this: this, arguments: [_toJSValue(x1), _toJSValue(y1), _toJSValue(x2), _toJSValue(y2), _toJSValue(radius)]) + _ = this[Strings.arcTo].function!( + this: this, + arguments: [_toJSValue(x1), _toJSValue(y1), _toJSValue(x2), _toJSValue(y2), _toJSValue(radius)] + ) } - @inlinable func rect(x: Double, y: Double, w: Double, h: Double) { + @inlinable public func rect(x: Double, y: Double, w: Double, h: Double) { let this = jsObject - _ = this[Strings.rect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)]) + _ = this[Strings.rect].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)] + ) } - @inlinable func roundRect(x: Double, y: Double, w: Double, h: Double, radii: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double? = nil) { + @inlinable public func roundRect( + x: Double, + y: Double, + w: Double, + h: Double, + radii: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double? = nil + ) { let this = jsObject - _ = this[Strings.roundRect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h), _toJSValue(radii)]) + _ = this[Strings.roundRect].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h), _toJSValue(radii)] + ) } - @inlinable func arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double, counterclockwise: Bool? = nil) { + @inlinable public func arc( + x: Double, + y: Double, + radius: Double, + startAngle: Double, + endAngle: Double, + counterclockwise: Bool? = nil + ) { let this = jsObject - _ = this[Strings.arc].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(radius), _toJSValue(startAngle), _toJSValue(endAngle), _toJSValue(counterclockwise)]) + _ = this[Strings.arc].function!( + this: this, + arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(radius), _toJSValue(startAngle), _toJSValue(endAngle), + _toJSValue(counterclockwise), + ] + ) } - @inlinable func ellipse(x: Double, y: Double, radiusX: Double, radiusY: Double, rotation: Double, startAngle: Double, endAngle: Double, counterclockwise: Bool? = nil) { + @inlinable public func ellipse( + x: Double, + y: Double, + radiusX: Double, + radiusY: Double, + rotation: Double, + startAngle: Double, + endAngle: Double, + counterclockwise: Bool? = nil + ) { let this = jsObject - _ = this[Strings.ellipse].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(radiusX), _toJSValue(radiusY), _toJSValue(rotation), _toJSValue(startAngle), _toJSValue(endAngle), _toJSValue(counterclockwise)]) + _ = this[Strings.ellipse].function!( + this: this, + arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(radiusX), _toJSValue(radiusY), _toJSValue(rotation), + _toJSValue(startAngle), _toJSValue(endAngle), _toJSValue(counterclockwise), + ] + ) } } - public protocol CanvasPathDrawingStyles: JSBridgedClass {} -public extension CanvasPathDrawingStyles { - @inlinable var lineWidth: Double { +extension CanvasPathDrawingStyles { + @inlinable public var lineWidth: Double { get { jsObject[Strings.lineWidth].fromJSValue()! } - nonmutating set { jsObject[Strings.lineWidth] = _toJSValue(newValue) } + set { jsObject[Strings.lineWidth] = _toJSValue(newValue) } } - @inlinable var lineCap: CanvasLineCap { + @inlinable public var lineCap: CanvasLineCap { get { jsObject[Strings.lineCap].fromJSValue()! } - nonmutating set { jsObject[Strings.lineCap] = _toJSValue(newValue) } + set { jsObject[Strings.lineCap] = _toJSValue(newValue) } } - @inlinable var lineJoin: CanvasLineJoin { + @inlinable public var lineJoin: CanvasLineJoin { get { jsObject[Strings.lineJoin].fromJSValue()! } - nonmutating set { jsObject[Strings.lineJoin] = _toJSValue(newValue) } + set { jsObject[Strings.lineJoin] = _toJSValue(newValue) } } - @inlinable var miterLimit: Double { + @inlinable public var miterLimit: Double { get { jsObject[Strings.miterLimit].fromJSValue()! } - nonmutating set { jsObject[Strings.miterLimit] = _toJSValue(newValue) } + set { jsObject[Strings.miterLimit] = _toJSValue(newValue) } } - @inlinable func setLineDash(segments: [Double]) { + @inlinable public func setLineDash(segments: [Double]) { let this = jsObject _ = this[Strings.setLineDash].function!(this: this, arguments: [_toJSValue(segments)]) } - @inlinable func getLineDash() -> [Double] { + @inlinable public func getLineDash() -> [Double] { let this = jsObject return this[Strings.getLineDash].function!(this: this, arguments: []).fromJSValue()! } - @inlinable var lineDashOffset: Double { + @inlinable public var lineDashOffset: Double { get { jsObject[Strings.lineDashOffset].fromJSValue()! } - nonmutating set { jsObject[Strings.lineDashOffset] = _toJSValue(newValue) } + set { jsObject[Strings.lineDashOffset] = _toJSValue(newValue) } } } - public class CanvasPattern: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CanvasPattern].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func setTransform(transform: DOMMatrix2DInit? = nil) { + @inlinable final public func setTransform(transform: DOMMatrix2DInit? = nil) { let this = jsObject _ = this[Strings.setTransform].function!(this: this, arguments: [_toJSValue(transform)]) } } public protocol CanvasRect: JSBridgedClass {} -public extension CanvasRect { - @inlinable func clearRect(x: Double, y: Double, w: Double, h: Double) { +extension CanvasRect { + @inlinable public func clearRect(x: Double, y: Double, w: Double, h: Double) { let this = jsObject - _ = this[Strings.clearRect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)]) + _ = this[Strings.clearRect].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)] + ) } - @inlinable func fillRect(x: Double, y: Double, w: Double, h: Double) { + @inlinable public func fillRect(x: Double, y: Double, w: Double, h: Double) { let this = jsObject - _ = this[Strings.fillRect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)]) + _ = this[Strings.fillRect].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)] + ) } - @inlinable func strokeRect(x: Double, y: Double, w: Double, h: Double) { + @inlinable public func strokeRect(x: Double, y: Double, w: Double, h: Double) { let this = jsObject - _ = this[Strings.strokeRect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)]) + _ = this[Strings.strokeRect].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)] + ) } } - -public class CanvasRenderingContext2D: JSBridgedClass, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath { +public class CanvasRenderingContext2D: JSBridgedClass, CanvasState, CanvasTransform, CanvasCompositing, + CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, + CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, + CanvasPath +{ @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CanvasRenderingContext2D].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _canvas = ReadonlyAttribute(jsObject: jsObject, name: Strings.canvas) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var canvas: HTMLCanvasElement + @inlinable public var canvas: HTMLCanvasElement { jsObject[Strings.canvas].fromJSValue()! } - @inlinable public func getContextAttributes() -> CanvasRenderingContext2DSettings { + @inlinable final public func getContextAttributes() -> CanvasRenderingContext2DSettings { let this = jsObject return this[Strings.getContextAttributes].function!(this: this, arguments: []).fromJSValue()! } } -public class CanvasRenderingContext2DSettings: BridgedDictionary { - public convenience init(alpha: Bool, desynchronized: Bool, colorSpace: PredefinedColorSpace, willReadFrequently: Bool) { +open class CanvasRenderingContext2DSettings: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + alpha: Bool? = nil, + desynchronized: Bool? = nil, + colorSpace: PredefinedColorSpace? = nil, + willReadFrequently: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.alpha] = _toJSValue(alpha) object[Strings.desynchronized] = _toJSValue(desynchronized) object[Strings.colorSpace] = _toJSValue(colorSpace) object[Strings.willReadFrequently] = _toJSValue(willReadFrequently) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) - _desynchronized = ReadWriteAttribute(jsObject: object, name: Strings.desynchronized) - _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) - _willReadFrequently = ReadWriteAttribute(jsObject: object, name: Strings.willReadFrequently) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var alpha: Bool - - @ReadWriteAttribute - public var desynchronized: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var colorSpace: PredefinedColorSpace - - @ReadWriteAttribute - public var willReadFrequently: Bool + @inlinable public var alpha: Bool { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } + @inlinable public var desynchronized: Bool { + get { jsObject[Strings.desynchronized].fromJSValue()! } + set { jsObject[Strings.desynchronized] = _toJSValue(newValue) } + } + @inlinable public var colorSpace: PredefinedColorSpace { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } + @inlinable public var willReadFrequently: Bool { + get { jsObject[Strings.willReadFrequently].fromJSValue()! } + set { jsObject[Strings.willReadFrequently] = _toJSValue(newValue) } + } } - public protocol CanvasShadowStyles: JSBridgedClass {} -public extension CanvasShadowStyles { - @inlinable var shadowOffsetX: Double { +extension CanvasShadowStyles { + @inlinable public var shadowOffsetX: Double { get { jsObject[Strings.shadowOffsetX].fromJSValue()! } - nonmutating set { jsObject[Strings.shadowOffsetX] = _toJSValue(newValue) } + set { jsObject[Strings.shadowOffsetX] = _toJSValue(newValue) } } - @inlinable var shadowOffsetY: Double { + @inlinable public var shadowOffsetY: Double { get { jsObject[Strings.shadowOffsetY].fromJSValue()! } - nonmutating set { jsObject[Strings.shadowOffsetY] = _toJSValue(newValue) } + set { jsObject[Strings.shadowOffsetY] = _toJSValue(newValue) } } - @inlinable var shadowBlur: Double { + @inlinable public var shadowBlur: Double { get { jsObject[Strings.shadowBlur].fromJSValue()! } - nonmutating set { jsObject[Strings.shadowBlur] = _toJSValue(newValue) } + set { jsObject[Strings.shadowBlur] = _toJSValue(newValue) } } - @inlinable var shadowColor: String { + @inlinable public var shadowColor: String { get { jsObject[Strings.shadowColor].fromJSValue()! } - nonmutating set { jsObject[Strings.shadowColor] = _toJSValue(newValue) } + set { jsObject[Strings.shadowColor] = _toJSValue(newValue) } } } - public protocol CanvasState: JSBridgedClass {} -public extension CanvasState { - @inlinable func save() { +extension CanvasState { + @inlinable public func save() { let this = jsObject _ = this[Strings.save].function!(this: this, arguments: []) } - @inlinable func restore() { + @inlinable public func restore() { let this = jsObject _ = this[Strings.restore].function!(this: this, arguments: []) } - @inlinable func reset() { + @inlinable public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable func isContextLost() -> Bool { + @inlinable public func isContextLost() -> Bool { let this = jsObject return this[Strings.isContextLost].function!(this: this, arguments: []).fromJSValue()! } } - public protocol CanvasText: JSBridgedClass {} -public extension CanvasText { - @inlinable func fillText(text: String, x: Double, y: Double, maxWidth: Double? = nil) { +extension CanvasText { + @inlinable public func fillText(text: String, x: Double, y: Double, maxWidth: Double? = nil) { let this = jsObject - _ = this[Strings.fillText].function!(this: this, arguments: [_toJSValue(text), _toJSValue(x), _toJSValue(y), _toJSValue(maxWidth)]) + _ = this[Strings.fillText].function!( + this: this, + arguments: [_toJSValue(text), _toJSValue(x), _toJSValue(y), _toJSValue(maxWidth)] + ) } - @inlinable func strokeText(text: String, x: Double, y: Double, maxWidth: Double? = nil) { + @inlinable public func strokeText(text: String, x: Double, y: Double, maxWidth: Double? = nil) { let this = jsObject - _ = this[Strings.strokeText].function!(this: this, arguments: [_toJSValue(text), _toJSValue(x), _toJSValue(y), _toJSValue(maxWidth)]) + _ = this[Strings.strokeText].function!( + this: this, + arguments: [_toJSValue(text), _toJSValue(x), _toJSValue(y), _toJSValue(maxWidth)] + ) } - @inlinable func measureText(text: String) -> TextMetrics { + @inlinable public func measureText(text: String) -> TextMetrics { let this = jsObject return this[Strings.measureText].function!(this: this, arguments: [_toJSValue(text)]).fromJSValue()! } } - public enum CanvasTextAlign: JSString, JSValueCompatible { case start = "start" case end = "end" @@ -2163,19 +2393,14 @@ public enum CanvasTextAlign: JSString, JSValueCompatible { case center = "center" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum CanvasTextBaseline: JSString, JSValueCompatible { case top = "top" case hanging = "hanging" @@ -2185,72 +2410,66 @@ public enum CanvasTextBaseline: JSString, JSValueCompatible { case bottom = "bottom" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol CanvasTextDrawingStyles: JSBridgedClass {} -public extension CanvasTextDrawingStyles { - @inlinable var font: String { +extension CanvasTextDrawingStyles { + @inlinable public var font: String { get { jsObject[Strings.font].fromJSValue()! } - nonmutating set { jsObject[Strings.font] = _toJSValue(newValue) } + set { jsObject[Strings.font] = _toJSValue(newValue) } } - @inlinable var textAlign: CanvasTextAlign { + @inlinable public var textAlign: CanvasTextAlign { get { jsObject[Strings.textAlign].fromJSValue()! } - nonmutating set { jsObject[Strings.textAlign] = _toJSValue(newValue) } + set { jsObject[Strings.textAlign] = _toJSValue(newValue) } } - @inlinable var textBaseline: CanvasTextBaseline { + @inlinable public var textBaseline: CanvasTextBaseline { get { jsObject[Strings.textBaseline].fromJSValue()! } - nonmutating set { jsObject[Strings.textBaseline] = _toJSValue(newValue) } + set { jsObject[Strings.textBaseline] = _toJSValue(newValue) } } - @inlinable var direction: CanvasDirection { + @inlinable public var direction: CanvasDirection { get { jsObject[Strings.direction].fromJSValue()! } - nonmutating set { jsObject[Strings.direction] = _toJSValue(newValue) } + set { jsObject[Strings.direction] = _toJSValue(newValue) } } - @inlinable var letterSpacing: String { + @inlinable public var letterSpacing: String { get { jsObject[Strings.letterSpacing].fromJSValue()! } - nonmutating set { jsObject[Strings.letterSpacing] = _toJSValue(newValue) } + set { jsObject[Strings.letterSpacing] = _toJSValue(newValue) } } - @inlinable var fontKerning: CanvasFontKerning { + @inlinable public var fontKerning: CanvasFontKerning { get { jsObject[Strings.fontKerning].fromJSValue()! } - nonmutating set { jsObject[Strings.fontKerning] = _toJSValue(newValue) } + set { jsObject[Strings.fontKerning] = _toJSValue(newValue) } } - @inlinable var fontStretch: CanvasFontStretch { + @inlinable public var fontStretch: CanvasFontStretch { get { jsObject[Strings.fontStretch].fromJSValue()! } - nonmutating set { jsObject[Strings.fontStretch] = _toJSValue(newValue) } + set { jsObject[Strings.fontStretch] = _toJSValue(newValue) } } - @inlinable var fontVariantCaps: CanvasFontVariantCaps { + @inlinable public var fontVariantCaps: CanvasFontVariantCaps { get { jsObject[Strings.fontVariantCaps].fromJSValue()! } - nonmutating set { jsObject[Strings.fontVariantCaps] = _toJSValue(newValue) } + set { jsObject[Strings.fontVariantCaps] = _toJSValue(newValue) } } - @inlinable var textRendering: CanvasTextRendering { + @inlinable public var textRendering: CanvasTextRendering { get { jsObject[Strings.textRendering].fromJSValue()! } - nonmutating set { jsObject[Strings.textRendering] = _toJSValue(newValue) } + set { jsObject[Strings.textRendering] = _toJSValue(newValue) } } - @inlinable var wordSpacing: String { + @inlinable public var wordSpacing: String { get { jsObject[Strings.wordSpacing].fromJSValue()! } - nonmutating set { jsObject[Strings.wordSpacing] = _toJSValue(newValue) } + set { jsObject[Strings.wordSpacing] = _toJSValue(newValue) } } } - public enum CanvasTextRendering: JSString, JSValueCompatible { case auto = "auto" case optimizeSpeed = "optimizeSpeed" @@ -2258,214 +2477,209 @@ public enum CanvasTextRendering: JSString, JSValueCompatible { case geometricPrecision = "geometricPrecision" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol CanvasTransform: JSBridgedClass {} -public extension CanvasTransform { - @inlinable func scale(x: Double, y: Double) { +extension CanvasTransform { + @inlinable public func scale(x: Double, y: Double) { let this = jsObject _ = this[Strings.scale].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable func rotate(angle: Double) { + @inlinable public func rotate(angle: Double) { let this = jsObject _ = this[Strings.rotate].function!(this: this, arguments: [_toJSValue(angle)]) } - @inlinable func translate(x: Double, y: Double) { + @inlinable public func translate(x: Double, y: Double) { let this = jsObject _ = this[Strings.translate].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable func transform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) { + @inlinable public func transform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) { let this = jsObject - _ = this[Strings.transform].function!(this: this, arguments: [_toJSValue(a), _toJSValue(b), _toJSValue(c), _toJSValue(d), _toJSValue(e), _toJSValue(f)]) + _ = this[Strings.transform].function!( + this: this, + arguments: [_toJSValue(a), _toJSValue(b), _toJSValue(c), _toJSValue(d), _toJSValue(e), _toJSValue(f)] + ) } - @inlinable func getTransform() -> DOMMatrix { + @inlinable public func getTransform() -> DOMMatrix { let this = jsObject return this[Strings.getTransform].function!(this: this, arguments: []).fromJSValue()! } - @inlinable func setTransform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) { + @inlinable public func setTransform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) { let this = jsObject - _ = this[Strings.setTransform].function!(this: this, arguments: [_toJSValue(a), _toJSValue(b), _toJSValue(c), _toJSValue(d), _toJSValue(e), _toJSValue(f)]) + _ = this[Strings.setTransform].function!( + this: this, + arguments: [_toJSValue(a), _toJSValue(b), _toJSValue(c), _toJSValue(d), _toJSValue(e), _toJSValue(f)] + ) } - @inlinable func setTransform(transform: DOMMatrix2DInit? = nil) { + @inlinable public func setTransform(transform: DOMMatrix2DInit? = nil) { let this = jsObject _ = this[Strings.setTransform].function!(this: this, arguments: [_toJSValue(transform)]) } - @inlinable func resetTransform() { + @inlinable public func resetTransform() { let this = jsObject _ = this[Strings.resetTransform].function!(this: this, arguments: []) } } - public protocol CanvasUserInterface: JSBridgedClass {} -public extension CanvasUserInterface { - @inlinable func drawFocusIfNeeded(element: Element) { +extension CanvasUserInterface { + @inlinable public func drawFocusIfNeeded(element: Element) { let this = jsObject _ = this[Strings.drawFocusIfNeeded].function!(this: this, arguments: [_toJSValue(element)]) } - @inlinable func drawFocusIfNeeded(path: Path2D, element: Element) { + @inlinable public func drawFocusIfNeeded(path: Path2D, element: Element) { let this = jsObject _ = this[Strings.drawFocusIfNeeded].function!(this: this, arguments: [_toJSValue(path), _toJSValue(element)]) } - @inlinable func scrollPathIntoView() { + @inlinable public func scrollPathIntoView() { let this = jsObject _ = this[Strings.scrollPathIntoView].function!(this: this, arguments: []) } - @inlinable func scrollPathIntoView(path: Path2D) { + @inlinable public func scrollPathIntoView(path: Path2D) { let this = jsObject _ = this[Strings.scrollPathIntoView].function!(this: this, arguments: [_toJSValue(path)]) } } - public class CaretPosition: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CaretPosition].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _offsetNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetNode) - _offset = ReadonlyAttribute(jsObject: jsObject, name: Strings.offset) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var offsetNode: Node + @inlinable public var offsetNode: Node { jsObject[Strings.offsetNode].fromJSValue()! } - @ReadonlyAttribute - public var offset: UInt32 + @inlinable public var offset: UInt32 { jsObject[Strings.offset].fromJSValue()! } - @inlinable public func getClientRect() -> DOMRect? { + @inlinable final public func getClientRect() -> DOMRect? { let this = jsObject return this[Strings.getClientRect].function!(this: this, arguments: []).fromJSValue() } } public class CharacterData: Node, NonDocumentTypeChildNode, ChildNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CharacterData].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CharacterData].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _data = ReadWriteAttribute(jsObject: jsObject, name: Strings.data) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var data: String + @inlinable public var data: String { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public func substringData(offset: UInt32, count: UInt32) -> String { + @inlinable final public func substringData(offset: UInt32, count: UInt32) -> String { let this = jsObject - return this[Strings.substringData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(count)]).fromJSValue()! + return this[Strings.substringData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(count)]) + .fromJSValue()! } - @inlinable public func appendData(data: String) { + @inlinable final public func appendData(data: String) { let this = jsObject _ = this[Strings.appendData].function!(this: this, arguments: [_toJSValue(data)]) } - @inlinable public func insertData(offset: UInt32, data: String) { + @inlinable final public func insertData(offset: UInt32, data: String) { let this = jsObject _ = this[Strings.insertData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(data)]) } - @inlinable public func deleteData(offset: UInt32, count: UInt32) { + @inlinable final public func deleteData(offset: UInt32, count: UInt32) { let this = jsObject _ = this[Strings.deleteData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(count)]) } - @inlinable public func replaceData(offset: UInt32, count: UInt32, data: String) { + @inlinable final public func replaceData(offset: UInt32, count: UInt32, data: String) { let this = jsObject - _ = this[Strings.replaceData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(count), _toJSValue(data)]) + _ = this[Strings.replaceData].function!( + this: this, + arguments: [_toJSValue(offset), _toJSValue(count), _toJSValue(data)] + ) } } -public class CheckVisibilityOptions: BridgedDictionary { - public convenience init(checkOpacity: Bool, checkVisibilityCSS: Bool) { +open class CheckVisibilityOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(checkOpacity: Bool? = nil, checkVisibilityCSS: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.checkOpacity] = _toJSValue(checkOpacity) object[Strings.checkVisibilityCSS] = _toJSValue(checkVisibilityCSS) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _checkOpacity = ReadWriteAttribute(jsObject: object, name: Strings.checkOpacity) - _checkVisibilityCSS = ReadWriteAttribute(jsObject: object, name: Strings.checkVisibilityCSS) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var checkOpacity: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var checkVisibilityCSS: Bool + @inlinable public var checkOpacity: Bool { + get { jsObject[Strings.checkOpacity].fromJSValue()! } + set { jsObject[Strings.checkOpacity] = _toJSValue(newValue) } + } + @inlinable public var checkVisibilityCSS: Bool { + get { jsObject[Strings.checkVisibilityCSS].fromJSValue()! } + set { jsObject[Strings.checkVisibilityCSS] = _toJSValue(newValue) } + } } - public protocol ChildNode: JSBridgedClass {} -public extension ChildNode { - @inlinable func before(nodes: Node_or_String...) { +extension ChildNode { + @inlinable public func before(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.before].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable func after(nodes: Node_or_String...) { + @inlinable public func after(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.after].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable func replaceWith(nodes: Node_or_String...) { + @inlinable public func replaceWith(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.replaceWith].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable func remove() { + @inlinable public func remove() { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: []) } } +open class ClientQueryOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ClientQueryOptions: BridgedDictionary { - public convenience init(includeUncontrolled: Bool, type: ClientType) { + public convenience init(includeUncontrolled: Bool? = nil, type: ClientType? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.includeUncontrolled] = _toJSValue(includeUncontrolled) object[Strings.type] = _toJSValue(type) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _includeUncontrolled = ReadWriteAttribute(jsObject: object, name: Strings.includeUncontrolled) - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var includeUncontrolled: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var type: ClientType + @inlinable public var includeUncontrolled: Bool { + get { jsObject[Strings.includeUncontrolled].fromJSValue()! } + set { jsObject[Strings.includeUncontrolled] = _toJSValue(newValue) } + } + @inlinable public var type: ClientType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } } - public enum ClientType: JSString, JSValueCompatible { case window = "window" case worker = "worker" @@ -2473,62 +2687,45 @@ public enum ClientType: JSString, JSValueCompatible { case all = "all" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum CodecState: JSString, JSValueCompatible { case unconfigured = "unconfigured" case configured = "configured" case closed = "closed" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ColorSpaceConversion: JSString, JSValueCompatible { case none = "none" case `default` = "default" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class Comment: CharacterData { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Comment].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Comment].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(data: String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(data)])) @@ -2536,167 +2733,179 @@ public class Comment: CharacterData { } public class CompositionEvent: UIEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CompositionEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CompositionEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: CompositionEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var data: String + @inlinable public var data: String { jsObject[Strings.data].fromJSValue()! } - @inlinable public func initCompositionEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, viewArg: WindowProxy? = nil, dataArg: String? = nil) { + @inlinable final public func initCompositionEvent( + typeArg: String, + bubblesArg: Bool? = nil, + cancelableArg: Bool? = nil, + viewArg: WindowProxy? = nil, + dataArg: String? = nil + ) { let this = jsObject - _ = this[Strings.initCompositionEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), _toJSValue(dataArg)]) + _ = this[Strings.initCompositionEvent].function!( + this: this, + arguments: [ + _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), + _toJSValue(dataArg), + ] + ) } } -public class CompositionEventInit: BridgedDictionary { - public convenience init(data: String) { +open class CompositionEventInit: UIEventInit { + + public convenience init(view: Window?, detail: Int32? = nil, which: UInt32? = nil, data: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.view] = _toJSValue(view) + object[Strings.detail] = _toJSValue(detail) + object[Strings.which] = _toJSValue(which) object[Strings.data] = _toJSValue(data) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var data: String + @inlinable public var data: String { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } } +open class ConstrainBooleanParameters: JSDictionaryCompatible { + public let jsObject: JSObject -public class ConstrainBooleanParameters: BridgedDictionary { - public convenience init(exact: Bool, ideal: Bool) { + public convenience init(exact: Bool? = nil, ideal: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.exact] = _toJSValue(exact) object[Strings.ideal] = _toJSValue(ideal) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _exact = ReadWriteAttribute(jsObject: object, name: Strings.exact) - _ideal = ReadWriteAttribute(jsObject: object, name: Strings.ideal) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var exact: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var ideal: Bool + @inlinable public var exact: Bool { + get { jsObject[Strings.exact].fromJSValue()! } + set { jsObject[Strings.exact] = _toJSValue(newValue) } + } + @inlinable public var ideal: Bool { + get { jsObject[Strings.ideal].fromJSValue()! } + set { jsObject[Strings.ideal] = _toJSValue(newValue) } + } } +open class ConstrainDOMStringParameters: JSDictionaryCompatible { + public let jsObject: JSObject -public class ConstrainDOMStringParameters: BridgedDictionary { - public convenience init(exact: String_or_seq_of_String, ideal: String_or_seq_of_String) { + public convenience init(exact: String_or_seq_of_String? = nil, ideal: String_or_seq_of_String? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.exact] = _toJSValue(exact) object[Strings.ideal] = _toJSValue(ideal) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _exact = ReadWriteAttribute(jsObject: object, name: Strings.exact) - _ideal = ReadWriteAttribute(jsObject: object, name: Strings.ideal) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var exact: String_or_seq_of_String + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var ideal: String_or_seq_of_String + @inlinable public var exact: String_or_seq_of_String { + get { jsObject[Strings.exact].fromJSValue()! } + set { jsObject[Strings.exact] = _toJSValue(newValue) } + } + @inlinable public var ideal: String_or_seq_of_String { + get { jsObject[Strings.ideal].fromJSValue()! } + set { jsObject[Strings.ideal] = _toJSValue(newValue) } + } } +open class ConstrainDoubleRange: DoubleRange { -public class ConstrainDoubleRange: BridgedDictionary { - public convenience init(exact: Double, ideal: Double) { + public convenience init(max: Double? = nil, min: Double? = nil, exact: Double? = nil, ideal: Double? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.max] = _toJSValue(max) + object[Strings.min] = _toJSValue(min) object[Strings.exact] = _toJSValue(exact) object[Strings.ideal] = _toJSValue(ideal) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _exact = ReadWriteAttribute(jsObject: object, name: Strings.exact) - _ideal = ReadWriteAttribute(jsObject: object, name: Strings.ideal) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var exact: Double + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var ideal: Double + @inlinable public var exact: Double { + get { jsObject[Strings.exact].fromJSValue()! } + set { jsObject[Strings.exact] = _toJSValue(newValue) } + } + @inlinable public var ideal: Double { + get { jsObject[Strings.ideal].fromJSValue()! } + set { jsObject[Strings.ideal] = _toJSValue(newValue) } + } } +open class ConstrainULongRange: ULongRange { -public class ConstrainULongRange: BridgedDictionary { - public convenience init(exact: UInt32, ideal: UInt32) { + public convenience init(max: UInt32? = nil, min: UInt32? = nil, exact: UInt32? = nil, ideal: UInt32? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.max] = _toJSValue(max) + object[Strings.min] = _toJSValue(min) object[Strings.exact] = _toJSValue(exact) object[Strings.ideal] = _toJSValue(ideal) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _exact = ReadWriteAttribute(jsObject: object, name: Strings.exact) - _ideal = ReadWriteAttribute(jsObject: object, name: Strings.ideal) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var exact: UInt32 + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var ideal: UInt32 + @inlinable public var exact: UInt32 { + get { jsObject[Strings.exact].fromJSValue()! } + set { jsObject[Strings.exact] = _toJSValue(newValue) } + } + @inlinable public var ideal: UInt32 { + get { jsObject[Strings.ideal].fromJSValue()! } + set { jsObject[Strings.ideal] = _toJSValue(newValue) } + } } +open class ConvertCoordinateOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ConvertCoordinateOptions: BridgedDictionary { - public convenience init(fromBox: CSSBoxType, toBox: CSSBoxType) { + public convenience init(fromBox: CSSBoxType? = nil, toBox: CSSBoxType? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.fromBox] = _toJSValue(fromBox) object[Strings.toBox] = _toJSValue(toBox) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _fromBox = ReadWriteAttribute(jsObject: object, name: Strings.fromBox) - _toBox = ReadWriteAttribute(jsObject: object, name: Strings.toBox) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var fromBox: CSSBoxType + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var toBox: CSSBoxType + @inlinable public var fromBox: CSSBoxType { + get { jsObject[Strings.fromBox].fromJSValue()! } + set { jsObject[Strings.fromBox] = _toJSValue(newValue) } + } + @inlinable public var toBox: CSSBoxType { + get { jsObject[Strings.toBox].fromJSValue()! } + set { jsObject[Strings.toBox] = _toJSValue(newValue) } + } } - public class CountQueuingStrategy: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CountQueuingStrategy].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _highWaterMark = ReadonlyAttribute(jsObject: jsObject, name: Strings.highWaterMark) - _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: QueuingStrategyInit) { + @inlinable public convenience init(`init`: QueuingStrategyInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var highWaterMark: Double + @inlinable public var highWaterMark: Double { jsObject[Strings.highWaterMark].fromJSValue()! } - @ReadonlyAttribute - public var size: JSFunction + @inlinable public var size: JSFunction { jsObject[Strings.size].fromJSValue()! } } public class CustomElementRegistry: JSBridgedClass { @@ -2704,353 +2913,282 @@ public class CustomElementRegistry: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func define(name: String, constructor: CustomElementConstructor, options: ElementDefinitionOptions? = nil) { + @inlinable final public func define( + name: String, + constructor: CustomElementConstructor, + options: ElementDefinitionOptions? = nil + ) { let this = jsObject - _ = this[Strings.define].function!(this: this, arguments: [_toJSValue(name), _toJSValue(constructor), _toJSValue(options)]) + _ = this[Strings.define].function!( + this: this, + arguments: [_toJSValue(name), _toJSValue(constructor), _toJSValue(options)] + ) } - @inlinable public func get(name: String) -> CustomElementConstructor? { + @inlinable final public func get(name: String) -> CustomElementConstructor? { let this = jsObject return this[Strings.get].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @inlinable public func getName(constructor: CustomElementConstructor) -> String? { + @inlinable final public func getName(constructor: CustomElementConstructor) -> String? { let this = jsObject return this[Strings.getName].function!(this: this, arguments: [_toJSValue(constructor)]).fromJSValue() } - @inlinable public func whenDefined(name: String) -> JSPromise { + @inlinable final public func whenDefined(name: String) -> JSPromise { let this = jsObject return this[Strings.whenDefined].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func whenDefined(name: String) async throws -> CustomElementConstructor { - let this = jsObject - let _promise: JSPromise = this[Strings.whenDefined].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func whenDefined( + name: String + ) async throws(JSException) -> CustomElementConstructor { + let this = jsObject + let _promise: JSPromise = this[Strings.whenDefined].function!(this: this, arguments: [_toJSValue(name)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func upgrade(root: Node) { + @inlinable final public func upgrade(root: Node) { let this = jsObject _ = this[Strings.upgrade].function!(this: this, arguments: [_toJSValue(root)]) } } public class CustomEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CustomEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CustomEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _detail = ReadonlyAttribute(jsObject: jsObject, name: Strings.detail) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: CustomEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var detail: JSValue + @inlinable public var detail: JSValue { jsObject[Strings.detail].fromJSValue()! } - @inlinable public func initCustomEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil, detail: JSValue? = nil) { + @inlinable final public func initCustomEvent( + type: String, + bubbles: Bool? = nil, + cancelable: Bool? = nil, + detail: JSValue? = nil + ) { let this = jsObject - _ = this[Strings.initCustomEvent].function!(this: this, arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(detail)]) + _ = this[Strings.initCustomEvent].function!( + this: this, + arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(detail)] + ) } } -public class CustomEventInit: BridgedDictionary { - public convenience init(detail: JSValue) { +open class CustomEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + detail: JSValue? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.detail] = _toJSValue(detail) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _detail = ReadWriteAttribute(jsObject: object, name: Strings.detail) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var detail: JSValue + @inlinable public var detail: JSValue { + get { jsObject[Strings.detail].fromJSValue()! } + set { jsObject[Strings.detail] = _toJSValue(newValue) } + } } - public class DOMImplementation: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.DOMImplementation].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func createDocumentType(qualifiedName: String, publicId: String, systemId: String) -> DocumentType { + @inlinable final public func createDocumentType( + qualifiedName: String, + publicId: String, + systemId: String + ) -> DocumentType { let this = jsObject - return this[Strings.createDocumentType].function!(this: this, arguments: [_toJSValue(qualifiedName), _toJSValue(publicId), _toJSValue(systemId)]).fromJSValue()! + return this[Strings.createDocumentType].function!( + this: this, + arguments: [_toJSValue(qualifiedName), _toJSValue(publicId), _toJSValue(systemId)] + ).fromJSValue()! } - @inlinable public func createDocument(namespace: String?, qualifiedName: String, doctype: DocumentType? = nil) -> XMLDocument { + @inlinable final public func createDocument( + namespace: String?, + qualifiedName: String, + doctype: DocumentType? = nil + ) -> XMLDocument { let this = jsObject - return this[Strings.createDocument].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(doctype)]).fromJSValue()! + return this[Strings.createDocument].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(doctype)] + ).fromJSValue()! } - @inlinable public func createHTMLDocument(title: String? = nil) -> Document { + @inlinable final public func createHTMLDocument(title: String? = nil) -> Document { let this = jsObject return this[Strings.createHTMLDocument].function!(this: this, arguments: [_toJSValue(title)]).fromJSValue()! } - @inlinable public func hasFeature() -> Bool { + @inlinable final public func hasFeature() -> Bool { let this = jsObject return this[Strings.hasFeature].function!(this: this, arguments: []).fromJSValue()! } } public class DOMMatrix: DOMMatrixReadOnly { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DOMMatrix].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _a = ReadWriteAttribute(jsObject: jsObject, name: Strings.a) - _b = ReadWriteAttribute(jsObject: jsObject, name: Strings.b) - _c = ReadWriteAttribute(jsObject: jsObject, name: Strings.c) - _d = ReadWriteAttribute(jsObject: jsObject, name: Strings.d) - _e = ReadWriteAttribute(jsObject: jsObject, name: Strings.e) - _f = ReadWriteAttribute(jsObject: jsObject, name: Strings.f) - _m11 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m11) - _m12 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m12) - _m13 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m13) - _m14 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m14) - _m21 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m21) - _m22 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m22) - _m23 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m23) - _m24 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m24) - _m31 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m31) - _m32 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m32) - _m33 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m33) - _m34 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m34) - _m41 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m41) - _m42 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m42) - _m43 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m43) - _m44 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m44) - super.init(unsafelyWrapping: jsObject) - } - - @inlinable public convenience init(init: String_or_seq_of_Double? = nil) { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DOMMatrix].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init(`init`: String_or_seq_of_Double? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable override public class func fromMatrix(other: DOMMatrixInit? = nil) -> Self { + @inlinable override public class func fromMatrix(other: DOMMatrixInit? = nil) -> DOMMatrix { let this = constructor! return this[Strings.fromMatrix].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable override public class func fromFloat32Array(array32: Float32Array) -> Self { + @inlinable override public class func fromFloat32Array(array32: Float32Array) -> DOMMatrix { let this = constructor! return this[Strings.fromFloat32Array].function!(this: this, arguments: [_toJSValue(array32)]).fromJSValue()! } - @inlinable override public class func fromFloat64Array(array64: Float64Array) -> Self { + @inlinable override public class func fromFloat64Array(array64: Float64Array) -> DOMMatrix { let this = constructor! return this[Strings.fromFloat64Array].function!(this: this, arguments: [_toJSValue(array64)]).fromJSValue()! } - @usableFromInline let _a: ReadWriteAttribute - @inlinable override public var a: Double { - get { _a.wrappedValue } - set { _a.wrappedValue = newValue } - } - - @usableFromInline let _b: ReadWriteAttribute - @inlinable override public var b: Double { - get { _b.wrappedValue } - set { _b.wrappedValue = newValue } - } - - @usableFromInline let _c: ReadWriteAttribute - @inlinable override public var c: Double { - get { _c.wrappedValue } - set { _c.wrappedValue = newValue } - } - - @usableFromInline let _d: ReadWriteAttribute - @inlinable override public var d: Double { - get { _d.wrappedValue } - set { _d.wrappedValue = newValue } - } - - @usableFromInline let _e: ReadWriteAttribute - @inlinable override public var e: Double { - get { _e.wrappedValue } - set { _e.wrappedValue = newValue } - } - - @usableFromInline let _f: ReadWriteAttribute - @inlinable override public var f: Double { - get { _f.wrappedValue } - set { _f.wrappedValue = newValue } - } - - @usableFromInline let _m11: ReadWriteAttribute - @inlinable override public var m11: Double { - get { _m11.wrappedValue } - set { _m11.wrappedValue = newValue } - } - - @usableFromInline let _m12: ReadWriteAttribute - @inlinable override public var m12: Double { - get { _m12.wrappedValue } - set { _m12.wrappedValue = newValue } - } - - @usableFromInline let _m13: ReadWriteAttribute - @inlinable override public var m13: Double { - get { _m13.wrappedValue } - set { _m13.wrappedValue = newValue } - } - - @usableFromInline let _m14: ReadWriteAttribute - @inlinable override public var m14: Double { - get { _m14.wrappedValue } - set { _m14.wrappedValue = newValue } - } - - @usableFromInline let _m21: ReadWriteAttribute - @inlinable override public var m21: Double { - get { _m21.wrappedValue } - set { _m21.wrappedValue = newValue } - } - - @usableFromInline let _m22: ReadWriteAttribute - @inlinable override public var m22: Double { - get { _m22.wrappedValue } - set { _m22.wrappedValue = newValue } - } - - @usableFromInline let _m23: ReadWriteAttribute - @inlinable override public var m23: Double { - get { _m23.wrappedValue } - set { _m23.wrappedValue = newValue } - } - - @usableFromInline let _m24: ReadWriteAttribute - @inlinable override public var m24: Double { - get { _m24.wrappedValue } - set { _m24.wrappedValue = newValue } - } - - @usableFromInline let _m31: ReadWriteAttribute - @inlinable override public var m31: Double { - get { _m31.wrappedValue } - set { _m31.wrappedValue = newValue } - } - - @usableFromInline let _m32: ReadWriteAttribute - @inlinable override public var m32: Double { - get { _m32.wrappedValue } - set { _m32.wrappedValue = newValue } - } - - @usableFromInline let _m33: ReadWriteAttribute - @inlinable override public var m33: Double { - get { _m33.wrappedValue } - set { _m33.wrappedValue = newValue } - } - - @usableFromInline let _m34: ReadWriteAttribute - @inlinable override public var m34: Double { - get { _m34.wrappedValue } - set { _m34.wrappedValue = newValue } - } - - @usableFromInline let _m41: ReadWriteAttribute - @inlinable override public var m41: Double { - get { _m41.wrappedValue } - set { _m41.wrappedValue = newValue } - } - - @usableFromInline let _m42: ReadWriteAttribute - @inlinable override public var m42: Double { - get { _m42.wrappedValue } - set { _m42.wrappedValue = newValue } - } - - @usableFromInline let _m43: ReadWriteAttribute - @inlinable override public var m43: Double { - get { _m43.wrappedValue } - set { _m43.wrappedValue = newValue } - } - - @usableFromInline let _m44: ReadWriteAttribute - @inlinable override public var m44: Double { - get { _m44.wrappedValue } - set { _m44.wrappedValue = newValue } - } - - @inlinable public func multiplySelf(other: DOMMatrixInit? = nil) -> Self { + @inlinable final public func multiplySelf(other: DOMMatrixInit? = nil) -> DOMMatrix { let this = jsObject return this[Strings.multiplySelf].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public func preMultiplySelf(other: DOMMatrixInit? = nil) -> Self { + @inlinable final public func preMultiplySelf(other: DOMMatrixInit? = nil) -> DOMMatrix { let this = jsObject return this[Strings.preMultiplySelf].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public func translateSelf(tx: Double? = nil, ty: Double? = nil, tz: Double? = nil) -> Self { + @inlinable final public func translateSelf(tx: Double? = nil, ty: Double? = nil, tz: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.translateSelf].function!(this: this, arguments: [_toJSValue(tx), _toJSValue(ty), _toJSValue(tz)]).fromJSValue()! + return this[Strings.translateSelf].function!( + this: this, + arguments: [_toJSValue(tx), _toJSValue(ty), _toJSValue(tz)] + ).fromJSValue()! } - @inlinable public func scaleSelf(scaleX: Double? = nil, scaleY: Double? = nil, scaleZ: Double? = nil, originX: Double? = nil, originY: Double? = nil, originZ: Double? = nil) -> Self { + @inlinable final public func scaleSelf( + scaleX: Double? = nil, + scaleY: Double? = nil, + scaleZ: Double? = nil, + originX: Double? = nil, + originY: Double? = nil, + originZ: Double? = nil + ) -> DOMMatrix { let this = jsObject - return this[Strings.scaleSelf].function!(this: this, arguments: [_toJSValue(scaleX), _toJSValue(scaleY), _toJSValue(scaleZ), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)]).fromJSValue()! + return this[Strings.scaleSelf].function!( + this: this, + arguments: [ + _toJSValue(scaleX), _toJSValue(scaleY), _toJSValue(scaleZ), _toJSValue(originX), _toJSValue(originY), + _toJSValue(originZ), + ] + ).fromJSValue()! } - @inlinable public func scale3dSelf(scale: Double? = nil, originX: Double? = nil, originY: Double? = nil, originZ: Double? = nil) -> Self { + @inlinable final public func scale3dSelf( + scale: Double? = nil, + originX: Double? = nil, + originY: Double? = nil, + originZ: Double? = nil + ) -> DOMMatrix { let this = jsObject - return this[Strings.scale3dSelf].function!(this: this, arguments: [_toJSValue(scale), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)]).fromJSValue()! + return this[Strings.scale3dSelf].function!( + this: this, + arguments: [_toJSValue(scale), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)] + ).fromJSValue()! } - @inlinable public func rotateSelf(rotX: Double? = nil, rotY: Double? = nil, rotZ: Double? = nil) -> Self { + @inlinable final public func rotateSelf(rotX: Double? = nil, rotY: Double? = nil, rotZ: Double? = nil) -> DOMMatrix + { let this = jsObject - return this[Strings.rotateSelf].function!(this: this, arguments: [_toJSValue(rotX), _toJSValue(rotY), _toJSValue(rotZ)]).fromJSValue()! + return this[Strings.rotateSelf].function!( + this: this, + arguments: [_toJSValue(rotX), _toJSValue(rotY), _toJSValue(rotZ)] + ).fromJSValue()! } - @inlinable public func rotateFromVectorSelf(x: Double? = nil, y: Double? = nil) -> Self { + @inlinable final public func rotateFromVectorSelf(x: Double? = nil, y: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.rotateFromVectorSelf].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue()! + return this[Strings.rotateFromVectorSelf].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) + .fromJSValue()! } - @inlinable public func rotateAxisAngleSelf(x: Double? = nil, y: Double? = nil, z: Double? = nil, angle: Double? = nil) -> Self { + @inlinable final public func rotateAxisAngleSelf( + x: Double? = nil, + y: Double? = nil, + z: Double? = nil, + angle: Double? = nil + ) -> DOMMatrix { let this = jsObject - return this[Strings.rotateAxisAngleSelf].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle)]).fromJSValue()! + return this[Strings.rotateAxisAngleSelf].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle)] + ).fromJSValue()! } - @inlinable public func skewXSelf(sx: Double? = nil) -> Self { + @inlinable final public func skewXSelf(sx: Double? = nil) -> DOMMatrix { let this = jsObject return this[Strings.skewXSelf].function!(this: this, arguments: [_toJSValue(sx)]).fromJSValue()! } - @inlinable public func skewYSelf(sy: Double? = nil) -> Self { + @inlinable final public func skewYSelf(sy: Double? = nil) -> DOMMatrix { let this = jsObject return this[Strings.skewYSelf].function!(this: this, arguments: [_toJSValue(sy)]).fromJSValue()! } - @inlinable public func invertSelf() -> Self { + @inlinable final public func invertSelf() -> DOMMatrix { let this = jsObject return this[Strings.invertSelf].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setMatrixValue(transformList: String) -> Self { + @inlinable final public func setMatrixValue(transformList: String) -> DOMMatrix { let this = jsObject return this[Strings.setMatrixValue].function!(this: this, arguments: [_toJSValue(transformList)]).fromJSValue()! } } -public class DOMMatrix2DInit: BridgedDictionary { - public convenience init(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double, m11: Double, m12: Double, m21: Double, m22: Double, m41: Double, m42: Double) { +open class DOMMatrix2DInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + a: Double? = nil, + b: Double? = nil, + c: Double? = nil, + d: Double? = nil, + e: Double? = nil, + f: Double? = nil, + m11: Double? = nil, + m12: Double? = nil, + m21: Double? = nil, + m22: Double? = nil, + m41: Double? = nil, + m42: Double? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.a] = _toJSValue(a) object[Strings.b] = _toJSValue(b) @@ -3064,65 +3202,101 @@ public class DOMMatrix2DInit: BridgedDictionary { object[Strings.m22] = _toJSValue(m22) object[Strings.m41] = _toJSValue(m41) object[Strings.m42] = _toJSValue(m42) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _a = ReadWriteAttribute(jsObject: object, name: Strings.a) - _b = ReadWriteAttribute(jsObject: object, name: Strings.b) - _c = ReadWriteAttribute(jsObject: object, name: Strings.c) - _d = ReadWriteAttribute(jsObject: object, name: Strings.d) - _e = ReadWriteAttribute(jsObject: object, name: Strings.e) - _f = ReadWriteAttribute(jsObject: object, name: Strings.f) - _m11 = ReadWriteAttribute(jsObject: object, name: Strings.m11) - _m12 = ReadWriteAttribute(jsObject: object, name: Strings.m12) - _m21 = ReadWriteAttribute(jsObject: object, name: Strings.m21) - _m22 = ReadWriteAttribute(jsObject: object, name: Strings.m22) - _m41 = ReadWriteAttribute(jsObject: object, name: Strings.m41) - _m42 = ReadWriteAttribute(jsObject: object, name: Strings.m42) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var a: Double - - @ReadWriteAttribute - public var b: Double - - @ReadWriteAttribute - public var c: Double - - @ReadWriteAttribute - public var d: Double - - @ReadWriteAttribute - public var e: Double - - @ReadWriteAttribute - public var f: Double - - @ReadWriteAttribute - public var m11: Double - - @ReadWriteAttribute - public var m12: Double - - @ReadWriteAttribute - public var m21: Double - - @ReadWriteAttribute - public var m22: Double - - @ReadWriteAttribute - public var m41: Double - - @ReadWriteAttribute - public var m42: Double -} - -public class DOMMatrixInit: BridgedDictionary { - public convenience init(m13: Double, m14: Double, m23: Double, m24: Double, m31: Double, m32: Double, m33: Double, m34: Double, m43: Double, m44: Double, is2D: Bool) { + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var a: Double { + get { jsObject[Strings.a].fromJSValue()! } + set { jsObject[Strings.a] = _toJSValue(newValue) } + } + @inlinable public var b: Double { + get { jsObject[Strings.b].fromJSValue()! } + set { jsObject[Strings.b] = _toJSValue(newValue) } + } + @inlinable public var c: Double { + get { jsObject[Strings.c].fromJSValue()! } + set { jsObject[Strings.c] = _toJSValue(newValue) } + } + @inlinable public var d: Double { + get { jsObject[Strings.d].fromJSValue()! } + set { jsObject[Strings.d] = _toJSValue(newValue) } + } + @inlinable public var e: Double { + get { jsObject[Strings.e].fromJSValue()! } + set { jsObject[Strings.e] = _toJSValue(newValue) } + } + @inlinable public var f: Double { + get { jsObject[Strings.f].fromJSValue()! } + set { jsObject[Strings.f] = _toJSValue(newValue) } + } + @inlinable public var m11: Double { + get { jsObject[Strings.m11].fromJSValue()! } + set { jsObject[Strings.m11] = _toJSValue(newValue) } + } + @inlinable public var m12: Double { + get { jsObject[Strings.m12].fromJSValue()! } + set { jsObject[Strings.m12] = _toJSValue(newValue) } + } + @inlinable public var m21: Double { + get { jsObject[Strings.m21].fromJSValue()! } + set { jsObject[Strings.m21] = _toJSValue(newValue) } + } + @inlinable public var m22: Double { + get { jsObject[Strings.m22].fromJSValue()! } + set { jsObject[Strings.m22] = _toJSValue(newValue) } + } + @inlinable public var m41: Double { + get { jsObject[Strings.m41].fromJSValue()! } + set { jsObject[Strings.m41] = _toJSValue(newValue) } + } + @inlinable public var m42: Double { + get { jsObject[Strings.m42].fromJSValue()! } + set { jsObject[Strings.m42] = _toJSValue(newValue) } + } +} +open class DOMMatrixInit: DOMMatrix2DInit { + + public convenience init( + a: Double? = nil, + b: Double? = nil, + c: Double? = nil, + d: Double? = nil, + e: Double? = nil, + f: Double? = nil, + m11: Double? = nil, + m12: Double? = nil, + m21: Double? = nil, + m22: Double? = nil, + m41: Double? = nil, + m42: Double? = nil, + m13: Double? = nil, + m14: Double? = nil, + m23: Double? = nil, + m24: Double? = nil, + m31: Double? = nil, + m32: Double? = nil, + m33: Double? = nil, + m34: Double? = nil, + m43: Double? = nil, + m44: Double? = nil, + is2D: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.a] = _toJSValue(a) + object[Strings.b] = _toJSValue(b) + object[Strings.c] = _toJSValue(c) + object[Strings.d] = _toJSValue(d) + object[Strings.e] = _toJSValue(e) + object[Strings.f] = _toJSValue(f) + object[Strings.m11] = _toJSValue(m11) + object[Strings.m12] = _toJSValue(m12) + object[Strings.m21] = _toJSValue(m21) + object[Strings.m22] = _toJSValue(m22) + object[Strings.m41] = _toJSValue(m41) + object[Strings.m42] = _toJSValue(m42) object[Strings.m13] = _toJSValue(m13) object[Strings.m14] = _toJSValue(m14) object[Strings.m23] = _toJSValue(m23) @@ -3134,267 +3308,251 @@ public class DOMMatrixInit: BridgedDictionary { object[Strings.m43] = _toJSValue(m43) object[Strings.m44] = _toJSValue(m44) object[Strings.is2D] = _toJSValue(is2D) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _m13 = ReadWriteAttribute(jsObject: object, name: Strings.m13) - _m14 = ReadWriteAttribute(jsObject: object, name: Strings.m14) - _m23 = ReadWriteAttribute(jsObject: object, name: Strings.m23) - _m24 = ReadWriteAttribute(jsObject: object, name: Strings.m24) - _m31 = ReadWriteAttribute(jsObject: object, name: Strings.m31) - _m32 = ReadWriteAttribute(jsObject: object, name: Strings.m32) - _m33 = ReadWriteAttribute(jsObject: object, name: Strings.m33) - _m34 = ReadWriteAttribute(jsObject: object, name: Strings.m34) - _m43 = ReadWriteAttribute(jsObject: object, name: Strings.m43) - _m44 = ReadWriteAttribute(jsObject: object, name: Strings.m44) - _is2D = ReadWriteAttribute(jsObject: object, name: Strings.is2D) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var m13: Double - - @ReadWriteAttribute - public var m14: Double - - @ReadWriteAttribute - public var m23: Double - - @ReadWriteAttribute - public var m24: Double - - @ReadWriteAttribute - public var m31: Double - - @ReadWriteAttribute - public var m32: Double + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var m33: Double - - @ReadWriteAttribute - public var m34: Double - - @ReadWriteAttribute - public var m43: Double - - @ReadWriteAttribute - public var m44: Double - - @ReadWriteAttribute - public var is2D: Bool + @inlinable public var m13: Double { + get { jsObject[Strings.m13].fromJSValue()! } + set { jsObject[Strings.m13] = _toJSValue(newValue) } + } + @inlinable public var m14: Double { + get { jsObject[Strings.m14].fromJSValue()! } + set { jsObject[Strings.m14] = _toJSValue(newValue) } + } + @inlinable public var m23: Double { + get { jsObject[Strings.m23].fromJSValue()! } + set { jsObject[Strings.m23] = _toJSValue(newValue) } + } + @inlinable public var m24: Double { + get { jsObject[Strings.m24].fromJSValue()! } + set { jsObject[Strings.m24] = _toJSValue(newValue) } + } + @inlinable public var m31: Double { + get { jsObject[Strings.m31].fromJSValue()! } + set { jsObject[Strings.m31] = _toJSValue(newValue) } + } + @inlinable public var m32: Double { + get { jsObject[Strings.m32].fromJSValue()! } + set { jsObject[Strings.m32] = _toJSValue(newValue) } + } + @inlinable public var m33: Double { + get { jsObject[Strings.m33].fromJSValue()! } + set { jsObject[Strings.m33] = _toJSValue(newValue) } + } + @inlinable public var m34: Double { + get { jsObject[Strings.m34].fromJSValue()! } + set { jsObject[Strings.m34] = _toJSValue(newValue) } + } + @inlinable public var m43: Double { + get { jsObject[Strings.m43].fromJSValue()! } + set { jsObject[Strings.m43] = _toJSValue(newValue) } + } + @inlinable public var m44: Double { + get { jsObject[Strings.m44].fromJSValue()! } + set { jsObject[Strings.m44] = _toJSValue(newValue) } + } + @inlinable public var is2D: Bool { + get { jsObject[Strings.is2D].fromJSValue()! } + set { jsObject[Strings.is2D] = _toJSValue(newValue) } + } } - public class DOMMatrixReadOnly: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.DOMMatrixReadOnly].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _a = ReadonlyAttribute(jsObject: jsObject, name: Strings.a) - _b = ReadonlyAttribute(jsObject: jsObject, name: Strings.b) - _c = ReadonlyAttribute(jsObject: jsObject, name: Strings.c) - _d = ReadonlyAttribute(jsObject: jsObject, name: Strings.d) - _e = ReadonlyAttribute(jsObject: jsObject, name: Strings.e) - _f = ReadonlyAttribute(jsObject: jsObject, name: Strings.f) - _m11 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m11) - _m12 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m12) - _m13 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m13) - _m14 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m14) - _m21 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m21) - _m22 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m22) - _m23 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m23) - _m24 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m24) - _m31 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m31) - _m32 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m32) - _m33 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m33) - _m34 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m34) - _m41 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m41) - _m42 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m42) - _m43 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m43) - _m44 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m44) - _is2D = ReadonlyAttribute(jsObject: jsObject, name: Strings.is2D) - _isIdentity = ReadonlyAttribute(jsObject: jsObject, name: Strings.isIdentity) - self.jsObject = jsObject - } - - @inlinable public convenience init(init: String_or_seq_of_Double? = nil) { + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public convenience init(`init`: String_or_seq_of_Double? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public class func fromMatrix(other: DOMMatrixInit? = nil) -> Self { + @inlinable public class func fromMatrix(other: DOMMatrixInit? = nil) -> DOMMatrixReadOnly { let this = constructor! return this[Strings.fromMatrix].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public class func fromFloat32Array(array32: Float32Array) -> Self { + @inlinable public class func fromFloat32Array(array32: Float32Array) -> DOMMatrixReadOnly { let this = constructor! return this[Strings.fromFloat32Array].function!(this: this, arguments: [_toJSValue(array32)]).fromJSValue()! } - @inlinable public class func fromFloat64Array(array64: Float64Array) -> Self { + @inlinable public class func fromFloat64Array(array64: Float64Array) -> DOMMatrixReadOnly { let this = constructor! return this[Strings.fromFloat64Array].function!(this: this, arguments: [_toJSValue(array64)]).fromJSValue()! } - @ReadonlyAttribute - public var a: Double + @inlinable public var a: Double { jsObject[Strings.a].fromJSValue()! } - @ReadonlyAttribute - public var b: Double + @inlinable public var b: Double { jsObject[Strings.b].fromJSValue()! } - @ReadonlyAttribute - public var c: Double + @inlinable public var c: Double { jsObject[Strings.c].fromJSValue()! } - @ReadonlyAttribute - public var d: Double + @inlinable public var d: Double { jsObject[Strings.d].fromJSValue()! } - @ReadonlyAttribute - public var e: Double + @inlinable public var e: Double { jsObject[Strings.e].fromJSValue()! } - @ReadonlyAttribute - public var f: Double + @inlinable public var f: Double { jsObject[Strings.f].fromJSValue()! } - @ReadonlyAttribute - public var m11: Double + @inlinable public var m11: Double { jsObject[Strings.m11].fromJSValue()! } - @ReadonlyAttribute - public var m12: Double + @inlinable public var m12: Double { jsObject[Strings.m12].fromJSValue()! } - @ReadonlyAttribute - public var m13: Double + @inlinable public var m13: Double { jsObject[Strings.m13].fromJSValue()! } - @ReadonlyAttribute - public var m14: Double + @inlinable public var m14: Double { jsObject[Strings.m14].fromJSValue()! } - @ReadonlyAttribute - public var m21: Double + @inlinable public var m21: Double { jsObject[Strings.m21].fromJSValue()! } - @ReadonlyAttribute - public var m22: Double + @inlinable public var m22: Double { jsObject[Strings.m22].fromJSValue()! } - @ReadonlyAttribute - public var m23: Double + @inlinable public var m23: Double { jsObject[Strings.m23].fromJSValue()! } - @ReadonlyAttribute - public var m24: Double + @inlinable public var m24: Double { jsObject[Strings.m24].fromJSValue()! } - @ReadonlyAttribute - public var m31: Double + @inlinable public var m31: Double { jsObject[Strings.m31].fromJSValue()! } - @ReadonlyAttribute - public var m32: Double + @inlinable public var m32: Double { jsObject[Strings.m32].fromJSValue()! } - @ReadonlyAttribute - public var m33: Double + @inlinable public var m33: Double { jsObject[Strings.m33].fromJSValue()! } - @ReadonlyAttribute - public var m34: Double + @inlinable public var m34: Double { jsObject[Strings.m34].fromJSValue()! } - @ReadonlyAttribute - public var m41: Double + @inlinable public var m41: Double { jsObject[Strings.m41].fromJSValue()! } - @ReadonlyAttribute - public var m42: Double + @inlinable public var m42: Double { jsObject[Strings.m42].fromJSValue()! } - @ReadonlyAttribute - public var m43: Double + @inlinable public var m43: Double { jsObject[Strings.m43].fromJSValue()! } - @ReadonlyAttribute - public var m44: Double + @inlinable public var m44: Double { jsObject[Strings.m44].fromJSValue()! } - @ReadonlyAttribute - public var is2D: Bool + @inlinable public var is2D: Bool { jsObject[Strings.is2D].fromJSValue()! } - @ReadonlyAttribute - public var isIdentity: Bool + @inlinable public var isIdentity: Bool { jsObject[Strings.isIdentity].fromJSValue()! } - @inlinable public func translate(tx: Double? = nil, ty: Double? = nil, tz: Double? = nil) -> DOMMatrix { + @inlinable final public func translate(tx: Double? = nil, ty: Double? = nil, tz: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.translate].function!(this: this, arguments: [_toJSValue(tx), _toJSValue(ty), _toJSValue(tz)]).fromJSValue()! + return this[Strings.translate].function!( + this: this, + arguments: [_toJSValue(tx), _toJSValue(ty), _toJSValue(tz)] + ).fromJSValue()! } - @inlinable public func scale(scaleX: Double? = nil, scaleY: Double? = nil, scaleZ: Double? = nil, originX: Double? = nil, originY: Double? = nil, originZ: Double? = nil) -> DOMMatrix { + @inlinable final public func scale( + scaleX: Double? = nil, + scaleY: Double? = nil, + scaleZ: Double? = nil, + originX: Double? = nil, + originY: Double? = nil, + originZ: Double? = nil + ) -> DOMMatrix { let this = jsObject - return this[Strings.scale].function!(this: this, arguments: [_toJSValue(scaleX), _toJSValue(scaleY), _toJSValue(scaleZ), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)]).fromJSValue()! + return this[Strings.scale].function!( + this: this, + arguments: [ + _toJSValue(scaleX), _toJSValue(scaleY), _toJSValue(scaleZ), _toJSValue(originX), _toJSValue(originY), + _toJSValue(originZ), + ] + ).fromJSValue()! } - @inlinable public func scaleNonUniform(scaleX: Double? = nil, scaleY: Double? = nil) -> DOMMatrix { + @inlinable final public func scaleNonUniform(scaleX: Double? = nil, scaleY: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.scaleNonUniform].function!(this: this, arguments: [_toJSValue(scaleX), _toJSValue(scaleY)]).fromJSValue()! + return this[Strings.scaleNonUniform].function!(this: this, arguments: [_toJSValue(scaleX), _toJSValue(scaleY)]) + .fromJSValue()! } - @inlinable public func scale3d(scale: Double? = nil, originX: Double? = nil, originY: Double? = nil, originZ: Double? = nil) -> DOMMatrix { + @inlinable final public func scale3d( + scale: Double? = nil, + originX: Double? = nil, + originY: Double? = nil, + originZ: Double? = nil + ) -> DOMMatrix { let this = jsObject - return this[Strings.scale3d].function!(this: this, arguments: [_toJSValue(scale), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)]).fromJSValue()! + return this[Strings.scale3d].function!( + this: this, + arguments: [_toJSValue(scale), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)] + ).fromJSValue()! } - @inlinable public func rotate(rotX: Double? = nil, rotY: Double? = nil, rotZ: Double? = nil) -> DOMMatrix { + @inlinable final public func rotate(rotX: Double? = nil, rotY: Double? = nil, rotZ: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.rotate].function!(this: this, arguments: [_toJSValue(rotX), _toJSValue(rotY), _toJSValue(rotZ)]).fromJSValue()! + return this[Strings.rotate].function!( + this: this, + arguments: [_toJSValue(rotX), _toJSValue(rotY), _toJSValue(rotZ)] + ).fromJSValue()! } - @inlinable public func rotateFromVector(x: Double? = nil, y: Double? = nil) -> DOMMatrix { + @inlinable final public func rotateFromVector(x: Double? = nil, y: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.rotateFromVector].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue()! + return this[Strings.rotateFromVector].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) + .fromJSValue()! } - @inlinable public func rotateAxisAngle(x: Double? = nil, y: Double? = nil, z: Double? = nil, angle: Double? = nil) -> DOMMatrix { + @inlinable final public func rotateAxisAngle( + x: Double? = nil, + y: Double? = nil, + z: Double? = nil, + angle: Double? = nil + ) -> DOMMatrix { let this = jsObject - return this[Strings.rotateAxisAngle].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle)]).fromJSValue()! + return this[Strings.rotateAxisAngle].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle)] + ).fromJSValue()! } - @inlinable public func skewX(sx: Double? = nil) -> DOMMatrix { + @inlinable final public func skewX(sx: Double? = nil) -> DOMMatrix { let this = jsObject return this[Strings.skewX].function!(this: this, arguments: [_toJSValue(sx)]).fromJSValue()! } - @inlinable public func skewY(sy: Double? = nil) -> DOMMatrix { + @inlinable final public func skewY(sy: Double? = nil) -> DOMMatrix { let this = jsObject return this[Strings.skewY].function!(this: this, arguments: [_toJSValue(sy)]).fromJSValue()! } - @inlinable public func multiply(other: DOMMatrixInit? = nil) -> DOMMatrix { + @inlinable final public func multiply(other: DOMMatrixInit? = nil) -> DOMMatrix { let this = jsObject return this[Strings.multiply].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public func flipX() -> DOMMatrix { + @inlinable final public func flipX() -> DOMMatrix { let this = jsObject return this[Strings.flipX].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func flipY() -> DOMMatrix { + @inlinable final public func flipY() -> DOMMatrix { let this = jsObject return this[Strings.flipY].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func inverse() -> DOMMatrix { + @inlinable final public func inverse() -> DOMMatrix { let this = jsObject return this[Strings.inverse].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func transformPoint(point: DOMPointInit? = nil) -> DOMPoint { + @inlinable final public func transformPoint(point: DOMPointInit? = nil) -> DOMPoint { let this = jsObject return this[Strings.transformPoint].function!(this: this, arguments: [_toJSValue(point)]).fromJSValue()! } - @inlinable public func toFloat32Array() -> Float32Array { + @inlinable final public func toFloat32Array() -> Float32Array { let this = jsObject return this[Strings.toFloat32Array].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func toFloat64Array() -> Float64Array { + @inlinable final public func toFloat64Array() -> Float64Array { let this = jsObject return this[Strings.toFloat64Array].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var description: String { - jsObject[Strings.toString]!().fromJSValue()! - } + @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -3405,17 +3563,14 @@ public class DOMParser: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public func parseFromString(string: String, type: DOMParserSupportedType) -> Document { + @inlinable final public func parseFromString(string: String, type: DOMParserSupportedType) -> Document { let this = jsObject - return this[Strings.parseFromString].function!(this: this, arguments: [_toJSValue(string), _toJSValue(type)]).fromJSValue()! + return this[Strings.parseFromString].function!(this: this, arguments: [_toJSValue(string), _toJSValue(type)]) + .fromJSValue()! } } @@ -3427,135 +3582,100 @@ public enum DOMParserSupportedType: JSString, JSValueCompatible { case imageSvgXml = "image/svg+xml" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class DOMPoint: DOMPointReadOnly { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DOMPoint].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DOMPoint].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadWriteAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadWriteAttribute(jsObject: jsObject, name: Strings.y) - _z = ReadWriteAttribute(jsObject: jsObject, name: Strings.z) - _w = ReadWriteAttribute(jsObject: jsObject, name: Strings.w) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(x: Double? = nil, y: Double? = nil, z: Double? = nil, w: Double? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w), + ]) + ) } - @inlinable override public class func fromPoint(other: DOMPointInit? = nil) -> Self { + @inlinable override public class func fromPoint(other: DOMPointInit? = nil) -> DOMPoint { let this = constructor! return this[Strings.fromPoint].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @usableFromInline let _x: ReadWriteAttribute - @inlinable override public var x: Double { - get { _x.wrappedValue } - set { _x.wrappedValue = newValue } - } - - @usableFromInline let _y: ReadWriteAttribute - @inlinable override public var y: Double { - get { _y.wrappedValue } - set { _y.wrappedValue = newValue } - } - - @usableFromInline let _z: ReadWriteAttribute - @inlinable override public var z: Double { - get { _z.wrappedValue } - set { _z.wrappedValue = newValue } - } - - @usableFromInline let _w: ReadWriteAttribute - @inlinable override public var w: Double { - get { _w.wrappedValue } - set { _w.wrappedValue = newValue } - } } -public class DOMPointInit: BridgedDictionary { - public convenience init(x: Double, y: Double, z: Double, w: Double) { +open class DOMPointInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(x: Double? = nil, y: Double? = nil, z: Double? = nil, w: Double? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.x] = _toJSValue(x) object[Strings.y] = _toJSValue(y) object[Strings.z] = _toJSValue(z) object[Strings.w] = _toJSValue(w) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _x = ReadWriteAttribute(jsObject: object, name: Strings.x) - _y = ReadWriteAttribute(jsObject: object, name: Strings.y) - _z = ReadWriteAttribute(jsObject: object, name: Strings.z) - _w = ReadWriteAttribute(jsObject: object, name: Strings.w) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var x: Double + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var y: Double - - @ReadWriteAttribute - public var z: Double - - @ReadWriteAttribute - public var w: Double + @inlinable public var x: Double { + get { jsObject[Strings.x].fromJSValue()! } + set { jsObject[Strings.x] = _toJSValue(newValue) } + } + @inlinable public var y: Double { + get { jsObject[Strings.y].fromJSValue()! } + set { jsObject[Strings.y] = _toJSValue(newValue) } + } + @inlinable public var z: Double { + get { jsObject[Strings.z].fromJSValue()! } + set { jsObject[Strings.z] = _toJSValue(newValue) } + } + @inlinable public var w: Double { + get { jsObject[Strings.w].fromJSValue()! } + set { jsObject[Strings.w] = _toJSValue(newValue) } + } } - public class DOMPointReadOnly: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.DOMPointReadOnly].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _z = ReadonlyAttribute(jsObject: jsObject, name: Strings.z) - _w = ReadonlyAttribute(jsObject: jsObject, name: Strings.w) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(x: Double? = nil, y: Double? = nil, z: Double? = nil, w: Double? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w), + ]) + ) } - @inlinable public class func fromPoint(other: DOMPointInit? = nil) -> Self { + @inlinable public class func fromPoint(other: DOMPointInit? = nil) -> DOMPointReadOnly { let this = constructor! return this[Strings.fromPoint].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @ReadonlyAttribute - public var x: Double + @inlinable public var x: Double { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var y: Double + @inlinable public var y: Double { jsObject[Strings.y].fromJSValue()! } - @ReadonlyAttribute - public var z: Double + @inlinable public var z: Double { jsObject[Strings.z].fromJSValue()! } - @ReadonlyAttribute - public var w: Double + @inlinable public var w: Double { jsObject[Strings.w].fromJSValue()! } - @inlinable public func matrixTransform(matrix: DOMMatrixInit? = nil) -> DOMPoint { + @inlinable final public func matrixTransform(matrix: DOMMatrixInit? = nil) -> DOMPoint { let this = jsObject return this[Strings.matrixTransform].function!(this: this, arguments: [_toJSValue(matrix)]).fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -3566,176 +3686,152 @@ public class DOMQuad: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _p1 = ReadonlyAttribute(jsObject: jsObject, name: Strings.p1) - _p2 = ReadonlyAttribute(jsObject: jsObject, name: Strings.p2) - _p3 = ReadonlyAttribute(jsObject: jsObject, name: Strings.p3) - _p4 = ReadonlyAttribute(jsObject: jsObject, name: Strings.p4) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(p1: DOMPointInit? = nil, p2: DOMPointInit? = nil, p3: DOMPointInit? = nil, p4: DOMPointInit? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(p1), _toJSValue(p2), _toJSValue(p3), _toJSValue(p4)])) + @inlinable public convenience init( + p1: DOMPointInit? = nil, + p2: DOMPointInit? = nil, + p3: DOMPointInit? = nil, + p4: DOMPointInit? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(p1), _toJSValue(p2), _toJSValue(p3), _toJSValue(p4), + ]) + ) } - @inlinable public class func fromRect(other: DOMRectInit? = nil) -> Self { + @inlinable public class func fromRect(other: DOMRectInit? = nil) -> DOMQuad { let this = constructor! return this[Strings.fromRect].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public class func fromQuad(other: DOMQuadInit? = nil) -> Self { + @inlinable public class func fromQuad(other: DOMQuadInit? = nil) -> DOMQuad { let this = constructor! return this[Strings.fromQuad].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @ReadonlyAttribute - public var p1: DOMPoint + @inlinable public var p1: DOMPoint { jsObject[Strings.p1].fromJSValue()! } - @ReadonlyAttribute - public var p2: DOMPoint + @inlinable public var p2: DOMPoint { jsObject[Strings.p2].fromJSValue()! } - @ReadonlyAttribute - public var p3: DOMPoint + @inlinable public var p3: DOMPoint { jsObject[Strings.p3].fromJSValue()! } - @ReadonlyAttribute - public var p4: DOMPoint + @inlinable public var p4: DOMPoint { jsObject[Strings.p4].fromJSValue()! } - @inlinable public func getBounds() -> DOMRect { + @inlinable final public func getBounds() -> DOMRect { let this = jsObject return this[Strings.getBounds].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } } -public class DOMQuadInit: BridgedDictionary { - public convenience init(p1: DOMPointInit, p2: DOMPointInit, p3: DOMPointInit, p4: DOMPointInit) { +open class DOMQuadInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + p1: DOMPointInit? = nil, + p2: DOMPointInit? = nil, + p3: DOMPointInit? = nil, + p4: DOMPointInit? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.p1] = _toJSValue(p1) object[Strings.p2] = _toJSValue(p2) object[Strings.p3] = _toJSValue(p3) object[Strings.p4] = _toJSValue(p4) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _p1 = ReadWriteAttribute(jsObject: object, name: Strings.p1) - _p2 = ReadWriteAttribute(jsObject: object, name: Strings.p2) - _p3 = ReadWriteAttribute(jsObject: object, name: Strings.p3) - _p4 = ReadWriteAttribute(jsObject: object, name: Strings.p4) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var p1: DOMPointInit - - @ReadWriteAttribute - public var p2: DOMPointInit - - @ReadWriteAttribute - public var p3: DOMPointInit + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var p4: DOMPointInit + @inlinable public var p1: DOMPointInit { + get { jsObject[Strings.p1].fromJSValue()! } + set { jsObject[Strings.p1] = _toJSValue(newValue) } + } + @inlinable public var p2: DOMPointInit { + get { jsObject[Strings.p2].fromJSValue()! } + set { jsObject[Strings.p2] = _toJSValue(newValue) } + } + @inlinable public var p3: DOMPointInit { + get { jsObject[Strings.p3].fromJSValue()! } + set { jsObject[Strings.p3] = _toJSValue(newValue) } + } + @inlinable public var p4: DOMPointInit { + get { jsObject[Strings.p4].fromJSValue()! } + set { jsObject[Strings.p4] = _toJSValue(newValue) } + } } - public class DOMRect: DOMRectReadOnly { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DOMRect].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DOMRect].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadWriteAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadWriteAttribute(jsObject: jsObject, name: Strings.y) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)])) + @inlinable public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) + { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), + ]) + ) } - @inlinable override public class func fromRect(other: DOMRectInit? = nil) -> Self { + @inlinable override public class func fromRect(other: DOMRectInit? = nil) -> DOMRect { let this = constructor! return this[Strings.fromRect].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @usableFromInline let _x: ReadWriteAttribute - @inlinable override public var x: Double { - get { _x.wrappedValue } - set { _x.wrappedValue = newValue } - } - - @usableFromInline let _y: ReadWriteAttribute - @inlinable override public var y: Double { - get { _y.wrappedValue } - set { _y.wrappedValue = newValue } - } - - @usableFromInline let _width: ReadWriteAttribute - @inlinable override public var width: Double { - get { _width.wrappedValue } - set { _width.wrappedValue = newValue } - } - - @usableFromInline let _height: ReadWriteAttribute - @inlinable override public var height: Double { - get { _height.wrappedValue } - set { _height.wrappedValue = newValue } - } } -public class DOMRectInit: BridgedDictionary { - public convenience init(x: Double, y: Double, width: Double, height: Double) { +open class DOMRectInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.x] = _toJSValue(x) object[Strings.y] = _toJSValue(y) object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _x = ReadWriteAttribute(jsObject: object, name: Strings.x) - _y = ReadWriteAttribute(jsObject: object, name: Strings.y) - _width = ReadWriteAttribute(jsObject: object, name: Strings.width) - _height = ReadWriteAttribute(jsObject: object, name: Strings.height) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var x: Double - - @ReadWriteAttribute - public var y: Double - - @ReadWriteAttribute - public var width: Double + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var height: Double + @inlinable public var x: Double { + get { jsObject[Strings.x].fromJSValue()! } + set { jsObject[Strings.x] = _toJSValue(newValue) } + } + @inlinable public var y: Double { + get { jsObject[Strings.y].fromJSValue()! } + set { jsObject[Strings.y] = _toJSValue(newValue) } + } + @inlinable public var width: Double { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + @inlinable public var height: Double { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } } - public class DOMRectList: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.DOMRectList].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> DOMRect? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> DOMRect? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> DOMRect? { + @inlinable final public func item(index: UInt32) -> DOMRect? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } @@ -3746,52 +3842,39 @@ public class DOMRectReadOnly: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _top = ReadonlyAttribute(jsObject: jsObject, name: Strings.top) - _right = ReadonlyAttribute(jsObject: jsObject, name: Strings.right) - _bottom = ReadonlyAttribute(jsObject: jsObject, name: Strings.bottom) - _left = ReadonlyAttribute(jsObject: jsObject, name: Strings.left) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)])) + @inlinable public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) + { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), + ]) + ) } - @inlinable public class func fromRect(other: DOMRectInit? = nil) -> Self { + @inlinable public class func fromRect(other: DOMRectInit? = nil) -> DOMRectReadOnly { let this = constructor! return this[Strings.fromRect].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @ReadonlyAttribute - public var x: Double + @inlinable public var x: Double { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var y: Double + @inlinable public var y: Double { jsObject[Strings.y].fromJSValue()! } - @ReadonlyAttribute - public var width: Double + @inlinable public var width: Double { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: Double + @inlinable public var height: Double { jsObject[Strings.height].fromJSValue()! } - @ReadonlyAttribute - public var top: Double + @inlinable public var top: Double { jsObject[Strings.top].fromJSValue()! } - @ReadonlyAttribute - public var right: Double + @inlinable public var right: Double { jsObject[Strings.right].fromJSValue()! } - @ReadonlyAttribute - public var bottom: Double + @inlinable public var bottom: Double { jsObject[Strings.bottom].fromJSValue()! } - @ReadonlyAttribute - public var left: Double + @inlinable public var left: Double { jsObject[Strings.left].fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -3802,24 +3885,18 @@ public class DOMStringList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> String? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> String? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> String? { + @inlinable final public func item(index: UInt32) -> String? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public func contains(string: String) -> Bool { + @inlinable final public func contains(string: String) -> Bool { let this = jsObject return this[Strings.contains].function!(this: this, arguments: [_toJSValue(string)]).fromJSValue()! } @@ -3830,17 +3907,11 @@ public class DOMStringMap: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public subscript(key: String) -> String { - get { - jsObject[key].fromJSValue()! - } - set { - jsObject[key] = _toJSValue(newValue) - } + get { jsObject[key].fromJSValue()! } + set { jsObject[key] = _toJSValue(newValue) } } @inlinable public func removeValue(forKey key: String) { @@ -3853,61 +3924,56 @@ public class DOMTokenList: JSBridgedClass, Sequence { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> String? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> String? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> String? { + @inlinable final public func item(index: UInt32) -> String? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public func contains(token: String) -> Bool { + @inlinable final public func contains(token: String) -> Bool { let this = jsObject return this[Strings.contains].function!(this: this, arguments: [_toJSValue(token)]).fromJSValue()! } - @inlinable public func add(tokens: String...) { + @inlinable final public func add(tokens: String...) { let this = jsObject _ = this[Strings.add].function!(this: this, arguments: tokens.map(_toJSValue)) } - @inlinable public func remove(tokens: String...) { + @inlinable final public func remove(tokens: String...) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: tokens.map(_toJSValue)) } - @inlinable public func toggle(token: String, force: Bool? = nil) -> Bool { + @inlinable final public func toggle(token: String, force: Bool? = nil) -> Bool { let this = jsObject - return this[Strings.toggle].function!(this: this, arguments: [_toJSValue(token), _toJSValue(force)]).fromJSValue()! + return this[Strings.toggle].function!(this: this, arguments: [_toJSValue(token), _toJSValue(force)]) + .fromJSValue()! } - @inlinable public func replace(token: String, newToken: String) -> Bool { + @inlinable final public func replace(token: String, newToken: String) -> Bool { let this = jsObject - return this[Strings.replace].function!(this: this, arguments: [_toJSValue(token), _toJSValue(newToken)]).fromJSValue()! + return this[Strings.replace].function!(this: this, arguments: [_toJSValue(token), _toJSValue(newToken)]) + .fromJSValue()! } - @inlinable public func supports(token: String) -> Bool { + @inlinable final public func supports(token: String) -> Bool { let this = jsObject return this[Strings.supports].function!(this: this, arguments: [_toJSValue(token)]).fromJSValue()! } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } public typealias Element = String - public func makeIterator() -> ValueIterableIterator { - ValueIterableIterator(sequence: self) - } + public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } } public class DataTransfer: JSBridgedClass { @@ -3915,53 +3981,48 @@ public class DataTransfer: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _dropEffect = ReadWriteAttribute(jsObject: jsObject, name: Strings.dropEffect) - _effectAllowed = ReadWriteAttribute(jsObject: jsObject, name: Strings.effectAllowed) - _items = ReadonlyAttribute(jsObject: jsObject, name: Strings.items) - _types = ReadonlyAttribute(jsObject: jsObject, name: Strings.types) - _files = ReadonlyAttribute(jsObject: jsObject, name: Strings.files) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var dropEffect: String + @inlinable public var dropEffect: String { + get { jsObject[Strings.dropEffect].fromJSValue()! } + set { jsObject[Strings.dropEffect] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var effectAllowed: String + @inlinable public var effectAllowed: String { + get { jsObject[Strings.effectAllowed].fromJSValue()! } + set { jsObject[Strings.effectAllowed] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var items: DataTransferItemList + @inlinable public var items: DataTransferItemList { jsObject[Strings.items].fromJSValue()! } - @inlinable public func setDragImage(image: Element, x: Int32, y: Int32) { + @inlinable final public func setDragImage(image: Element, x: Int32, y: Int32) { let this = jsObject - _ = this[Strings.setDragImage].function!(this: this, arguments: [_toJSValue(image), _toJSValue(x), _toJSValue(y)]) + _ = this[Strings.setDragImage].function!( + this: this, + arguments: [_toJSValue(image), _toJSValue(x), _toJSValue(y)] + ) } - @ReadonlyAttribute - public var types: [String] + @inlinable public var types: [String] { jsObject[Strings.types].fromJSValue()! } - @inlinable public func getData(format: String) -> String { + @inlinable final public func getData(format: String) -> String { let this = jsObject return this[Strings.getData].function!(this: this, arguments: [_toJSValue(format)]).fromJSValue()! } - @inlinable public func setData(format: String, data: String) { + @inlinable final public func setData(format: String, data: String) { let this = jsObject _ = this[Strings.setData].function!(this: this, arguments: [_toJSValue(format), _toJSValue(data)]) } - @inlinable public func clearData(format: String? = nil) { + @inlinable final public func clearData(format: String? = nil) { let this = jsObject _ = this[Strings.clearData].function!(this: this, arguments: [_toJSValue(format)]) } - @ReadonlyAttribute - public var files: FileList + @inlinable public var files: FileList { jsObject[Strings.files].fromJSValue()! } } public class DataTransferItem: JSBridgedClass { @@ -3969,24 +4030,18 @@ public class DataTransferItem: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var kind: String + @inlinable public var kind: String { jsObject[Strings.kind].fromJSValue()! } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @inlinable public func getAsString(callback: FunctionStringCallback?) { + @inlinable final public func getAsString(callback: FunctionStringCallback?) { let this = jsObject _ = this[Strings.getAsString].function!(this: this, arguments: [_toJSValue(callback)]) } - @inlinable public func getAsFile() -> File? { + @inlinable final public func getAsFile() -> File? { let this = jsObject return this[Strings.getAsFile].function!(this: this, arguments: []).fromJSValue() } @@ -3997,214 +4052,180 @@ public class DataTransferItemList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> DataTransferItem { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> DataTransferItem { jsObject[key].fromJSValue()! } - @inlinable public func add(data: String, type: String) -> DataTransferItem? { + @inlinable final public func add(data: String, type: String) -> DataTransferItem? { let this = jsObject return this[Strings.add].function!(this: this, arguments: [_toJSValue(data), _toJSValue(type)]).fromJSValue() } - @inlinable public func add(data: File) -> DataTransferItem? { + @inlinable final public func add(data: File) -> DataTransferItem? { let this = jsObject return this[Strings.add].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue() } - @inlinable public func remove(index: UInt32) { + @inlinable final public func remove(index: UInt32) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: [_toJSValue(index)]) } - @inlinable public func clear() { + @inlinable final public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } } -public class DevicePermissionDescriptor: BridgedDictionary { - public convenience init(deviceId: String) { +open class DevicePermissionDescriptor: PermissionDescriptor { + + public convenience init(name: String, deviceId: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.name] = _toJSValue(name) object[Strings.deviceId] = _toJSValue(deviceId) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var deviceId: String + @inlinable public var deviceId: String { + get { jsObject[Strings.deviceId].fromJSValue()! } + set { jsObject[Strings.deviceId] = _toJSValue(newValue) } + } } +public class Document: Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, XPathEvaluatorBase, + GlobalEventHandlers, GeometryUtils +{ + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Document].function } -public class Document: Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, XPathEvaluatorBase, GlobalEventHandlers, GeometryUtils { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Document].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _implementation = ReadonlyAttribute(jsObject: jsObject, name: Strings.implementation) - _URL = ReadonlyAttribute(jsObject: jsObject, name: Strings.URL) - _documentURI = ReadonlyAttribute(jsObject: jsObject, name: Strings.documentURI) - _compatMode = ReadonlyAttribute(jsObject: jsObject, name: Strings.compatMode) - _characterSet = ReadonlyAttribute(jsObject: jsObject, name: Strings.characterSet) - _charset = ReadonlyAttribute(jsObject: jsObject, name: Strings.charset) - _inputEncoding = ReadonlyAttribute(jsObject: jsObject, name: Strings.inputEncoding) - _contentType = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentType) - _doctype = ReadonlyAttribute(jsObject: jsObject, name: Strings.doctype) - _documentElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.documentElement) - _location = ReadonlyAttribute(jsObject: jsObject, name: Strings.location) - _domain = ReadWriteAttribute(jsObject: jsObject, name: Strings.domain) - _referrer = ReadonlyAttribute(jsObject: jsObject, name: Strings.referrer) - _cookie = ReadWriteAttribute(jsObject: jsObject, name: Strings.cookie) - _lastModified = ReadonlyAttribute(jsObject: jsObject, name: Strings.lastModified) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _title = ReadWriteAttribute(jsObject: jsObject, name: Strings.title) - _dir = ReadWriteAttribute(jsObject: jsObject, name: Strings.dir) - _body = ReadWriteAttribute(jsObject: jsObject, name: Strings.body) - _head = ReadonlyAttribute(jsObject: jsObject, name: Strings.head) - _images = ReadonlyAttribute(jsObject: jsObject, name: Strings.images) - _embeds = ReadonlyAttribute(jsObject: jsObject, name: Strings.embeds) - _plugins = ReadonlyAttribute(jsObject: jsObject, name: Strings.plugins) - _links = ReadonlyAttribute(jsObject: jsObject, name: Strings.links) - _forms = ReadonlyAttribute(jsObject: jsObject, name: Strings.forms) - _scripts = ReadonlyAttribute(jsObject: jsObject, name: Strings.scripts) - _currentScript = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentScript) - _defaultView = ReadonlyAttribute(jsObject: jsObject, name: Strings.defaultView) - _designMode = ReadWriteAttribute(jsObject: jsObject, name: Strings.designMode) - _hidden = ReadonlyAttribute(jsObject: jsObject, name: Strings.hidden) - _visibilityState = ReadonlyAttribute(jsObject: jsObject, name: Strings.visibilityState) - _onreadystatechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onreadystatechange) - _onvisibilitychange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onvisibilitychange) - _fgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.fgColor) - _linkColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.linkColor) - _vlinkColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.vlinkColor) - _alinkColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.alinkColor) - _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) - _anchors = ReadonlyAttribute(jsObject: jsObject, name: Strings.anchors) - _applets = ReadonlyAttribute(jsObject: jsObject, name: Strings.applets) - _all = ReadonlyAttribute(jsObject: jsObject, name: Strings.all) - _scrollingElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollingElement) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var implementation: DOMImplementation + @inlinable public var implementation: DOMImplementation { jsObject[Strings.implementation].fromJSValue()! } - @ReadonlyAttribute - public var URL: String + @inlinable public var URL: String { jsObject[Strings.URL].fromJSValue()! } - @ReadonlyAttribute - public var documentURI: String + @inlinable public var documentURI: String { jsObject[Strings.documentURI].fromJSValue()! } - @ReadonlyAttribute - public var compatMode: String + @inlinable public var compatMode: String { jsObject[Strings.compatMode].fromJSValue()! } - @ReadonlyAttribute - public var characterSet: String + @inlinable public var characterSet: String { jsObject[Strings.characterSet].fromJSValue()! } - @ReadonlyAttribute - public var charset: String + @inlinable public var charset: String { jsObject[Strings.charset].fromJSValue()! } - @ReadonlyAttribute - public var inputEncoding: String + @inlinable public var inputEncoding: String { jsObject[Strings.inputEncoding].fromJSValue()! } - @ReadonlyAttribute - public var contentType: String + @inlinable public var contentType: String { jsObject[Strings.contentType].fromJSValue()! } - @ReadonlyAttribute - public var doctype: DocumentType? + @inlinable public var doctype: DocumentType? { jsObject[Strings.doctype].fromJSValue() } - @ReadonlyAttribute - public var documentElement: Element? + @inlinable public var documentElement: Element? { jsObject[Strings.documentElement].fromJSValue() } - @inlinable public func getElementsByTagName(qualifiedName: String) -> HTMLCollection { + @inlinable final public func getElementsByTagName(qualifiedName: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByTagName].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue()! + return this[Strings.getElementsByTagName].function!(this: this, arguments: [_toJSValue(qualifiedName)]) + .fromJSValue()! } - @inlinable public func getElementsByTagNameNS(namespace: String?, localName: String) -> HTMLCollection { + @inlinable final public func getElementsByTagNameNS(namespace: String?, localName: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByTagNameNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue()! + return this[Strings.getElementsByTagNameNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue()! } - @inlinable public func getElementsByClassName(classNames: String) -> HTMLCollection { + @inlinable final public func getElementsByClassName(classNames: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByClassName].function!(this: this, arguments: [_toJSValue(classNames)]).fromJSValue()! + return this[Strings.getElementsByClassName].function!(this: this, arguments: [_toJSValue(classNames)]) + .fromJSValue()! } - @inlinable public func createElement(localName: String, options: ElementCreationOptions_or_String? = nil) -> Element { + @inlinable final public func createElement( + localName: String, + options: ElementCreationOptions_or_String? = nil + ) -> Element { let this = jsObject - return this[Strings.createElement].function!(this: this, arguments: [_toJSValue(localName), _toJSValue(options)]).fromJSValue()! + return this[Strings.createElement].function!( + this: this, + arguments: [_toJSValue(localName), _toJSValue(options)] + ).fromJSValue()! } - @inlinable public func createElementNS(namespace: String?, qualifiedName: String, options: ElementCreationOptions_or_String? = nil) -> Element { + @inlinable final public func createElementNS( + namespace: String?, + qualifiedName: String, + options: ElementCreationOptions_or_String? = nil + ) -> Element { let this = jsObject - return this[Strings.createElementNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(options)]).fromJSValue()! + return this[Strings.createElementNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(options)] + ).fromJSValue()! } - @inlinable public func createDocumentFragment() -> DocumentFragment { + @inlinable final public func createDocumentFragment() -> DocumentFragment { let this = jsObject return this[Strings.createDocumentFragment].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createTextNode(data: String) -> Text { + @inlinable final public func createTextNode(data: String) -> Text { let this = jsObject return this[Strings.createTextNode].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable public func createCDATASection(data: String) -> CDATASection { + @inlinable final public func createCDATASection(data: String) -> CDATASection { let this = jsObject return this[Strings.createCDATASection].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable public func createComment(data: String) -> Comment { + @inlinable final public func createComment(data: String) -> Comment { let this = jsObject return this[Strings.createComment].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable public func createProcessingInstruction(target: String, data: String) -> ProcessingInstruction { + @inlinable final public func createProcessingInstruction(target: String, data: String) -> ProcessingInstruction { let this = jsObject - return this[Strings.createProcessingInstruction].function!(this: this, arguments: [_toJSValue(target), _toJSValue(data)]).fromJSValue()! + return this[Strings.createProcessingInstruction].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(data)] + ).fromJSValue()! } - @inlinable public func importNode(node: Node, deep: Bool? = nil) -> Node { + @inlinable final public func importNode(node: Node, deep: Bool? = nil) -> Node { let this = jsObject - return this[Strings.importNode].function!(this: this, arguments: [_toJSValue(node), _toJSValue(deep)]).fromJSValue()! + return this[Strings.importNode].function!(this: this, arguments: [_toJSValue(node), _toJSValue(deep)]) + .fromJSValue()! } - @inlinable public func adoptNode(node: Node) -> Node { + @inlinable final public func adoptNode(node: Node) -> Node { let this = jsObject return this[Strings.adoptNode].function!(this: this, arguments: [_toJSValue(node)]).fromJSValue()! } - @inlinable public func createAttribute(localName: String) -> Attr { + @inlinable final public func createAttribute(localName: String) -> Attr { let this = jsObject return this[Strings.createAttribute].function!(this: this, arguments: [_toJSValue(localName)]).fromJSValue()! } - @inlinable public func createAttributeNS(namespace: String?, qualifiedName: String) -> Attr { + @inlinable final public func createAttributeNS(namespace: String?, qualifiedName: String) -> Attr { let this = jsObject - return this[Strings.createAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(qualifiedName)]).fromJSValue()! + return this[Strings.createAttributeNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(qualifiedName)] + ).fromJSValue()! } - @inlinable public func createEvent(interface: String) -> Event { + @inlinable final public func createEvent(interface: String) -> Event { let this = jsObject return this[Strings.createEvent].function!(this: this, arguments: [_toJSValue(interface)]).fromJSValue()! } - @inlinable public func createRange() -> Range { + @inlinable final public func createRange() -> Range { let this = jsObject return this[Strings.createRange].function!(this: this, arguments: []).fromJSValue()! } @@ -4213,256 +4234,281 @@ public class Document: Node, NonElementParentNode, DocumentOrShadowRoot, ParentN // XXX: member 'createTreeWalker' is ignored - @ReadonlyAttribute - public var location: Location? + @inlinable public var location: Location? { jsObject[Strings.location].fromJSValue() } + + @inlinable public var domain: String { + get { jsObject[Strings.domain].fromJSValue()! } + set { jsObject[Strings.domain] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var domain: String + @inlinable public var referrer: String { jsObject[Strings.referrer].fromJSValue()! } - @ReadonlyAttribute - public var referrer: String + @inlinable public var cookie: String { + get { jsObject[Strings.cookie].fromJSValue()! } + set { jsObject[Strings.cookie] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var cookie: String + @inlinable public var lastModified: String { jsObject[Strings.lastModified].fromJSValue()! } - @ReadonlyAttribute - public var lastModified: String + @inlinable public var readyState: DocumentReadyState { jsObject[Strings.readyState].fromJSValue()! } - @ReadonlyAttribute - public var readyState: DocumentReadyState + @inlinable public subscript(key: String) -> JSObject { jsObject[key].fromJSValue()! } - @inlinable public subscript(key: String) -> JSObject { - jsObject[key].fromJSValue()! + @inlinable public var title: String { + get { jsObject[Strings.title].fromJSValue()! } + set { jsObject[Strings.title] = _toJSValue(newValue) } } - @ReadWriteAttribute - public var title: String - - @ReadWriteAttribute - public var dir: String + @inlinable public var dir: String { + get { jsObject[Strings.dir].fromJSValue()! } + set { jsObject[Strings.dir] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var body: HTMLElement? + @inlinable public var body: HTMLElement? { + get { jsObject[Strings.body].fromJSValue() } + set { jsObject[Strings.body] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var head: HTMLHeadElement? + @inlinable public var head: HTMLHeadElement? { jsObject[Strings.head].fromJSValue() } - @ReadonlyAttribute - public var images: HTMLCollection + @inlinable public var images: HTMLCollection { jsObject[Strings.images].fromJSValue()! } - @ReadonlyAttribute - public var embeds: HTMLCollection + @inlinable public var embeds: HTMLCollection { jsObject[Strings.embeds].fromJSValue()! } - @ReadonlyAttribute - public var plugins: HTMLCollection + @inlinable public var plugins: HTMLCollection { jsObject[Strings.plugins].fromJSValue()! } - @ReadonlyAttribute - public var links: HTMLCollection + @inlinable public var links: HTMLCollection { jsObject[Strings.links].fromJSValue()! } - @ReadonlyAttribute - public var forms: HTMLCollection + @inlinable public var forms: HTMLCollection { jsObject[Strings.forms].fromJSValue()! } - @ReadonlyAttribute - public var scripts: HTMLCollection + @inlinable public var scripts: HTMLCollection { jsObject[Strings.scripts].fromJSValue()! } - @inlinable public func getElementsByName(elementName: String) -> NodeList { + @inlinable final public func getElementsByName(elementName: String) -> NodeList { let this = jsObject - return this[Strings.getElementsByName].function!(this: this, arguments: [_toJSValue(elementName)]).fromJSValue()! + return this[Strings.getElementsByName].function!(this: this, arguments: [_toJSValue(elementName)]) + .fromJSValue()! } - @ReadonlyAttribute - public var currentScript: HTMLOrSVGScriptElement? + @inlinable public var currentScript: HTMLOrSVGScriptElement? { jsObject[Strings.currentScript].fromJSValue() } - @inlinable public func open(unused1: String? = nil, unused2: String? = nil) -> Self { + @inlinable final public func open(unused1: String? = nil, unused2: String? = nil) -> Document { let this = jsObject - return this[Strings.open].function!(this: this, arguments: [_toJSValue(unused1), _toJSValue(unused2)]).fromJSValue()! + return this[Strings.open].function!(this: this, arguments: [_toJSValue(unused1), _toJSValue(unused2)]) + .fromJSValue()! } - @inlinable public func open(url: String, name: String, features: String) -> WindowProxy? { + @inlinable final public func open(url: String, name: String, features: String) -> WindowProxy? { let this = jsObject - return this[Strings.open].function!(this: this, arguments: [_toJSValue(url), _toJSValue(name), _toJSValue(features)]).fromJSValue() + return this[Strings.open].function!( + this: this, + arguments: [_toJSValue(url), _toJSValue(name), _toJSValue(features)] + ).fromJSValue() } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @inlinable public func write(text: String...) { + @inlinable final public func write(text: String...) { let this = jsObject _ = this[Strings.write].function!(this: this, arguments: text.map(_toJSValue)) } - @inlinable public func writeln(text: String...) { + @inlinable final public func writeln(text: String...) { let this = jsObject _ = this[Strings.writeln].function!(this: this, arguments: text.map(_toJSValue)) } - @ReadonlyAttribute - public var defaultView: WindowProxy? + @inlinable public var defaultView: WindowProxy? { jsObject[Strings.defaultView].fromJSValue() } - @inlinable public func hasFocus() -> Bool { + @inlinable final public func hasFocus() -> Bool { let this = jsObject return this[Strings.hasFocus].function!(this: this, arguments: []).fromJSValue()! } - @ReadWriteAttribute - public var designMode: String + @inlinable public var designMode: String { + get { jsObject[Strings.designMode].fromJSValue()! } + set { jsObject[Strings.designMode] = _toJSValue(newValue) } + } - @inlinable public func execCommand(commandId: String, showUI: Bool? = nil, value: String? = nil) -> Bool { + @inlinable final public func execCommand(commandId: String, showUI: Bool? = nil, value: String? = nil) -> Bool { let this = jsObject - return this[Strings.execCommand].function!(this: this, arguments: [_toJSValue(commandId), _toJSValue(showUI), _toJSValue(value)]).fromJSValue()! + return this[Strings.execCommand].function!( + this: this, + arguments: [_toJSValue(commandId), _toJSValue(showUI), _toJSValue(value)] + ).fromJSValue()! } - @inlinable public func queryCommandEnabled(commandId: String) -> Bool { + @inlinable final public func queryCommandEnabled(commandId: String) -> Bool { let this = jsObject - return this[Strings.queryCommandEnabled].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! + return this[Strings.queryCommandEnabled].function!(this: this, arguments: [_toJSValue(commandId)]) + .fromJSValue()! } - @inlinable public func queryCommandIndeterm(commandId: String) -> Bool { + @inlinable final public func queryCommandIndeterm(commandId: String) -> Bool { let this = jsObject - return this[Strings.queryCommandIndeterm].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! + return this[Strings.queryCommandIndeterm].function!(this: this, arguments: [_toJSValue(commandId)]) + .fromJSValue()! } - @inlinable public func queryCommandState(commandId: String) -> Bool { + @inlinable final public func queryCommandState(commandId: String) -> Bool { let this = jsObject return this[Strings.queryCommandState].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! } - @inlinable public func queryCommandSupported(commandId: String) -> Bool { + @inlinable final public func queryCommandSupported(commandId: String) -> Bool { let this = jsObject - return this[Strings.queryCommandSupported].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! + return this[Strings.queryCommandSupported].function!(this: this, arguments: [_toJSValue(commandId)]) + .fromJSValue()! } - @inlinable public func queryCommandValue(commandId: String) -> String { + @inlinable final public func queryCommandValue(commandId: String) -> String { let this = jsObject return this[Strings.queryCommandValue].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! } - @ReadonlyAttribute - public var hidden: Bool + @inlinable public var hidden: Bool { jsObject[Strings.hidden].fromJSValue()! } - @ReadonlyAttribute - public var visibilityState: DocumentVisibilityState + @inlinable public var visibilityState: DocumentVisibilityState { jsObject[Strings.visibilityState].fromJSValue()! } - @ClosureAttribute1Optional - public var onreadystatechange: EventHandler + @inlinable public var onreadystatechange: EventHandler { + get { + guard let function = jsObject[Strings.onreadystatechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onreadystatechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onreadystatechange] = .null + } + } + } - @ClosureAttribute1Optional - public var onvisibilitychange: EventHandler + @inlinable public var onvisibilitychange: EventHandler { + get { + guard let function = jsObject[Strings.onvisibilitychange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onvisibilitychange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onvisibilitychange] = .null + } + } + } - @ReadWriteAttribute - public var fgColor: String + @inlinable public var fgColor: String { + get { jsObject[Strings.fgColor].fromJSValue()! } + set { jsObject[Strings.fgColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var linkColor: String + @inlinable public var linkColor: String { + get { jsObject[Strings.linkColor].fromJSValue()! } + set { jsObject[Strings.linkColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vlinkColor: String + @inlinable public var vlinkColor: String { + get { jsObject[Strings.vlinkColor].fromJSValue()! } + set { jsObject[Strings.vlinkColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var alinkColor: String + @inlinable public var alinkColor: String { + get { jsObject[Strings.alinkColor].fromJSValue()! } + set { jsObject[Strings.alinkColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var bgColor: String + @inlinable public var bgColor: String { + get { jsObject[Strings.bgColor].fromJSValue()! } + set { jsObject[Strings.bgColor] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var anchors: HTMLCollection + @inlinable public var anchors: HTMLCollection { jsObject[Strings.anchors].fromJSValue()! } - @ReadonlyAttribute - public var applets: HTMLCollection + @inlinable public var applets: HTMLCollection { jsObject[Strings.applets].fromJSValue()! } - @inlinable public func clear() { + @inlinable final public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } - @inlinable public func captureEvents() { + @inlinable final public func captureEvents() { let this = jsObject _ = this[Strings.captureEvents].function!(this: this, arguments: []) } - @inlinable public func releaseEvents() { + @inlinable final public func releaseEvents() { let this = jsObject _ = this[Strings.releaseEvents].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var all: HTMLAllCollection + @inlinable public var all: HTMLAllCollection { jsObject[Strings.all].fromJSValue()! } - @inlinable public func elementFromPoint(x: Double, y: Double) -> Element? { + @inlinable final public func elementFromPoint(x: Double, y: Double) -> Element? { let this = jsObject - return this[Strings.elementFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue() + return this[Strings.elementFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) + .fromJSValue() } - @inlinable public func elementsFromPoint(x: Double, y: Double) -> [Element] { + @inlinable final public func elementsFromPoint(x: Double, y: Double) -> [Element] { let this = jsObject - return this[Strings.elementsFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue()! + return this[Strings.elementsFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) + .fromJSValue()! } - @inlinable public func caretPositionFromPoint(x: Double, y: Double) -> CaretPosition? { + @inlinable final public func caretPositionFromPoint(x: Double, y: Double) -> CaretPosition? { let this = jsObject - return this[Strings.caretPositionFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue() + return this[Strings.caretPositionFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) + .fromJSValue() } - @ReadonlyAttribute - public var scrollingElement: Element? + @inlinable public var scrollingElement: Element? { jsObject[Strings.scrollingElement].fromJSValue() } + + @inlinable final public func startViewTransition(updateCallback: UpdateCallback? = nil) -> ViewTransition { + let this = jsObject + return this[Strings.startViewTransition].function!(this: this, arguments: [_toJSValue(updateCallback)]) + .fromJSValue()! + } } open class DocumentFragment: Node, NonElementParentNode, ParentNode { - @inlinable override open class var constructor: JSFunction? { JSObject.global[Strings.DocumentFragment].function } + @inlinable open override class var constructor: JSFunction? { JSObject.global[Strings.DocumentFragment].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } } public protocol DocumentOrShadowRoot: JSBridgedClass {} -public extension DocumentOrShadowRoot { - @inlinable var activeElement: Element? { jsObject[Strings.activeElement].fromJSValue() } +extension DocumentOrShadowRoot { + @inlinable public var activeElement: Element? { jsObject[Strings.activeElement].fromJSValue() } } - public enum DocumentReadyState: JSString, JSValueCompatible { case loading = "loading" case interactive = "interactive" case complete = "complete" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class DocumentType: Node, ChildNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DocumentType].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DocumentType].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _publicId = ReadonlyAttribute(jsObject: jsObject, name: Strings.publicId) - _systemId = ReadonlyAttribute(jsObject: jsObject, name: Strings.systemId) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ReadonlyAttribute - public var publicId: String + @inlinable public var publicId: String { jsObject[Strings.publicId].fromJSValue()! } - @ReadonlyAttribute - public var systemId: String + @inlinable public var systemId: String { jsObject[Strings.systemId].fromJSValue()! } } public enum DocumentVisibilityState: JSString, JSValueCompatible { @@ -4470,436 +4516,446 @@ public enum DocumentVisibilityState: JSString, JSValueCompatible { case hidden = "hidden" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class DoubleRange: JSDictionaryCompatible { + public let jsObject: JSObject -public class DoubleRange: BridgedDictionary { - public convenience init(max: Double, min: Double) { + public convenience init(max: Double? = nil, min: Double? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.max] = _toJSValue(max) object[Strings.min] = _toJSValue(min) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _max = ReadWriteAttribute(jsObject: object, name: Strings.max) - _min = ReadWriteAttribute(jsObject: object, name: Strings.min) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var max: Double + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var min: Double + @inlinable public var max: Double { + get { jsObject[Strings.max].fromJSValue()! } + set { jsObject[Strings.max] = _toJSValue(newValue) } + } + @inlinable public var min: Double { + get { jsObject[Strings.min].fromJSValue()! } + set { jsObject[Strings.min] = _toJSValue(newValue) } + } } - public class DragEvent: MouseEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DragEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DragEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _dataTransfer = ReadonlyAttribute(jsObject: jsObject, name: Strings.dataTransfer) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: DragEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var dataTransfer: DataTransfer? + @inlinable public var dataTransfer: DataTransfer? { jsObject[Strings.dataTransfer].fromJSValue() } } -public class DragEventInit: BridgedDictionary { - public convenience init(dataTransfer: DataTransfer?) { +open class DragEventInit: MouseEventInit { + + public convenience init( + screenX: Int32? = nil, + screenY: Int32? = nil, + clientX: Int32? = nil, + clientY: Int32? = nil, + button: Int16? = nil, + buttons: UInt16? = nil, + relatedTarget: EventTarget?, + dataTransfer: DataTransfer? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.screenX] = _toJSValue(screenX) + object[Strings.screenY] = _toJSValue(screenY) + object[Strings.clientX] = _toJSValue(clientX) + object[Strings.clientY] = _toJSValue(clientY) + object[Strings.button] = _toJSValue(button) + object[Strings.buttons] = _toJSValue(buttons) + object[Strings.relatedTarget] = _toJSValue(relatedTarget) object[Strings.dataTransfer] = _toJSValue(dataTransfer) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _dataTransfer = ReadWriteAttribute(jsObject: object, name: Strings.dataTransfer) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var dataTransfer: DataTransfer? + @inlinable public var dataTransfer: DataTransfer? { + get { jsObject[Strings.dataTransfer].fromJSValue() } + set { jsObject[Strings.dataTransfer] = _toJSValue(newValue) } + } } - open class Element: Node, ParentNode, NonDocumentTypeChildNode, ChildNode, Slottable, ARIAMixin, GeometryUtils { - @inlinable override open class var constructor: JSFunction? { JSObject.global[Strings.Element].function } + @inlinable open override class var constructor: JSFunction? { JSObject.global[Strings.Element].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _namespaceURI = ReadonlyAttribute(jsObject: jsObject, name: Strings.namespaceURI) - _prefix = ReadonlyAttribute(jsObject: jsObject, name: Strings.prefix) - _localName = ReadonlyAttribute(jsObject: jsObject, name: Strings.localName) - _tagName = ReadonlyAttribute(jsObject: jsObject, name: Strings.tagName) - _id = ReadWriteAttribute(jsObject: jsObject, name: Strings.id) - _className = ReadWriteAttribute(jsObject: jsObject, name: Strings.className) - _classList = ReadonlyAttribute(jsObject: jsObject, name: Strings.classList) - _slot = ReadWriteAttribute(jsObject: jsObject, name: Strings.slot) - _attributes = ReadonlyAttribute(jsObject: jsObject, name: Strings.attributes) - _shadowRoot = ReadonlyAttribute(jsObject: jsObject, name: Strings.shadowRoot) - _scrollTop = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollTop) - _scrollLeft = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollLeft) - _scrollWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollWidth) - _scrollHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollHeight) - _clientTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientTop) - _clientLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientLeft) - _clientWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientWidth) - _clientHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientHeight) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var namespaceURI: String? + @inlinable public var namespaceURI: String? { jsObject[Strings.namespaceURI].fromJSValue() } - @ReadonlyAttribute - public var prefix: String? + @inlinable public var prefix: String? { jsObject[Strings.prefix].fromJSValue() } - @ReadonlyAttribute - public var localName: String + @inlinable public var localName: String { jsObject[Strings.localName].fromJSValue()! } - @ReadonlyAttribute - public var tagName: String + @inlinable public var tagName: String { jsObject[Strings.tagName].fromJSValue()! } - @ReadWriteAttribute - public var id: String + @inlinable public var id: String { + get { jsObject[Strings.id].fromJSValue()! } + set { jsObject[Strings.id] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var className: String + @inlinable public var className: String { + get { jsObject[Strings.className].fromJSValue()! } + set { jsObject[Strings.className] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var classList: DOMTokenList + @inlinable public var classList: DOMTokenList { jsObject[Strings.classList].fromJSValue()! } - @ReadWriteAttribute - public var slot: String + @inlinable public var slot: String { + get { jsObject[Strings.slot].fromJSValue()! } + set { jsObject[Strings.slot] = _toJSValue(newValue) } + } - @inlinable public func hasAttributes() -> Bool { + @inlinable final public func hasAttributes() -> Bool { let this = jsObject return this[Strings.hasAttributes].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var attributes: NamedNodeMap + @inlinable public var attributes: NamedNodeMap { jsObject[Strings.attributes].fromJSValue()! } - @inlinable public func getAttributeNames() -> [String] { + @inlinable final public func getAttributeNames() -> [String] { let this = jsObject return this[Strings.getAttributeNames].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getAttribute(qualifiedName: String) -> String? { + @inlinable final public func getAttribute(qualifiedName: String) -> String? { let this = jsObject return this[Strings.getAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue() } - @inlinable public func getAttributeNS(namespace: String?, localName: String) -> String? { + @inlinable final public func getAttributeNS(namespace: String?, localName: String) -> String? { let this = jsObject - return this[Strings.getAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue() + return this[Strings.getAttributeNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue() } - @inlinable public func setAttribute(qualifiedName: String, value: String) { + @inlinable final public func setAttribute(qualifiedName: String, value: String) { let this = jsObject _ = this[Strings.setAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName), _toJSValue(value)]) } - @inlinable public func setAttributeNS(namespace: String?, qualifiedName: String, value: String) { + @inlinable final public func setAttributeNS(namespace: String?, qualifiedName: String, value: String) { let this = jsObject - _ = this[Strings.setAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(value)]) + _ = this[Strings.setAttributeNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(value)] + ) } - @inlinable public func removeAttribute(qualifiedName: String) { + @inlinable final public func removeAttribute(qualifiedName: String) { let this = jsObject _ = this[Strings.removeAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName)]) } - @inlinable public func removeAttributeNS(namespace: String?, localName: String) { + @inlinable final public func removeAttributeNS(namespace: String?, localName: String) { let this = jsObject - _ = this[Strings.removeAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]) + _ = this[Strings.removeAttributeNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ) } - @inlinable public func toggleAttribute(qualifiedName: String, force: Bool? = nil) -> Bool { + @inlinable final public func toggleAttribute(qualifiedName: String, force: Bool? = nil) -> Bool { let this = jsObject - return this[Strings.toggleAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName), _toJSValue(force)]).fromJSValue()! + return this[Strings.toggleAttribute].function!( + this: this, + arguments: [_toJSValue(qualifiedName), _toJSValue(force)] + ).fromJSValue()! } - @inlinable public func hasAttribute(qualifiedName: String) -> Bool { + @inlinable final public func hasAttribute(qualifiedName: String) -> Bool { let this = jsObject return this[Strings.hasAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue()! } - @inlinable public func hasAttributeNS(namespace: String?, localName: String) -> Bool { + @inlinable final public func hasAttributeNS(namespace: String?, localName: String) -> Bool { let this = jsObject - return this[Strings.hasAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue()! + return this[Strings.hasAttributeNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue()! } - @inlinable public func getAttributeNode(qualifiedName: String) -> Attr? { + @inlinable final public func getAttributeNode(qualifiedName: String) -> Attr? { let this = jsObject - return this[Strings.getAttributeNode].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue() + return this[Strings.getAttributeNode].function!(this: this, arguments: [_toJSValue(qualifiedName)]) + .fromJSValue() } - @inlinable public func getAttributeNodeNS(namespace: String?, localName: String) -> Attr? { + @inlinable final public func getAttributeNodeNS(namespace: String?, localName: String) -> Attr? { let this = jsObject - return this[Strings.getAttributeNodeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue() + return this[Strings.getAttributeNodeNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue() } - @inlinable public func setAttributeNode(attr: Attr) -> Attr? { + @inlinable final public func setAttributeNode(attr: Attr) -> Attr? { let this = jsObject return this[Strings.setAttributeNode].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue() } - @inlinable public func setAttributeNodeNS(attr: Attr) -> Attr? { + @inlinable final public func setAttributeNodeNS(attr: Attr) -> Attr? { let this = jsObject return this[Strings.setAttributeNodeNS].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue() } - @inlinable public func removeAttributeNode(attr: Attr) -> Attr { + @inlinable final public func removeAttributeNode(attr: Attr) -> Attr { let this = jsObject return this[Strings.removeAttributeNode].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue()! } - @inlinable public func attachShadow(init: ShadowRootInit) -> ShadowRoot { + @inlinable final public func attachShadow(`init`: ShadowRootInit) -> ShadowRoot { let this = jsObject return this[Strings.attachShadow].function!(this: this, arguments: [_toJSValue(`init`)]).fromJSValue()! } - @ReadonlyAttribute - public var shadowRoot: ShadowRoot? + @inlinable public var shadowRoot: ShadowRoot? { jsObject[Strings.shadowRoot].fromJSValue() } - @inlinable public func closest(selectors: String) -> Element? { + @inlinable final public func closest(selectors: String) -> Element? { let this = jsObject return this[Strings.closest].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue() } - @inlinable public func matches(selectors: String) -> Bool { + @inlinable final public func matches(selectors: String) -> Bool { let this = jsObject return this[Strings.matches].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue()! } - @inlinable public func webkitMatchesSelector(selectors: String) -> Bool { + @inlinable final public func webkitMatchesSelector(selectors: String) -> Bool { let this = jsObject - return this[Strings.webkitMatchesSelector].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue()! + return this[Strings.webkitMatchesSelector].function!(this: this, arguments: [_toJSValue(selectors)]) + .fromJSValue()! } - @inlinable public func getElementsByTagName(qualifiedName: String) -> HTMLCollection { + @inlinable final public func getElementsByTagName(qualifiedName: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByTagName].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue()! + return this[Strings.getElementsByTagName].function!(this: this, arguments: [_toJSValue(qualifiedName)]) + .fromJSValue()! } - @inlinable public func getElementsByTagNameNS(namespace: String?, localName: String) -> HTMLCollection { + @inlinable final public func getElementsByTagNameNS(namespace: String?, localName: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByTagNameNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue()! + return this[Strings.getElementsByTagNameNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue()! } - @inlinable public func getElementsByClassName(classNames: String) -> HTMLCollection { + @inlinable final public func getElementsByClassName(classNames: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByClassName].function!(this: this, arguments: [_toJSValue(classNames)]).fromJSValue()! + return this[Strings.getElementsByClassName].function!(this: this, arguments: [_toJSValue(classNames)]) + .fromJSValue()! } - @inlinable public func insertAdjacentElement(where: String, element: Element) -> Element? { + @inlinable final public func insertAdjacentElement(`where`: String, element: Element) -> Element? { let this = jsObject - return this[Strings.insertAdjacentElement].function!(this: this, arguments: [_toJSValue(`where`), _toJSValue(element)]).fromJSValue() + return this[Strings.insertAdjacentElement].function!( + this: this, + arguments: [_toJSValue(`where`), _toJSValue(element)] + ).fromJSValue() } - @inlinable public func insertAdjacentText(where: String, data: String) { + @inlinable final public func insertAdjacentText(`where`: String, data: String) { let this = jsObject _ = this[Strings.insertAdjacentText].function!(this: this, arguments: [_toJSValue(`where`), _toJSValue(data)]) } - @inlinable public func pseudo(type: String) -> CSSPseudoElement? { + @inlinable final public func pseudo(type: String) -> CSSPseudoElement? { let this = jsObject return this[Strings.pseudo].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue() } - @inlinable public func getClientRects() -> DOMRectList { + @inlinable final public func getClientRects() -> DOMRectList { let this = jsObject return this[Strings.getClientRects].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getBoundingClientRect() -> DOMRect { + @inlinable final public func getBoundingClientRect() -> DOMRect { let this = jsObject return this[Strings.getBoundingClientRect].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func checkVisibility(options: CheckVisibilityOptions? = nil) -> Bool { + @inlinable final public func checkVisibility(options: CheckVisibilityOptions? = nil) -> Bool { let this = jsObject return this[Strings.checkVisibility].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func scrollIntoView(arg: Bool_or_ScrollIntoViewOptions? = nil) { + @inlinable final public func scrollIntoView(arg: Bool_or_ScrollIntoViewOptions? = nil) { let this = jsObject _ = this[Strings.scrollIntoView].function!(this: this, arguments: [_toJSValue(arg)]) } - @inlinable public func scroll(options: ScrollToOptions? = nil) { + @inlinable final public func scroll(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scroll(x: Double, y: Double) { + @inlinable final public func scroll(x: Double, y: Double) { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func scrollTo(options: ScrollToOptions? = nil) { + @inlinable final public func scrollTo(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scrollTo].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scrollTo(x: Double, y: Double) { + @inlinable final public func scrollTo(x: Double, y: Double) { let this = jsObject _ = this[Strings.scrollTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func scrollBy(options: ScrollToOptions? = nil) { + @inlinable final public func scrollBy(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scrollBy].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scrollBy(x: Double, y: Double) { + @inlinable final public func scrollBy(x: Double, y: Double) { let this = jsObject _ = this[Strings.scrollBy].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @ReadWriteAttribute - public var scrollTop: Double + @inlinable public var scrollTop: Double { + get { jsObject[Strings.scrollTop].fromJSValue()! } + set { jsObject[Strings.scrollTop] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var scrollLeft: Double + @inlinable public var scrollLeft: Double { + get { jsObject[Strings.scrollLeft].fromJSValue()! } + set { jsObject[Strings.scrollLeft] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var scrollWidth: Int32 + @inlinable public var scrollWidth: Int32 { jsObject[Strings.scrollWidth].fromJSValue()! } - @ReadonlyAttribute - public var scrollHeight: Int32 + @inlinable public var scrollHeight: Int32 { jsObject[Strings.scrollHeight].fromJSValue()! } - @ReadonlyAttribute - public var clientTop: Int32 + @inlinable public var clientTop: Int32 { jsObject[Strings.clientTop].fromJSValue()! } - @ReadonlyAttribute - public var clientLeft: Int32 + @inlinable public var clientLeft: Int32 { jsObject[Strings.clientLeft].fromJSValue()! } - @ReadonlyAttribute - public var clientWidth: Int32 + @inlinable public var clientWidth: Int32 { jsObject[Strings.clientWidth].fromJSValue()! } - @ReadonlyAttribute - public var clientHeight: Int32 + @inlinable public var clientHeight: Int32 { jsObject[Strings.clientHeight].fromJSValue()! } } public protocol ElementContentEditable: JSBridgedClass {} -public extension ElementContentEditable { - @inlinable var contentEditable: String { +extension ElementContentEditable { + @inlinable public var contentEditable: String { get { jsObject[Strings.contentEditable].fromJSValue()! } - nonmutating set { jsObject[Strings.contentEditable] = _toJSValue(newValue) } + set { jsObject[Strings.contentEditable] = _toJSValue(newValue) } } - @inlinable var enterKeyHint: String { + @inlinable public var enterKeyHint: String { get { jsObject[Strings.enterKeyHint].fromJSValue()! } - nonmutating set { jsObject[Strings.enterKeyHint] = _toJSValue(newValue) } + set { jsObject[Strings.enterKeyHint] = _toJSValue(newValue) } } - @inlinable var isContentEditable: Bool { jsObject[Strings.isContentEditable].fromJSValue()! } + @inlinable public var isContentEditable: Bool { jsObject[Strings.isContentEditable].fromJSValue()! } - @inlinable var inputMode: String { + @inlinable public var inputMode: String { get { jsObject[Strings.inputMode].fromJSValue()! } - nonmutating set { jsObject[Strings.inputMode] = _toJSValue(newValue) } + set { jsObject[Strings.inputMode] = _toJSValue(newValue) } } } +open class ElementCreationOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ElementCreationOptions: BridgedDictionary { - public convenience init(is: String) { + public convenience init(`is`: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.is] = _toJSValue(`is`) + object[Strings.`is`] = _toJSValue(`is`) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _is = ReadWriteAttribute(jsObject: object, name: Strings.is) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var `is`: String + @inlinable public var `is`: String { + get { jsObject[Strings.`is`].fromJSValue()! } + set { jsObject[Strings.`is`] = _toJSValue(newValue) } + } } +open class ElementDefinitionOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ElementDefinitionOptions: BridgedDictionary { - public convenience init(extends: String) { + public convenience init(extends: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.extends] = _toJSValue(extends) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _extends = ReadWriteAttribute(jsObject: object, name: Strings.extends) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var extends: String + @inlinable public var extends: String { + get { jsObject[Strings.extends].fromJSValue()! } + set { jsObject[Strings.extends] = _toJSValue(newValue) } + } } - public class ElementInternals: JSBridgedClass, ARIAMixin { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ElementInternals].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _shadowRoot = ReadonlyAttribute(jsObject: jsObject, name: Strings.shadowRoot) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var shadowRoot: ShadowRoot? + @inlinable public var shadowRoot: ShadowRoot? { jsObject[Strings.shadowRoot].fromJSValue() } - @inlinable public func setFormValue(value: File_or_FormData_or_String?, state: File_or_FormData_or_String? = nil) { + @inlinable final public func setFormValue( + value: File_or_FormData_or_String?, + state: File_or_FormData_or_String? = nil + ) { let this = jsObject _ = this[Strings.setFormValue].function!(this: this, arguments: [_toJSValue(value), _toJSValue(state)]) } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @inlinable public func setValidity(flags: ValidityStateFlags? = nil, message: String? = nil, anchor: HTMLElement? = nil) { + @inlinable final public func setValidity( + flags: ValidityStateFlags? = nil, + message: String? = nil, + anchor: HTMLElement? = nil + ) { let this = jsObject - _ = this[Strings.setValidity].function!(this: this, arguments: [_toJSValue(flags), _toJSValue(message), _toJSValue(anchor)]) + _ = this[Strings.setValidity].function!( + this: this, + arguments: [_toJSValue(flags), _toJSValue(message), _toJSValue(anchor)] + ) } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var labels: NodeList + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } } public class EncodedAudioChunk: JSBridgedClass { @@ -4907,354 +4963,309 @@ public class EncodedAudioChunk: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - _byteLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.byteLength) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: EncodedAudioChunkInit) { + @inlinable public convenience init(`init`: EncodedAudioChunkInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var type: EncodedAudioChunkType + @inlinable public var type: EncodedAudioChunkType { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var timestamp: Int64 + @inlinable public var timestamp: Int64 { jsObject[Strings.timestamp].fromJSValue()! } - @ReadonlyAttribute - public var duration: UInt64? + @inlinable public var duration: UInt64? { jsObject[Strings.duration].fromJSValue() } - @ReadonlyAttribute - public var byteLength: UInt32 + @inlinable public var byteLength: UInt32 { jsObject[Strings.byteLength].fromJSValue()! } - @inlinable public func copyTo(destination: AllowSharedBufferSource) { + @inlinable final public func copyTo(destination: AllowSharedBufferSource) { let this = jsObject _ = this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination)]) } } -public class EncodedAudioChunkInit: BridgedDictionary { - public convenience init(type: EncodedAudioChunkType, timestamp: Int64, duration: UInt64, data: BufferSource) { +open class EncodedAudioChunkInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(type: EncodedAudioChunkType, timestamp: Int64, duration: UInt64? = nil, data: BufferSource) + { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.timestamp] = _toJSValue(timestamp) object[Strings.duration] = _toJSValue(duration) object[Strings.data] = _toJSValue(data) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) - _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: EncodedAudioChunkType - - @ReadWriteAttribute - public var timestamp: Int64 - - @ReadWriteAttribute - public var duration: UInt64 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var data: BufferSource + @inlinable public var type: EncodedAudioChunkType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var timestamp: Int64 { + get { jsObject[Strings.timestamp].fromJSValue()! } + set { jsObject[Strings.timestamp] = _toJSValue(newValue) } + } + @inlinable public var duration: UInt64 { + get { jsObject[Strings.duration].fromJSValue()! } + set { jsObject[Strings.duration] = _toJSValue(newValue) } + } + @inlinable public var data: BufferSource { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } } +open class EncodedAudioChunkMetadata: JSDictionaryCompatible { + public let jsObject: JSObject -public class EncodedAudioChunkMetadata: BridgedDictionary { - public convenience init(decoderConfig: AudioDecoderConfig) { + public convenience init(decoderConfig: AudioDecoderConfig? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.decoderConfig] = _toJSValue(decoderConfig) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _decoderConfig = ReadWriteAttribute(jsObject: object, name: Strings.decoderConfig) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var decoderConfig: AudioDecoderConfig + @inlinable public var decoderConfig: AudioDecoderConfig { + get { jsObject[Strings.decoderConfig].fromJSValue()! } + set { jsObject[Strings.decoderConfig] = _toJSValue(newValue) } + } } - public enum EncodedAudioChunkType: JSString, JSValueCompatible { case key = "key" case delta = "delta" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class EncodedVideoChunk: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.EncodedVideoChunk].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - _byteLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.byteLength) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: EncodedVideoChunkInit) { + @inlinable public convenience init(`init`: EncodedVideoChunkInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var type: EncodedVideoChunkType + @inlinable public var type: EncodedVideoChunkType { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var timestamp: Int64 + @inlinable public var timestamp: Int64 { jsObject[Strings.timestamp].fromJSValue()! } - @ReadonlyAttribute - public var duration: UInt64? + @inlinable public var duration: UInt64? { jsObject[Strings.duration].fromJSValue() } - @ReadonlyAttribute - public var byteLength: UInt32 + @inlinable public var byteLength: UInt32 { jsObject[Strings.byteLength].fromJSValue()! } - @inlinable public func copyTo(destination: AllowSharedBufferSource) { + @inlinable final public func copyTo(destination: AllowSharedBufferSource) { let this = jsObject _ = this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination)]) } } -public class EncodedVideoChunkInit: BridgedDictionary { - public convenience init(type: EncodedVideoChunkType, timestamp: Int64, duration: UInt64, data: AllowSharedBufferSource) { +open class EncodedVideoChunkInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + type: EncodedVideoChunkType, + timestamp: Int64, + duration: UInt64? = nil, + data: AllowSharedBufferSource + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.timestamp] = _toJSValue(timestamp) object[Strings.duration] = _toJSValue(duration) object[Strings.data] = _toJSValue(data) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) - _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: EncodedVideoChunkType - - @ReadWriteAttribute - public var timestamp: Int64 - - @ReadWriteAttribute - public var duration: UInt64 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var data: AllowSharedBufferSource + @inlinable public var type: EncodedVideoChunkType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var timestamp: Int64 { + get { jsObject[Strings.timestamp].fromJSValue()! } + set { jsObject[Strings.timestamp] = _toJSValue(newValue) } + } + @inlinable public var duration: UInt64 { + get { jsObject[Strings.duration].fromJSValue()! } + set { jsObject[Strings.duration] = _toJSValue(newValue) } + } + @inlinable public var data: AllowSharedBufferSource { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } } +open class EncodedVideoChunkMetadata: JSDictionaryCompatible { + public let jsObject: JSObject -public class EncodedVideoChunkMetadata: BridgedDictionary { - public convenience init(decoderConfig: VideoDecoderConfig, svc: SvcOutputMetadata, alphaSideData: BufferSource) { + public convenience init( + decoderConfig: VideoDecoderConfig? = nil, + svc: SvcOutputMetadata? = nil, + alphaSideData: BufferSource? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.decoderConfig] = _toJSValue(decoderConfig) object[Strings.svc] = _toJSValue(svc) object[Strings.alphaSideData] = _toJSValue(alphaSideData) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _decoderConfig = ReadWriteAttribute(jsObject: object, name: Strings.decoderConfig) - _svc = ReadWriteAttribute(jsObject: object, name: Strings.svc) - _alphaSideData = ReadWriteAttribute(jsObject: object, name: Strings.alphaSideData) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var decoderConfig: VideoDecoderConfig + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var svc: SvcOutputMetadata - - @ReadWriteAttribute - public var alphaSideData: BufferSource + @inlinable public var decoderConfig: VideoDecoderConfig { + get { jsObject[Strings.decoderConfig].fromJSValue()! } + set { jsObject[Strings.decoderConfig] = _toJSValue(newValue) } + } + @inlinable public var svc: SvcOutputMetadata { + get { jsObject[Strings.svc].fromJSValue()! } + set { jsObject[Strings.svc] = _toJSValue(newValue) } + } + @inlinable public var alphaSideData: BufferSource { + get { jsObject[Strings.alphaSideData].fromJSValue()! } + set { jsObject[Strings.alphaSideData] = _toJSValue(newValue) } + } } - public enum EncodedVideoChunkType: JSString, JSValueCompatible { case key = "key" case delta = "delta" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum EndOfStreamError: JSString, JSValueCompatible { case network = "network" case decode = "decode" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum EndingType: JSString, JSValueCompatible { case transparent = "transparent" case native = "native" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class ErrorEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ErrorEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.ErrorEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _message = ReadonlyAttribute(jsObject: jsObject, name: Strings.message) - _filename = ReadonlyAttribute(jsObject: jsObject, name: Strings.filename) - _lineno = ReadonlyAttribute(jsObject: jsObject, name: Strings.lineno) - _colno = ReadonlyAttribute(jsObject: jsObject, name: Strings.colno) - _error = ReadonlyAttribute(jsObject: jsObject, name: Strings.error) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: ErrorEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var message: String + @inlinable public var message: String { jsObject[Strings.message].fromJSValue()! } - @ReadonlyAttribute - public var filename: String + @inlinable public var filename: String { jsObject[Strings.filename].fromJSValue()! } - @ReadonlyAttribute - public var lineno: UInt32 + @inlinable public var lineno: UInt32 { jsObject[Strings.lineno].fromJSValue()! } - @ReadonlyAttribute - public var colno: UInt32 + @inlinable public var colno: UInt32 { jsObject[Strings.colno].fromJSValue()! } - @ReadonlyAttribute - public var error: JSValue + @inlinable public var error: JSValue { jsObject[Strings.error].fromJSValue()! } } -public class ErrorEventInit: BridgedDictionary { - public convenience init(message: String, filename: String, lineno: UInt32, colno: UInt32, error: JSValue) { +open class ErrorEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + message: String? = nil, + filename: String? = nil, + lineno: UInt32? = nil, + colno: UInt32? = nil, + error: JSValue? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.message] = _toJSValue(message) object[Strings.filename] = _toJSValue(filename) object[Strings.lineno] = _toJSValue(lineno) object[Strings.colno] = _toJSValue(colno) object[Strings.error] = _toJSValue(error) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _message = ReadWriteAttribute(jsObject: object, name: Strings.message) - _filename = ReadWriteAttribute(jsObject: object, name: Strings.filename) - _lineno = ReadWriteAttribute(jsObject: object, name: Strings.lineno) - _colno = ReadWriteAttribute(jsObject: object, name: Strings.colno) - _error = ReadWriteAttribute(jsObject: object, name: Strings.error) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var message: String - - @ReadWriteAttribute - public var filename: String - - @ReadWriteAttribute - public var lineno: UInt32 + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var colno: UInt32 - - @ReadWriteAttribute - public var error: JSValue + @inlinable public var message: String { + get { jsObject[Strings.message].fromJSValue()! } + set { jsObject[Strings.message] = _toJSValue(newValue) } + } + @inlinable public var filename: String { + get { jsObject[Strings.filename].fromJSValue()! } + set { jsObject[Strings.filename] = _toJSValue(newValue) } + } + @inlinable public var lineno: UInt32 { + get { jsObject[Strings.lineno].fromJSValue()! } + set { jsObject[Strings.lineno] = _toJSValue(newValue) } + } + @inlinable public var colno: UInt32 { + get { jsObject[Strings.colno].fromJSValue()! } + set { jsObject[Strings.colno] = _toJSValue(newValue) } + } + @inlinable public var error: JSValue { + get { jsObject[Strings.error].fromJSValue()! } + set { jsObject[Strings.error] = _toJSValue(newValue) } + } } - open class Event: JSBridgedClass { @inlinable open class var constructor: JSFunction? { JSObject.global[Strings.Event].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _target = ReadonlyAttribute(jsObject: jsObject, name: Strings.target) - _srcElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.srcElement) - _currentTarget = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentTarget) - _eventPhase = ReadonlyAttribute(jsObject: jsObject, name: Strings.eventPhase) - _cancelBubble = ReadWriteAttribute(jsObject: jsObject, name: Strings.cancelBubble) - _bubbles = ReadonlyAttribute(jsObject: jsObject, name: Strings.bubbles) - _cancelable = ReadonlyAttribute(jsObject: jsObject, name: Strings.cancelable) - _returnValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.returnValue) - _defaultPrevented = ReadonlyAttribute(jsObject: jsObject, name: Strings.defaultPrevented) - _composed = ReadonlyAttribute(jsObject: jsObject, name: Strings.composed) - _isTrusted = ReadonlyAttribute(jsObject: jsObject, name: Strings.isTrusted) - _timeStamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timeStamp) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(type: String, eventInitDict: EventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var target: EventTarget? + @inlinable public var target: EventTarget? { jsObject[Strings.target].fromJSValue() } - @ReadonlyAttribute - public var srcElement: EventTarget? + @inlinable public var srcElement: EventTarget? { jsObject[Strings.srcElement].fromJSValue() } - @ReadonlyAttribute - public var currentTarget: EventTarget? + @inlinable public var currentTarget: EventTarget? { jsObject[Strings.currentTarget].fromJSValue() } - @inlinable public func composedPath() -> [EventTarget] { + @inlinable final public func composedPath() -> [EventTarget] { let this = jsObject return this[Strings.composedPath].function!(this: this, arguments: []).fromJSValue()! } @@ -5267,100 +5278,125 @@ open class Event: JSBridgedClass { public static let BUBBLING_PHASE: UInt16 = 3 - @ReadonlyAttribute - public var eventPhase: UInt16 + @inlinable public var eventPhase: UInt16 { jsObject[Strings.eventPhase].fromJSValue()! } - @inlinable public func stopPropagation() { + @inlinable final public func stopPropagation() { let this = jsObject _ = this[Strings.stopPropagation].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var cancelBubble: Bool + @inlinable public var cancelBubble: Bool { + get { jsObject[Strings.cancelBubble].fromJSValue()! } + set { jsObject[Strings.cancelBubble] = _toJSValue(newValue) } + } - @inlinable public func stopImmediatePropagation() { + @inlinable final public func stopImmediatePropagation() { let this = jsObject _ = this[Strings.stopImmediatePropagation].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var bubbles: Bool + @inlinable public var bubbles: Bool { jsObject[Strings.bubbles].fromJSValue()! } - @ReadonlyAttribute - public var cancelable: Bool + @inlinable public var cancelable: Bool { jsObject[Strings.cancelable].fromJSValue()! } - @ReadWriteAttribute - public var returnValue: Bool + @inlinable public var returnValue: Bool { + get { jsObject[Strings.returnValue].fromJSValue()! } + set { jsObject[Strings.returnValue] = _toJSValue(newValue) } + } - @inlinable public func preventDefault() { + @inlinable final public func preventDefault() { let this = jsObject _ = this[Strings.preventDefault].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var defaultPrevented: Bool + @inlinable public var defaultPrevented: Bool { jsObject[Strings.defaultPrevented].fromJSValue()! } - @ReadonlyAttribute - public var composed: Bool + @inlinable public var composed: Bool { jsObject[Strings.composed].fromJSValue()! } - @ReadonlyAttribute - public var isTrusted: Bool + @inlinable public var isTrusted: Bool { jsObject[Strings.isTrusted].fromJSValue()! } - @ReadonlyAttribute - public var timeStamp: DOMHighResTimeStamp + @inlinable public var timeStamp: DOMHighResTimeStamp { jsObject[Strings.timeStamp].fromJSValue()! } - @inlinable public func initEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil) { + @inlinable final public func initEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil) { let this = jsObject - _ = this[Strings.initEvent].function!(this: this, arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable)]) + _ = this[Strings.initEvent].function!( + this: this, + arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable)] + ) } } -public class EventInit: BridgedDictionary { - public convenience init(bubbles: Bool, cancelable: Bool, composed: Bool) { +open class EventInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(bubbles: Bool? = nil, cancelable: Bool? = nil, composed: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.bubbles] = _toJSValue(bubbles) object[Strings.cancelable] = _toJSValue(cancelable) object[Strings.composed] = _toJSValue(composed) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _bubbles = ReadWriteAttribute(jsObject: object, name: Strings.bubbles) - _cancelable = ReadWriteAttribute(jsObject: object, name: Strings.cancelable) - _composed = ReadWriteAttribute(jsObject: object, name: Strings.composed) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var bubbles: Bool - - @ReadWriteAttribute - public var cancelable: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var composed: Bool + @inlinable public var bubbles: Bool { + get { jsObject[Strings.bubbles].fromJSValue()! } + set { jsObject[Strings.bubbles] = _toJSValue(newValue) } + } + @inlinable public var cancelable: Bool { + get { jsObject[Strings.cancelable].fromJSValue()! } + set { jsObject[Strings.cancelable] = _toJSValue(newValue) } + } + @inlinable public var composed: Bool { + get { jsObject[Strings.composed].fromJSValue()! } + set { jsObject[Strings.composed] = _toJSValue(newValue) } + } } public typealias EventListener = (Event) -> Void -public class EventListenerOptions: BridgedDictionary { - public convenience init(capture: Bool) { +open class EventListenerOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(capture: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.capture] = _toJSValue(capture) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _capture = ReadWriteAttribute(jsObject: object, name: Strings.capture) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var capture: Bool -} - -public class EventModifierInit: BridgedDictionary { - public convenience init(ctrlKey: Bool, shiftKey: Bool, altKey: Bool, metaKey: Bool, modifierAltGraph: Bool, modifierCapsLock: Bool, modifierFn: Bool, modifierFnLock: Bool, modifierHyper: Bool, modifierNumLock: Bool, modifierScrollLock: Bool, modifierSuper: Bool, modifierSymbol: Bool, modifierSymbolLock: Bool) { + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var capture: Bool { + get { jsObject[Strings.capture].fromJSValue()! } + set { jsObject[Strings.capture] = _toJSValue(newValue) } + } +} +open class EventModifierInit: UIEventInit { + + public convenience init( + view: Window?, + detail: Int32? = nil, + which: UInt32? = nil, + ctrlKey: Bool? = nil, + shiftKey: Bool? = nil, + altKey: Bool? = nil, + metaKey: Bool? = nil, + modifierAltGraph: Bool? = nil, + modifierCapsLock: Bool? = nil, + modifierFn: Bool? = nil, + modifierFnLock: Bool? = nil, + modifierHyper: Bool? = nil, + modifierNumLock: Bool? = nil, + modifierScrollLock: Bool? = nil, + modifierSuper: Bool? = nil, + modifierSymbol: Bool? = nil, + modifierSymbolLock: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.view] = _toJSValue(view) + object[Strings.detail] = _toJSValue(detail) + object[Strings.which] = _toJSValue(which) object[Strings.ctrlKey] = _toJSValue(ctrlKey) object[Strings.shiftKey] = _toJSValue(shiftKey) object[Strings.altKey] = _toJSValue(altKey) @@ -5375,92 +5411,83 @@ public class EventModifierInit: BridgedDictionary { object[Strings.modifierSuper] = _toJSValue(modifierSuper) object[Strings.modifierSymbol] = _toJSValue(modifierSymbol) object[Strings.modifierSymbolLock] = _toJSValue(modifierSymbolLock) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _ctrlKey = ReadWriteAttribute(jsObject: object, name: Strings.ctrlKey) - _shiftKey = ReadWriteAttribute(jsObject: object, name: Strings.shiftKey) - _altKey = ReadWriteAttribute(jsObject: object, name: Strings.altKey) - _metaKey = ReadWriteAttribute(jsObject: object, name: Strings.metaKey) - _modifierAltGraph = ReadWriteAttribute(jsObject: object, name: Strings.modifierAltGraph) - _modifierCapsLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierCapsLock) - _modifierFn = ReadWriteAttribute(jsObject: object, name: Strings.modifierFn) - _modifierFnLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierFnLock) - _modifierHyper = ReadWriteAttribute(jsObject: object, name: Strings.modifierHyper) - _modifierNumLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierNumLock) - _modifierScrollLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierScrollLock) - _modifierSuper = ReadWriteAttribute(jsObject: object, name: Strings.modifierSuper) - _modifierSymbol = ReadWriteAttribute(jsObject: object, name: Strings.modifierSymbol) - _modifierSymbolLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierSymbolLock) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var ctrlKey: Bool - - @ReadWriteAttribute - public var shiftKey: Bool - - @ReadWriteAttribute - public var altKey: Bool - - @ReadWriteAttribute - public var metaKey: Bool - - @ReadWriteAttribute - public var modifierAltGraph: Bool + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var modifierCapsLock: Bool - - @ReadWriteAttribute - public var modifierFn: Bool - - @ReadWriteAttribute - public var modifierFnLock: Bool - - @ReadWriteAttribute - public var modifierHyper: Bool - - @ReadWriteAttribute - public var modifierNumLock: Bool - - @ReadWriteAttribute - public var modifierScrollLock: Bool - - @ReadWriteAttribute - public var modifierSuper: Bool - - @ReadWriteAttribute - public var modifierSymbol: Bool - - @ReadWriteAttribute - public var modifierSymbolLock: Bool + @inlinable public var ctrlKey: Bool { + get { jsObject[Strings.ctrlKey].fromJSValue()! } + set { jsObject[Strings.ctrlKey] = _toJSValue(newValue) } + } + @inlinable public var shiftKey: Bool { + get { jsObject[Strings.shiftKey].fromJSValue()! } + set { jsObject[Strings.shiftKey] = _toJSValue(newValue) } + } + @inlinable public var altKey: Bool { + get { jsObject[Strings.altKey].fromJSValue()! } + set { jsObject[Strings.altKey] = _toJSValue(newValue) } + } + @inlinable public var metaKey: Bool { + get { jsObject[Strings.metaKey].fromJSValue()! } + set { jsObject[Strings.metaKey] = _toJSValue(newValue) } + } + @inlinable public var modifierAltGraph: Bool { + get { jsObject[Strings.modifierAltGraph].fromJSValue()! } + set { jsObject[Strings.modifierAltGraph] = _toJSValue(newValue) } + } + @inlinable public var modifierCapsLock: Bool { + get { jsObject[Strings.modifierCapsLock].fromJSValue()! } + set { jsObject[Strings.modifierCapsLock] = _toJSValue(newValue) } + } + @inlinable public var modifierFn: Bool { + get { jsObject[Strings.modifierFn].fromJSValue()! } + set { jsObject[Strings.modifierFn] = _toJSValue(newValue) } + } + @inlinable public var modifierFnLock: Bool { + get { jsObject[Strings.modifierFnLock].fromJSValue()! } + set { jsObject[Strings.modifierFnLock] = _toJSValue(newValue) } + } + @inlinable public var modifierHyper: Bool { + get { jsObject[Strings.modifierHyper].fromJSValue()! } + set { jsObject[Strings.modifierHyper] = _toJSValue(newValue) } + } + @inlinable public var modifierNumLock: Bool { + get { jsObject[Strings.modifierNumLock].fromJSValue()! } + set { jsObject[Strings.modifierNumLock] = _toJSValue(newValue) } + } + @inlinable public var modifierScrollLock: Bool { + get { jsObject[Strings.modifierScrollLock].fromJSValue()! } + set { jsObject[Strings.modifierScrollLock] = _toJSValue(newValue) } + } + @inlinable public var modifierSuper: Bool { + get { jsObject[Strings.modifierSuper].fromJSValue()! } + set { jsObject[Strings.modifierSuper] = _toJSValue(newValue) } + } + @inlinable public var modifierSymbol: Bool { + get { jsObject[Strings.modifierSymbol].fromJSValue()! } + set { jsObject[Strings.modifierSymbol] = _toJSValue(newValue) } + } + @inlinable public var modifierSymbolLock: Bool { + get { jsObject[Strings.modifierSymbolLock].fromJSValue()! } + set { jsObject[Strings.modifierSymbolLock] = _toJSValue(newValue) } + } } - public class EventSource: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.EventSource].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.EventSource].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) - _withCredentials = ReadonlyAttribute(jsObject: jsObject, name: Strings.withCredentials) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _onopen = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onopen) - _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) - _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(url: String, eventSourceInitDict: EventSourceInit? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(url), _toJSValue(eventSourceInitDict)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(url), _toJSValue(eventSourceInitDict)]) + ) } - @ReadonlyAttribute - public var url: String + @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } - @ReadonlyAttribute - public var withCredentials: Bool + @inlinable public var withCredentials: Bool { jsObject[Strings.withCredentials].fromJSValue()! } public static let CONNECTING: UInt16 = 0 @@ -5468,103 +5495,154 @@ public class EventSource: EventTarget { public static let CLOSED: UInt16 = 2 - @ReadonlyAttribute - public var readyState: UInt16 + @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } - @ClosureAttribute1Optional - public var onopen: EventHandler + @inlinable public var onopen: EventHandler { + get { + guard let function = jsObject[Strings.onopen].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onopen] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onopen] = .null + } + } + } - @ClosureAttribute1Optional - public var onmessage: EventHandler + @inlinable public var onmessage: EventHandler { + get { + guard let function = jsObject[Strings.onmessage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessage] = .null + } + } + } - @ClosureAttribute1Optional - public var onerror: EventHandler + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } } -public class EventSourceInit: BridgedDictionary { - public convenience init(withCredentials: Bool) { +open class EventSourceInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(withCredentials: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.withCredentials] = _toJSValue(withCredentials) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _withCredentials = ReadWriteAttribute(jsObject: object, name: Strings.withCredentials) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var withCredentials: Bool + @inlinable public var withCredentials: Bool { + get { jsObject[Strings.withCredentials].fromJSValue()! } + set { jsObject[Strings.withCredentials] = _toJSValue(newValue) } + } } - open class EventTarget: JSBridgedClass { @inlinable open class var constructor: JSFunction? { JSObject.global[Strings.EventTarget].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public func addEventListener(type: String, callback: EventListener?, options: AddEventListenerOptions_or_Bool? = nil) { + @inlinable final public func addEventListener( + type: String, + callback: EventListener?, + options: AddEventListenerOptions_or_Bool? = nil + ) { let this = jsObject - _ = this[Strings.addEventListener].function!(this: this, arguments: [_toJSValue(type), _toJSValue(callback), _toJSValue(options)]) + _ = this[Strings.addEventListener].function!( + this: this, + arguments: [_toJSValue(type), _toJSValue(callback), _toJSValue(options)] + ) } - @inlinable public func removeEventListener(type: String, callback: EventListener?, options: Bool_or_EventListenerOptions? = nil) { + @inlinable final public func removeEventListener( + type: String, + callback: EventListener?, + options: Bool_or_EventListenerOptions? = nil + ) { let this = jsObject - _ = this[Strings.removeEventListener].function!(this: this, arguments: [_toJSValue(type), _toJSValue(callback), _toJSValue(options)]) + _ = this[Strings.removeEventListener].function!( + this: this, + arguments: [_toJSValue(type), _toJSValue(callback), _toJSValue(options)] + ) } - @inlinable public func dispatchEvent(event: Event) -> Bool { + @inlinable final public func dispatchEvent(event: Event) -> Bool { let this = jsObject return this[Strings.dispatchEvent].function!(this: this, arguments: [_toJSValue(event)]).fromJSValue()! } } -public class ExtendableEventInit: BridgedDictionary { - public convenience init() { +open class ExtendableEventInit: EventInit { + + public convenience init(bubbles: Bool? = nil, cancelable: Bool? = nil, composed: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - super.init(unsafelyWrapping: object) - } -} + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } +} public class External: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.External].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func AddSearchProvider() { + @inlinable final public func AddSearchProvider() { let this = jsObject _ = this[Strings.AddSearchProvider].function!(this: this, arguments: []) } - @inlinable public func IsSearchProviderInstalled() { + @inlinable final public func IsSearchProviderInstalled() { let this = jsObject _ = this[Strings.IsSearchProviderInstalled].function!(this: this, arguments: []) } } -public class FetchEventInit: BridgedDictionary { - public convenience init(request: Request, preloadResponse: JSPromise, clientId: String, resultingClientId: String, replacesClientId: String, handled: JSPromise) { +open class FetchEventInit: ExtendableEventInit { + + public convenience init( + request: Request, + preloadResponse: JSPromise? = nil, + clientId: String? = nil, + resultingClientId: String? = nil, + replacesClientId: String? = nil, + handled: JSPromise? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.request] = _toJSValue(request) object[Strings.preloadResponse] = _toJSValue(preloadResponse) @@ -5572,56 +5650,53 @@ public class FetchEventInit: BridgedDictionary { object[Strings.resultingClientId] = _toJSValue(resultingClientId) object[Strings.replacesClientId] = _toJSValue(replacesClientId) object[Strings.handled] = _toJSValue(handled) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _request = ReadWriteAttribute(jsObject: object, name: Strings.request) - _preloadResponse = ReadWriteAttribute(jsObject: object, name: Strings.preloadResponse) - _clientId = ReadWriteAttribute(jsObject: object, name: Strings.clientId) - _resultingClientId = ReadWriteAttribute(jsObject: object, name: Strings.resultingClientId) - _replacesClientId = ReadWriteAttribute(jsObject: object, name: Strings.replacesClientId) - _handled = ReadWriteAttribute(jsObject: object, name: Strings.handled) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var request: Request - - @ReadWriteAttribute - public var preloadResponse: JSPromise - - @ReadWriteAttribute - public var clientId: String - - @ReadWriteAttribute - public var resultingClientId: String - - @ReadWriteAttribute - public var replacesClientId: String + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var handled: JSPromise + @inlinable public var request: Request { + get { jsObject[Strings.request].fromJSValue()! } + set { jsObject[Strings.request] = _toJSValue(newValue) } + } + @inlinable public var preloadResponse: JSPromise { + get { jsObject[Strings.preloadResponse].fromJSValue()! } + set { jsObject[Strings.preloadResponse] = _toJSValue(newValue) } + } + @inlinable public var clientId: String { + get { jsObject[Strings.clientId].fromJSValue()! } + set { jsObject[Strings.clientId] = _toJSValue(newValue) } + } + @inlinable public var resultingClientId: String { + get { jsObject[Strings.resultingClientId].fromJSValue()! } + set { jsObject[Strings.resultingClientId] = _toJSValue(newValue) } + } + @inlinable public var replacesClientId: String { + get { jsObject[Strings.replacesClientId].fromJSValue()! } + set { jsObject[Strings.replacesClientId] = _toJSValue(newValue) } + } + @inlinable public var handled: JSPromise { + get { jsObject[Strings.handled].fromJSValue()! } + set { jsObject[Strings.handled] = _toJSValue(newValue) } + } } - public class File: Blob { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.File].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.File].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _lastModified = ReadonlyAttribute(jsObject: jsObject, name: Strings.lastModified) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(fileBits: [BlobPart], fileName: String, options: FilePropertyBag? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(fileBits), _toJSValue(fileName), _toJSValue(options)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(fileBits), _toJSValue(fileName), _toJSValue(options), + ]) + ) } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ReadonlyAttribute - public var lastModified: Int64 + @inlinable public var lastModified: Int64 { jsObject[Strings.lastModified].fromJSValue()! } } public class FileList: JSBridgedClass { @@ -5629,81 +5704,64 @@ public class FileList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public subscript(key: Int) -> File? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> File? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> File? { + @inlinable final public func item(index: UInt32) -> File? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } } -public class FilePropertyBag: BridgedDictionary { - public convenience init(lastModified: Int64) { +open class FilePropertyBag: BlobPropertyBag { + + public convenience init(type: String? = nil, endings: EndingType? = nil, lastModified: Int64? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.type] = _toJSValue(type) + object[Strings.endings] = _toJSValue(endings) object[Strings.lastModified] = _toJSValue(lastModified) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _lastModified = ReadWriteAttribute(jsObject: object, name: Strings.lastModified) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var lastModified: Int64 + @inlinable public var lastModified: Int64 { + get { jsObject[Strings.lastModified].fromJSValue()! } + set { jsObject[Strings.lastModified] = _toJSValue(newValue) } + } } - public class FileReader: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.FileReader].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.FileReader].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _result = ReadonlyAttribute(jsObject: jsObject, name: Strings.result) - _error = ReadonlyAttribute(jsObject: jsObject, name: Strings.error) - _onloadstart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onloadstart) - _onprogress = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onprogress) - _onload = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onload) - _onabort = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onabort) - _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) - _onloadend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onloadend) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public func readAsArrayBuffer(blob: Blob) { + @inlinable final public func readAsArrayBuffer(blob: Blob) { let this = jsObject _ = this[Strings.readAsArrayBuffer].function!(this: this, arguments: [_toJSValue(blob)]) } - @inlinable public func readAsBinaryString(blob: Blob) { + @inlinable final public func readAsBinaryString(blob: Blob) { let this = jsObject _ = this[Strings.readAsBinaryString].function!(this: this, arguments: [_toJSValue(blob)]) } - @inlinable public func readAsText(blob: Blob, encoding: String? = nil) { + @inlinable final public func readAsText(blob: Blob, encoding: String? = nil) { let this = jsObject _ = this[Strings.readAsText].function!(this: this, arguments: [_toJSValue(blob), _toJSValue(encoding)]) } - @inlinable public func readAsDataURL(blob: Blob) { + @inlinable final public func readAsDataURL(blob: Blob) { let this = jsObject _ = this[Strings.readAsDataURL].function!(this: this, arguments: [_toJSValue(blob)]) } - @inlinable public func abort() { + @inlinable final public func abort() { let this = jsObject _ = this[Strings.abort].function!(this: this, arguments: []) } @@ -5714,178 +5772,242 @@ public class FileReader: EventTarget { public static let DONE: UInt16 = 2 - @ReadonlyAttribute - public var readyState: UInt16 + @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } - @ReadonlyAttribute - public var result: ArrayBuffer_or_String? + @inlinable public var result: ArrayBuffer_or_String? { jsObject[Strings.result].fromJSValue() } - @ReadonlyAttribute - public var error: DOMException? + @inlinable public var error: DOMException? { jsObject[Strings.error].fromJSValue() } - @ClosureAttribute1Optional - public var onloadstart: EventHandler + @inlinable public var onloadstart: EventHandler { + get { + guard let function = jsObject[Strings.onloadstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadstart] = .null + } + } + } - @ClosureAttribute1Optional - public var onprogress: EventHandler + @inlinable public var onprogress: EventHandler { + get { + guard let function = jsObject[Strings.onprogress].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onprogress] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onprogress] = .null + } + } + } - @ClosureAttribute1Optional - public var onload: EventHandler + @inlinable public var onload: EventHandler { + get { + guard let function = jsObject[Strings.onload].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onload] = .null + } + } + } - @ClosureAttribute1Optional - public var onabort: EventHandler + @inlinable public var onabort: EventHandler { + get { + guard let function = jsObject[Strings.onabort].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onabort] = .null + } + } + } - @ClosureAttribute1Optional - public var onerror: EventHandler + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } - @ClosureAttribute1Optional - public var onloadend: EventHandler + @inlinable public var onloadend: EventHandler { + get { + guard let function = jsObject[Strings.onloadend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadend] = .null + } + } + } } public class FocusEvent: UIEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.FocusEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.FocusEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _relatedTarget = ReadonlyAttribute(jsObject: jsObject, name: Strings.relatedTarget) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: FocusEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var relatedTarget: EventTarget? + @inlinable public var relatedTarget: EventTarget? { jsObject[Strings.relatedTarget].fromJSValue() } } -public class FocusEventInit: BridgedDictionary { - public convenience init(relatedTarget: EventTarget?) { +open class FocusEventInit: UIEventInit { + + public convenience init(view: Window?, detail: Int32? = nil, which: UInt32? = nil, relatedTarget: EventTarget?) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.view] = _toJSValue(view) + object[Strings.detail] = _toJSValue(detail) + object[Strings.which] = _toJSValue(which) object[Strings.relatedTarget] = _toJSValue(relatedTarget) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _relatedTarget = ReadWriteAttribute(jsObject: object, name: Strings.relatedTarget) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var relatedTarget: EventTarget? + @inlinable public var relatedTarget: EventTarget? { + get { jsObject[Strings.relatedTarget].fromJSValue() } + set { jsObject[Strings.relatedTarget] = _toJSValue(newValue) } + } } +open class FocusOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class FocusOptions: BridgedDictionary { - public convenience init(preventScroll: Bool, focusVisible: Bool) { + public convenience init(preventScroll: Bool? = nil, focusVisible: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.preventScroll] = _toJSValue(preventScroll) object[Strings.focusVisible] = _toJSValue(focusVisible) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _preventScroll = ReadWriteAttribute(jsObject: object, name: Strings.preventScroll) - _focusVisible = ReadWriteAttribute(jsObject: object, name: Strings.focusVisible) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var preventScroll: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var focusVisible: Bool + @inlinable public var preventScroll: Bool { + get { jsObject[Strings.preventScroll].fromJSValue()! } + set { jsObject[Strings.preventScroll] = _toJSValue(newValue) } + } + @inlinable public var focusVisible: Bool { + get { jsObject[Strings.focusVisible].fromJSValue()! } + set { jsObject[Strings.focusVisible] = _toJSValue(newValue) } + } } - public class FormData: JSBridgedClass, Sequence { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.FormData].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(form: HTMLFormElement? = nil, submitter: HTMLElement? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(form), _toJSValue(submitter)])) } - @inlinable public func append(name: String, value: String) { + @inlinable final public func append(name: String, value: String) { let this = jsObject _ = this[Strings.append].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @inlinable public func append(name: String, blobValue: Blob, filename: String? = nil) { + @inlinable final public func append(name: String, blobValue: Blob, filename: String? = nil) { let this = jsObject - _ = this[Strings.append].function!(this: this, arguments: [_toJSValue(name), _toJSValue(blobValue), _toJSValue(filename)]) + _ = this[Strings.append].function!( + this: this, + arguments: [_toJSValue(name), _toJSValue(blobValue), _toJSValue(filename)] + ) } - @inlinable public func delete(name: String) { + @inlinable final public func delete(name: String) { let this = jsObject _ = this[Strings.delete].function!(this: this, arguments: [_toJSValue(name)]) } - @inlinable public func get(name: String) -> FormDataEntryValue? { + @inlinable final public func get(name: String) -> FormDataEntryValue? { let this = jsObject return this[Strings.get].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable public func getAll(name: String) -> [FormDataEntryValue] { + @inlinable final public func getAll(name: String) -> [FormDataEntryValue] { let this = jsObject return this[Strings.getAll].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @inlinable public func has(name: String) -> Bool { + @inlinable final public func has(name: String) -> Bool { let this = jsObject return this[Strings.has].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @inlinable public func set(name: String, value: String) { + @inlinable final public func set(name: String, value: String) { let this = jsObject _ = this[Strings.set].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @inlinable public func set(name: String, blobValue: Blob, filename: String? = nil) { + @inlinable final public func set(name: String, blobValue: Blob, filename: String? = nil) { let this = jsObject - _ = this[Strings.set].function!(this: this, arguments: [_toJSValue(name), _toJSValue(blobValue), _toJSValue(filename)]) + _ = this[Strings.set].function!( + this: this, + arguments: [_toJSValue(name), _toJSValue(blobValue), _toJSValue(filename)] + ) } public typealias Element = String - public func makeIterator() -> ValueIterableIterator { - ValueIterableIterator(sequence: self) - } + public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } } public class FormDataEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.FormDataEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.FormDataEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _formData = ReadonlyAttribute(jsObject: jsObject, name: Strings.formData) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: FormDataEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var formData: FormData + @inlinable public var formData: FormData { jsObject[Strings.formData].fromJSValue()! } } -public class FormDataEventInit: BridgedDictionary { - public convenience init(formData: FormData) { +open class FormDataEventInit: EventInit { + + public convenience init(bubbles: Bool? = nil, cancelable: Bool? = nil, composed: Bool? = nil, formData: FormData) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.formData] = _toJSValue(formData) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _formData = ReadWriteAttribute(jsObject: object, name: Strings.formData) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var formData: FormData + @inlinable public var formData: FormData { + get { jsObject[Strings.formData].fromJSValue()! } + set { jsObject[Strings.formData] = _toJSValue(newValue) } + } } - public enum FrameType: JSString, JSValueCompatible { case auxiliary = "auxiliary" case topLevel = "top-level" @@ -5893,814 +6015,1556 @@ public enum FrameType: JSString, JSValueCompatible { case none = "none" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol GenericTransformStream: JSBridgedClass {} -public extension GenericTransformStream { - @inlinable var readable: ReadableStream { jsObject[Strings.readable].fromJSValue()! } +extension GenericTransformStream { + @inlinable public var readable: ReadableStream { jsObject[Strings.readable].fromJSValue()! } - @inlinable var writable: WritableStream { jsObject[Strings.writable].fromJSValue()! } + @inlinable public var writable: WritableStream { jsObject[Strings.writable].fromJSValue()! } } - public protocol GeometryUtils: JSBridgedClass {} -public extension GeometryUtils { - @inlinable func getBoxQuads(options: BoxQuadOptions? = nil) -> [DOMQuad] { +extension GeometryUtils { + @inlinable public func getBoxQuads(options: BoxQuadOptions? = nil) -> [DOMQuad] { let this = jsObject return this[Strings.getBoxQuads].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable func convertQuadFromNode(quad: DOMQuadInit, from: GeometryNode, options: ConvertCoordinateOptions? = nil) -> DOMQuad { + @inlinable public func convertQuadFromNode( + quad: DOMQuadInit, + from: GeometryNode, + options: ConvertCoordinateOptions? = nil + ) -> DOMQuad { let this = jsObject - return this[Strings.convertQuadFromNode].function!(this: this, arguments: [_toJSValue(quad), _toJSValue(from), _toJSValue(options)]).fromJSValue()! + return this[Strings.convertQuadFromNode].function!( + this: this, + arguments: [_toJSValue(quad), _toJSValue(from), _toJSValue(options)] + ).fromJSValue()! } - @inlinable func convertRectFromNode(rect: DOMRectReadOnly, from: GeometryNode, options: ConvertCoordinateOptions? = nil) -> DOMQuad { + @inlinable public func convertRectFromNode( + rect: DOMRectReadOnly, + from: GeometryNode, + options: ConvertCoordinateOptions? = nil + ) -> DOMQuad { let this = jsObject - return this[Strings.convertRectFromNode].function!(this: this, arguments: [_toJSValue(rect), _toJSValue(from), _toJSValue(options)]).fromJSValue()! + return this[Strings.convertRectFromNode].function!( + this: this, + arguments: [_toJSValue(rect), _toJSValue(from), _toJSValue(options)] + ).fromJSValue()! } - @inlinable func convertPointFromNode(point: DOMPointInit, from: GeometryNode, options: ConvertCoordinateOptions? = nil) -> DOMPoint { + @inlinable public func convertPointFromNode( + point: DOMPointInit, + from: GeometryNode, + options: ConvertCoordinateOptions? = nil + ) -> DOMPoint { let this = jsObject - return this[Strings.convertPointFromNode].function!(this: this, arguments: [_toJSValue(point), _toJSValue(from), _toJSValue(options)]).fromJSValue()! + return this[Strings.convertPointFromNode].function!( + this: this, + arguments: [_toJSValue(point), _toJSValue(from), _toJSValue(options)] + ).fromJSValue()! } } +open class GetRootNodeOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class GetRootNodeOptions: BridgedDictionary { - public convenience init(composed: Bool) { + public convenience init(composed: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.composed] = _toJSValue(composed) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _composed = ReadWriteAttribute(jsObject: object, name: Strings.composed) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var composed: Bool + @inlinable public var composed: Bool { + get { jsObject[Strings.composed].fromJSValue()! } + set { jsObject[Strings.composed] = _toJSValue(newValue) } + } } - public protocol GlobalEventHandlers: JSBridgedClass {} -public extension GlobalEventHandlers { - @inlinable var onabort: EventHandler { - get { ClosureAttribute1Optional[Strings.onabort, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onabort, in: jsObject] = newValue } +extension GlobalEventHandlers { + @inlinable public var onabort: EventHandler { + get { + guard let function = jsObject[Strings.onabort].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onabort] = .null + } + } } - @inlinable var onauxclick: EventHandler { - get { ClosureAttribute1Optional[Strings.onauxclick, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onauxclick, in: jsObject] = newValue } + @inlinable public var onauxclick: EventHandler { + get { + guard let function = jsObject[Strings.onauxclick].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onauxclick] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onauxclick] = .null + } + } } - @inlinable var onbeforeinput: EventHandler { - get { ClosureAttribute1Optional[Strings.onbeforeinput, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onbeforeinput, in: jsObject] = newValue } + @inlinable public var onbeforeinput: EventHandler { + get { + guard let function = jsObject[Strings.onbeforeinput].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onbeforeinput] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onbeforeinput] = .null + } + } } - @inlinable var onbeforematch: EventHandler { - get { ClosureAttribute1Optional[Strings.onbeforematch, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onbeforematch, in: jsObject] = newValue } + @inlinable public var onbeforematch: EventHandler { + get { + guard let function = jsObject[Strings.onbeforematch].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onbeforematch] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onbeforematch] = .null + } + } } - @inlinable var onbeforetoggle: EventHandler { - get { ClosureAttribute1Optional[Strings.onbeforetoggle, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onbeforetoggle, in: jsObject] = newValue } + @inlinable public var onbeforetoggle: EventHandler { + get { + guard let function = jsObject[Strings.onbeforetoggle].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onbeforetoggle] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onbeforetoggle] = .null + } + } } - @inlinable var onblur: EventHandler { - get { ClosureAttribute1Optional[Strings.onblur, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onblur, in: jsObject] = newValue } + @inlinable public var onblur: EventHandler { + get { + guard let function = jsObject[Strings.onblur].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onblur] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onblur] = .null + } + } } - @inlinable var oncancel: EventHandler { - get { ClosureAttribute1Optional[Strings.oncancel, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncancel, in: jsObject] = newValue } + @inlinable public var oncancel: EventHandler { + get { + guard let function = jsObject[Strings.oncancel].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncancel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncancel] = .null + } + } } - @inlinable var oncanplay: EventHandler { - get { ClosureAttribute1Optional[Strings.oncanplay, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncanplay, in: jsObject] = newValue } + @inlinable public var oncanplay: EventHandler { + get { + guard let function = jsObject[Strings.oncanplay].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncanplay] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncanplay] = .null + } + } } - @inlinable var oncanplaythrough: EventHandler { - get { ClosureAttribute1Optional[Strings.oncanplaythrough, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncanplaythrough, in: jsObject] = newValue } + @inlinable public var oncanplaythrough: EventHandler { + get { + guard let function = jsObject[Strings.oncanplaythrough].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncanplaythrough] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncanplaythrough] = .null + } + } } - @inlinable var onchange: EventHandler { - get { ClosureAttribute1Optional[Strings.onchange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onchange, in: jsObject] = newValue } + @inlinable public var onchange: EventHandler { + get { + guard let function = jsObject[Strings.onchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onchange] = .null + } + } } - @inlinable var onclick: EventHandler { - get { ClosureAttribute1Optional[Strings.onclick, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onclick, in: jsObject] = newValue } + @inlinable public var onclick: EventHandler { + get { + guard let function = jsObject[Strings.onclick].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onclick] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onclick] = .null + } + } } - @inlinable var onclose: EventHandler { - get { ClosureAttribute1Optional[Strings.onclose, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onclose, in: jsObject] = newValue } + @inlinable public var onclose: EventHandler { + get { + guard let function = jsObject[Strings.onclose].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onclose] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onclose] = .null + } + } } - @inlinable var oncontextlost: EventHandler { - get { ClosureAttribute1Optional[Strings.oncontextlost, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncontextlost, in: jsObject] = newValue } + @inlinable public var oncontextlost: EventHandler { + get { + guard let function = jsObject[Strings.oncontextlost].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncontextlost] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncontextlost] = .null + } + } } - @inlinable var oncontextmenu: EventHandler { - get { ClosureAttribute1Optional[Strings.oncontextmenu, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncontextmenu, in: jsObject] = newValue } + @inlinable public var oncontextmenu: EventHandler { + get { + guard let function = jsObject[Strings.oncontextmenu].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncontextmenu] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncontextmenu] = .null + } + } } - @inlinable var oncontextrestored: EventHandler { - get { ClosureAttribute1Optional[Strings.oncontextrestored, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncontextrestored, in: jsObject] = newValue } + @inlinable public var oncontextrestored: EventHandler { + get { + guard let function = jsObject[Strings.oncontextrestored].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncontextrestored] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncontextrestored] = .null + } + } } - @inlinable var oncopy: EventHandler { - get { ClosureAttribute1Optional[Strings.oncopy, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncopy, in: jsObject] = newValue } - } - - @inlinable var oncuechange: EventHandler { - get { ClosureAttribute1Optional[Strings.oncuechange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncuechange, in: jsObject] = newValue } + @inlinable public var oncopy: EventHandler { + get { + guard let function = jsObject[Strings.oncopy].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncopy] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncopy] = .null + } + } } - @inlinable var oncut: EventHandler { - get { ClosureAttribute1Optional[Strings.oncut, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncut, in: jsObject] = newValue } + @inlinable public var oncuechange: EventHandler { + get { + guard let function = jsObject[Strings.oncuechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncuechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncuechange] = .null + } + } } - @inlinable var ondblclick: EventHandler { - get { ClosureAttribute1Optional[Strings.ondblclick, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondblclick, in: jsObject] = newValue } + @inlinable public var oncut: EventHandler { + get { + guard let function = jsObject[Strings.oncut].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncut] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncut] = .null + } + } } - @inlinable var ondrag: EventHandler { - get { ClosureAttribute1Optional[Strings.ondrag, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondrag, in: jsObject] = newValue } + @inlinable public var ondblclick: EventHandler { + get { + guard let function = jsObject[Strings.ondblclick].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondblclick] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondblclick] = .null + } + } } - @inlinable var ondragend: EventHandler { - get { ClosureAttribute1Optional[Strings.ondragend, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondragend, in: jsObject] = newValue } + @inlinable public var ondrag: EventHandler { + get { + guard let function = jsObject[Strings.ondrag].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondrag] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondrag] = .null + } + } } - @inlinable var ondragenter: EventHandler { - get { ClosureAttribute1Optional[Strings.ondragenter, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondragenter, in: jsObject] = newValue } + @inlinable public var ondragend: EventHandler { + get { + guard let function = jsObject[Strings.ondragend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondragend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondragend] = .null + } + } } - @inlinable var ondragleave: EventHandler { - get { ClosureAttribute1Optional[Strings.ondragleave, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondragleave, in: jsObject] = newValue } + @inlinable public var ondragenter: EventHandler { + get { + guard let function = jsObject[Strings.ondragenter].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondragenter] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondragenter] = .null + } + } } - @inlinable var ondragover: EventHandler { - get { ClosureAttribute1Optional[Strings.ondragover, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondragover, in: jsObject] = newValue } + @inlinable public var ondragleave: EventHandler { + get { + guard let function = jsObject[Strings.ondragleave].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondragleave] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondragleave] = .null + } + } } - @inlinable var ondragstart: EventHandler { - get { ClosureAttribute1Optional[Strings.ondragstart, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondragstart, in: jsObject] = newValue } + @inlinable public var ondragover: EventHandler { + get { + guard let function = jsObject[Strings.ondragover].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondragover] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondragover] = .null + } + } } - @inlinable var ondrop: EventHandler { - get { ClosureAttribute1Optional[Strings.ondrop, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondrop, in: jsObject] = newValue } + @inlinable public var ondragstart: EventHandler { + get { + guard let function = jsObject[Strings.ondragstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondragstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondragstart] = .null + } + } } - @inlinable var ondurationchange: EventHandler { - get { ClosureAttribute1Optional[Strings.ondurationchange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondurationchange, in: jsObject] = newValue } + @inlinable public var ondrop: EventHandler { + get { + guard let function = jsObject[Strings.ondrop].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondrop] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondrop] = .null + } + } } - @inlinable var onemptied: EventHandler { - get { ClosureAttribute1Optional[Strings.onemptied, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onemptied, in: jsObject] = newValue } + @inlinable public var ondurationchange: EventHandler { + get { + guard let function = jsObject[Strings.ondurationchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondurationchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondurationchange] = .null + } + } } - @inlinable var onended: EventHandler { - get { ClosureAttribute1Optional[Strings.onended, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onended, in: jsObject] = newValue } + @inlinable public var onemptied: EventHandler { + get { + guard let function = jsObject[Strings.onemptied].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onemptied] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onemptied] = .null + } + } } - @inlinable var onerror: OnErrorEventHandler { - get { ClosureAttribute5Optional[Strings.onerror, in: jsObject] } - nonmutating set { ClosureAttribute5Optional[Strings.onerror, in: jsObject] = newValue } + @inlinable public var onended: EventHandler { + get { + guard let function = jsObject[Strings.onended].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onended] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onended] = .null + } + } } - @inlinable var onfocus: EventHandler { - get { ClosureAttribute1Optional[Strings.onfocus, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onfocus, in: jsObject] = newValue } + @inlinable public var onerror: OnErrorEventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { + function(_toJSValue($0), _toJSValue($1), _toJSValue($2), _toJSValue($3), _toJSValue($4)).fromJSValue()! + } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = + JSClosure { + _toJSValue( + newValue( + $0[0].fromJSValue()!, + $0[1].fromJSValue()!, + $0[2].fromJSValue()!, + $0[3].fromJSValue()!, + $0[4].fromJSValue()! + ) + ) + }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } + + @inlinable public var onfocus: EventHandler { + get { + guard let function = jsObject[Strings.onfocus].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onfocus] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onfocus] = .null + } + } } - @inlinable var onformdata: EventHandler { - get { ClosureAttribute1Optional[Strings.onformdata, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onformdata, in: jsObject] = newValue } + @inlinable public var onformdata: EventHandler { + get { + guard let function = jsObject[Strings.onformdata].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onformdata] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onformdata] = .null + } + } } - @inlinable var oninput: EventHandler { - get { ClosureAttribute1Optional[Strings.oninput, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oninput, in: jsObject] = newValue } + @inlinable public var oninput: EventHandler { + get { + guard let function = jsObject[Strings.oninput].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oninput] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oninput] = .null + } + } } - @inlinable var oninvalid: EventHandler { - get { ClosureAttribute1Optional[Strings.oninvalid, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oninvalid, in: jsObject] = newValue } + @inlinable public var oninvalid: EventHandler { + get { + guard let function = jsObject[Strings.oninvalid].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oninvalid] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oninvalid] = .null + } + } } - @inlinable var onkeydown: EventHandler { - get { ClosureAttribute1Optional[Strings.onkeydown, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onkeydown, in: jsObject] = newValue } + @inlinable public var onkeydown: EventHandler { + get { + guard let function = jsObject[Strings.onkeydown].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onkeydown] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onkeydown] = .null + } + } } - @inlinable var onkeypress: EventHandler { - get { ClosureAttribute1Optional[Strings.onkeypress, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onkeypress, in: jsObject] = newValue } + @inlinable public var onkeypress: EventHandler { + get { + guard let function = jsObject[Strings.onkeypress].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onkeypress] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onkeypress] = .null + } + } } - @inlinable var onkeyup: EventHandler { - get { ClosureAttribute1Optional[Strings.onkeyup, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onkeyup, in: jsObject] = newValue } + @inlinable public var onkeyup: EventHandler { + get { + guard let function = jsObject[Strings.onkeyup].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onkeyup] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onkeyup] = .null + } + } } - @inlinable var onload: EventHandler { - get { ClosureAttribute1Optional[Strings.onload, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onload, in: jsObject] = newValue } + @inlinable public var onload: EventHandler { + get { + guard let function = jsObject[Strings.onload].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onload] = .null + } + } } - @inlinable var onloadeddata: EventHandler { - get { ClosureAttribute1Optional[Strings.onloadeddata, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onloadeddata, in: jsObject] = newValue } + @inlinable public var onloadeddata: EventHandler { + get { + guard let function = jsObject[Strings.onloadeddata].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadeddata] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadeddata] = .null + } + } } - @inlinable var onloadedmetadata: EventHandler { - get { ClosureAttribute1Optional[Strings.onloadedmetadata, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onloadedmetadata, in: jsObject] = newValue } + @inlinable public var onloadedmetadata: EventHandler { + get { + guard let function = jsObject[Strings.onloadedmetadata].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadedmetadata] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadedmetadata] = .null + } + } } - @inlinable var onloadstart: EventHandler { - get { ClosureAttribute1Optional[Strings.onloadstart, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onloadstart, in: jsObject] = newValue } + @inlinable public var onloadstart: EventHandler { + get { + guard let function = jsObject[Strings.onloadstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadstart] = .null + } + } } - @inlinable var onmousedown: EventHandler { - get { ClosureAttribute1Optional[Strings.onmousedown, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmousedown, in: jsObject] = newValue } + @inlinable public var onmousedown: EventHandler { + get { + guard let function = jsObject[Strings.onmousedown].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmousedown] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmousedown] = .null + } + } } - @inlinable var onmouseenter: EventHandler { - get { ClosureAttribute1Optional[Strings.onmouseenter, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmouseenter, in: jsObject] = newValue } + @inlinable public var onmouseenter: EventHandler { + get { + guard let function = jsObject[Strings.onmouseenter].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmouseenter] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmouseenter] = .null + } + } } - @inlinable var onmouseleave: EventHandler { - get { ClosureAttribute1Optional[Strings.onmouseleave, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmouseleave, in: jsObject] = newValue } + @inlinable public var onmouseleave: EventHandler { + get { + guard let function = jsObject[Strings.onmouseleave].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmouseleave] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmouseleave] = .null + } + } } - @inlinable var onmousemove: EventHandler { - get { ClosureAttribute1Optional[Strings.onmousemove, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmousemove, in: jsObject] = newValue } + @inlinable public var onmousemove: EventHandler { + get { + guard let function = jsObject[Strings.onmousemove].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmousemove] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmousemove] = .null + } + } } - @inlinable var onmouseout: EventHandler { - get { ClosureAttribute1Optional[Strings.onmouseout, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmouseout, in: jsObject] = newValue } + @inlinable public var onmouseout: EventHandler { + get { + guard let function = jsObject[Strings.onmouseout].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmouseout] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmouseout] = .null + } + } } - @inlinable var onmouseover: EventHandler { - get { ClosureAttribute1Optional[Strings.onmouseover, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmouseover, in: jsObject] = newValue } + @inlinable public var onmouseover: EventHandler { + get { + guard let function = jsObject[Strings.onmouseover].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmouseover] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmouseover] = .null + } + } } - @inlinable var onmouseup: EventHandler { - get { ClosureAttribute1Optional[Strings.onmouseup, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmouseup, in: jsObject] = newValue } + @inlinable public var onmouseup: EventHandler { + get { + guard let function = jsObject[Strings.onmouseup].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmouseup] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmouseup] = .null + } + } } - @inlinable var onpaste: EventHandler { - get { ClosureAttribute1Optional[Strings.onpaste, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onpaste, in: jsObject] = newValue } + @inlinable public var onpaste: EventHandler { + get { + guard let function = jsObject[Strings.onpaste].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpaste] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpaste] = .null + } + } } - @inlinable var onpause: EventHandler { - get { ClosureAttribute1Optional[Strings.onpause, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onpause, in: jsObject] = newValue } + @inlinable public var onpause: EventHandler { + get { + guard let function = jsObject[Strings.onpause].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpause] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpause] = .null + } + } } - @inlinable var onplay: EventHandler { - get { ClosureAttribute1Optional[Strings.onplay, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onplay, in: jsObject] = newValue } + @inlinable public var onplay: EventHandler { + get { + guard let function = jsObject[Strings.onplay].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onplay] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onplay] = .null + } + } } - @inlinable var onplaying: EventHandler { - get { ClosureAttribute1Optional[Strings.onplaying, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onplaying, in: jsObject] = newValue } + @inlinable public var onplaying: EventHandler { + get { + guard let function = jsObject[Strings.onplaying].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onplaying] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onplaying] = .null + } + } } - @inlinable var onprogress: EventHandler { - get { ClosureAttribute1Optional[Strings.onprogress, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onprogress, in: jsObject] = newValue } + @inlinable public var onprogress: EventHandler { + get { + guard let function = jsObject[Strings.onprogress].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onprogress] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onprogress] = .null + } + } } - @inlinable var onratechange: EventHandler { - get { ClosureAttribute1Optional[Strings.onratechange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onratechange, in: jsObject] = newValue } + @inlinable public var onratechange: EventHandler { + get { + guard let function = jsObject[Strings.onratechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onratechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onratechange] = .null + } + } } - @inlinable var onreset: EventHandler { - get { ClosureAttribute1Optional[Strings.onreset, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onreset, in: jsObject] = newValue } + @inlinable public var onreset: EventHandler { + get { + guard let function = jsObject[Strings.onreset].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onreset] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onreset] = .null + } + } } - @inlinable var onresize: EventHandler { - get { ClosureAttribute1Optional[Strings.onresize, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onresize, in: jsObject] = newValue } + @inlinable public var onresize: EventHandler { + get { + guard let function = jsObject[Strings.onresize].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onresize] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onresize] = .null + } + } } - @inlinable var onscroll: EventHandler { - get { ClosureAttribute1Optional[Strings.onscroll, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onscroll, in: jsObject] = newValue } + @inlinable public var onscroll: EventHandler { + get { + guard let function = jsObject[Strings.onscroll].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onscroll] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onscroll] = .null + } + } } - @inlinable var onscrollend: EventHandler { - get { ClosureAttribute1Optional[Strings.onscrollend, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onscrollend, in: jsObject] = newValue } + @inlinable public var onscrollend: EventHandler { + get { + guard let function = jsObject[Strings.onscrollend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onscrollend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onscrollend] = .null + } + } } - @inlinable var onsecuritypolicyviolation: EventHandler { - get { ClosureAttribute1Optional[Strings.onsecuritypolicyviolation, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onsecuritypolicyviolation, in: jsObject] = newValue } + @inlinable public var onsecuritypolicyviolation: EventHandler { + get { + guard let function = jsObject[Strings.onsecuritypolicyviolation].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onsecuritypolicyviolation] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onsecuritypolicyviolation] = .null + } + } } - @inlinable var onseeked: EventHandler { - get { ClosureAttribute1Optional[Strings.onseeked, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onseeked, in: jsObject] = newValue } + @inlinable public var onseeked: EventHandler { + get { + guard let function = jsObject[Strings.onseeked].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onseeked] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onseeked] = .null + } + } } - @inlinable var onseeking: EventHandler { - get { ClosureAttribute1Optional[Strings.onseeking, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onseeking, in: jsObject] = newValue } + @inlinable public var onseeking: EventHandler { + get { + guard let function = jsObject[Strings.onseeking].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onseeking] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onseeking] = .null + } + } } - @inlinable var onselect: EventHandler { - get { ClosureAttribute1Optional[Strings.onselect, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onselect, in: jsObject] = newValue } + @inlinable public var onselect: EventHandler { + get { + guard let function = jsObject[Strings.onselect].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onselect] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onselect] = .null + } + } } - @inlinable var onslotchange: EventHandler { - get { ClosureAttribute1Optional[Strings.onslotchange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onslotchange, in: jsObject] = newValue } + @inlinable public var onslotchange: EventHandler { + get { + guard let function = jsObject[Strings.onslotchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onslotchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onslotchange] = .null + } + } } - @inlinable var onstalled: EventHandler { - get { ClosureAttribute1Optional[Strings.onstalled, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onstalled, in: jsObject] = newValue } + @inlinable public var onstalled: EventHandler { + get { + guard let function = jsObject[Strings.onstalled].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onstalled] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onstalled] = .null + } + } } - @inlinable var onsubmit: EventHandler { - get { ClosureAttribute1Optional[Strings.onsubmit, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onsubmit, in: jsObject] = newValue } + @inlinable public var onsubmit: EventHandler { + get { + guard let function = jsObject[Strings.onsubmit].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onsubmit] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onsubmit] = .null + } + } } - @inlinable var onsuspend: EventHandler { - get { ClosureAttribute1Optional[Strings.onsuspend, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onsuspend, in: jsObject] = newValue } + @inlinable public var onsuspend: EventHandler { + get { + guard let function = jsObject[Strings.onsuspend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onsuspend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onsuspend] = .null + } + } } - @inlinable var ontimeupdate: EventHandler { - get { ClosureAttribute1Optional[Strings.ontimeupdate, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ontimeupdate, in: jsObject] = newValue } + @inlinable public var ontimeupdate: EventHandler { + get { + guard let function = jsObject[Strings.ontimeupdate].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontimeupdate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontimeupdate] = .null + } + } } - @inlinable var ontoggle: EventHandler { - get { ClosureAttribute1Optional[Strings.ontoggle, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ontoggle, in: jsObject] = newValue } + @inlinable public var ontoggle: EventHandler { + get { + guard let function = jsObject[Strings.ontoggle].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontoggle] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontoggle] = .null + } + } } - @inlinable var onvolumechange: EventHandler { - get { ClosureAttribute1Optional[Strings.onvolumechange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onvolumechange, in: jsObject] = newValue } + @inlinable public var onvolumechange: EventHandler { + get { + guard let function = jsObject[Strings.onvolumechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onvolumechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onvolumechange] = .null + } + } } - @inlinable var onwaiting: EventHandler { - get { ClosureAttribute1Optional[Strings.onwaiting, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onwaiting, in: jsObject] = newValue } + @inlinable public var onwaiting: EventHandler { + get { + guard let function = jsObject[Strings.onwaiting].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onwaiting] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onwaiting] = .null + } + } } - @inlinable var onwebkitanimationend: EventHandler { - get { ClosureAttribute1Optional[Strings.onwebkitanimationend, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onwebkitanimationend, in: jsObject] = newValue } + @inlinable public var onwebkitanimationend: EventHandler { + get { + guard let function = jsObject[Strings.onwebkitanimationend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onwebkitanimationend] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onwebkitanimationend] = .null + } + } } - @inlinable var onwebkitanimationiteration: EventHandler { - get { ClosureAttribute1Optional[Strings.onwebkitanimationiteration, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onwebkitanimationiteration, in: jsObject] = newValue } + @inlinable public var onwebkitanimationiteration: EventHandler { + get { + guard let function = jsObject[Strings.onwebkitanimationiteration].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onwebkitanimationiteration] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onwebkitanimationiteration] = .null + } + } } - @inlinable var onwebkitanimationstart: EventHandler { - get { ClosureAttribute1Optional[Strings.onwebkitanimationstart, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onwebkitanimationstart, in: jsObject] = newValue } + @inlinable public var onwebkitanimationstart: EventHandler { + get { + guard let function = jsObject[Strings.onwebkitanimationstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onwebkitanimationstart] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onwebkitanimationstart] = .null + } + } } - @inlinable var onwebkittransitionend: EventHandler { - get { ClosureAttribute1Optional[Strings.onwebkittransitionend, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onwebkittransitionend, in: jsObject] = newValue } + @inlinable public var onwebkittransitionend: EventHandler { + get { + guard let function = jsObject[Strings.onwebkittransitionend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onwebkittransitionend] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onwebkittransitionend] = .null + } + } } - @inlinable var onwheel: EventHandler { - get { ClosureAttribute1Optional[Strings.onwheel, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onwheel, in: jsObject] = newValue } + @inlinable public var onwheel: EventHandler { + get { + guard let function = jsObject[Strings.onwheel].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onwheel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onwheel] = .null + } + } } - @inlinable var ontouchstart: EventHandler { - get { ClosureAttribute1Optional[Strings.ontouchstart, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ontouchstart, in: jsObject] = newValue } + @inlinable public var ontouchstart: EventHandler { + get { + guard let function = jsObject[Strings.ontouchstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontouchstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontouchstart] = .null + } + } } - @inlinable var ontouchend: EventHandler { - get { ClosureAttribute1Optional[Strings.ontouchend, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ontouchend, in: jsObject] = newValue } + @inlinable public var ontouchend: EventHandler { + get { + guard let function = jsObject[Strings.ontouchend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontouchend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontouchend] = .null + } + } } - @inlinable var ontouchmove: EventHandler { - get { ClosureAttribute1Optional[Strings.ontouchmove, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ontouchmove, in: jsObject] = newValue } + @inlinable public var ontouchmove: EventHandler { + get { + guard let function = jsObject[Strings.ontouchmove].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontouchmove] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontouchmove] = .null + } + } } - @inlinable var ontouchcancel: EventHandler { - get { ClosureAttribute1Optional[Strings.ontouchcancel, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ontouchcancel, in: jsObject] = newValue } + @inlinable public var ontouchcancel: EventHandler { + get { + guard let function = jsObject[Strings.ontouchcancel].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontouchcancel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontouchcancel] = .null + } + } } } - public class HTMLAllCollection: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.HTMLAllCollection].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> Element { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> Element { jsObject[key].fromJSValue()! } - @inlinable public subscript(key: String) -> Element_or_HTMLCollection? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: String) -> Element_or_HTMLCollection? { jsObject[key].fromJSValue() } - @inlinable public func namedItem(name: String) -> Element_or_HTMLCollection? { + @inlinable final public func namedItem(name: String) -> Element_or_HTMLCollection? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable public func item(nameOrIndex: String? = nil) -> Element_or_HTMLCollection? { + @inlinable final public func item(nameOrIndex: String? = nil) -> Element_or_HTMLCollection? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(nameOrIndex)]).fromJSValue() } } public class HTMLAnchorElement: HTMLElement, HTMLHyperlinkElementUtils { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLAnchorElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) - _download = ReadWriteAttribute(jsObject: jsObject, name: Strings.download) - _ping = ReadWriteAttribute(jsObject: jsObject, name: Strings.ping) - _rel = ReadWriteAttribute(jsObject: jsObject, name: Strings.rel) - _relList = ReadonlyAttribute(jsObject: jsObject, name: Strings.relList) - _hreflang = ReadWriteAttribute(jsObject: jsObject, name: Strings.hreflang) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) - _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _coords = ReadWriteAttribute(jsObject: jsObject, name: Strings.coords) - _charset = ReadWriteAttribute(jsObject: jsObject, name: Strings.charset) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _rev = ReadWriteAttribute(jsObject: jsObject, name: Strings.rev) - _shape = ReadWriteAttribute(jsObject: jsObject, name: Strings.shape) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLAnchorElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var target: String + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var download: String + @inlinable public var target: String { + get { jsObject[Strings.target].fromJSValue()! } + set { jsObject[Strings.target] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ping: String + @inlinable public var download: String { + get { jsObject[Strings.download].fromJSValue()! } + set { jsObject[Strings.download] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rel: String + @inlinable public var ping: String { + get { jsObject[Strings.ping].fromJSValue()! } + set { jsObject[Strings.ping] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var relList: DOMTokenList + @inlinable public var rel: String { + get { jsObject[Strings.rel].fromJSValue()! } + set { jsObject[Strings.rel] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hreflang: String + @inlinable public var relList: DOMTokenList { jsObject[Strings.relList].fromJSValue()! } - @ReadWriteAttribute - public var type: String + @inlinable public var hreflang: String { + get { jsObject[Strings.hreflang].fromJSValue()! } + set { jsObject[Strings.hreflang] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var text: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var referrerPolicy: String + @inlinable public var text: String { + get { jsObject[Strings.text].fromJSValue()! } + set { jsObject[Strings.text] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var coords: String + @inlinable public var referrerPolicy: String { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var charset: String + @inlinable public var coords: String { + get { jsObject[Strings.coords].fromJSValue()! } + set { jsObject[Strings.coords] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var charset: String { + get { jsObject[Strings.charset].fromJSValue()! } + set { jsObject[Strings.charset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rev: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } + + @inlinable public var rev: String { + get { jsObject[Strings.rev].fromJSValue()! } + set { jsObject[Strings.rev] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var shape: String + @inlinable public var shape: String { + get { jsObject[Strings.shape].fromJSValue()! } + set { jsObject[Strings.shape] = _toJSValue(newValue) } + } } public class HTMLAreaElement: HTMLElement, HTMLHyperlinkElementUtils { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLAreaElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLAreaElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _alt = ReadWriteAttribute(jsObject: jsObject, name: Strings.alt) - _coords = ReadWriteAttribute(jsObject: jsObject, name: Strings.coords) - _shape = ReadWriteAttribute(jsObject: jsObject, name: Strings.shape) - _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) - _download = ReadWriteAttribute(jsObject: jsObject, name: Strings.download) - _ping = ReadWriteAttribute(jsObject: jsObject, name: Strings.ping) - _rel = ReadWriteAttribute(jsObject: jsObject, name: Strings.rel) - _relList = ReadonlyAttribute(jsObject: jsObject, name: Strings.relList) - _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _noHref = ReadWriteAttribute(jsObject: jsObject, name: Strings.noHref) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var alt: String + @inlinable public var alt: String { + get { jsObject[Strings.alt].fromJSValue()! } + set { jsObject[Strings.alt] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var coords: String + @inlinable public var coords: String { + get { jsObject[Strings.coords].fromJSValue()! } + set { jsObject[Strings.coords] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var shape: String + @inlinable public var shape: String { + get { jsObject[Strings.shape].fromJSValue()! } + set { jsObject[Strings.shape] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var target: String + @inlinable public var target: String { + get { jsObject[Strings.target].fromJSValue()! } + set { jsObject[Strings.target] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var download: String + @inlinable public var download: String { + get { jsObject[Strings.download].fromJSValue()! } + set { jsObject[Strings.download] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ping: String + @inlinable public var ping: String { + get { jsObject[Strings.ping].fromJSValue()! } + set { jsObject[Strings.ping] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rel: String + @inlinable public var rel: String { + get { jsObject[Strings.rel].fromJSValue()! } + set { jsObject[Strings.rel] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var relList: DOMTokenList + @inlinable public var relList: DOMTokenList { jsObject[Strings.relList].fromJSValue()! } - @ReadWriteAttribute - public var referrerPolicy: String + @inlinable public var referrerPolicy: String { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var noHref: Bool + @inlinable public var noHref: Bool { + get { jsObject[Strings.noHref].fromJSValue()! } + set { jsObject[Strings.noHref] = _toJSValue(newValue) } + } } public class HTMLAudioElement: HTMLMediaElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLAudioElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLAudioElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } } public class HTMLBRElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLBRElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLBRElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _clear = ReadWriteAttribute(jsObject: jsObject, name: Strings.clear) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var clear: String + @inlinable public var clear: String { + get { jsObject[Strings.clear].fromJSValue()! } + set { jsObject[Strings.clear] = _toJSValue(newValue) } + } } public class HTMLBaseElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLBaseElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLBaseElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _href = ReadWriteAttribute(jsObject: jsObject, name: Strings.href) - _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var href: String + @inlinable public var href: String { + get { jsObject[Strings.href].fromJSValue()! } + set { jsObject[Strings.href] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var target: String + @inlinable public var target: String { + get { jsObject[Strings.target].fromJSValue()! } + set { jsObject[Strings.target] = _toJSValue(newValue) } + } } public class HTMLBodyElement: HTMLElement, WindowEventHandlers { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLBodyElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLBodyElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) - _link = ReadWriteAttribute(jsObject: jsObject, name: Strings.link) - _vLink = ReadWriteAttribute(jsObject: jsObject, name: Strings.vLink) - _aLink = ReadWriteAttribute(jsObject: jsObject, name: Strings.aLink) - _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) - _background = ReadWriteAttribute(jsObject: jsObject, name: Strings.background) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var text: String + @inlinable public var text: String { + get { jsObject[Strings.text].fromJSValue()! } + set { jsObject[Strings.text] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var link: String + @inlinable public var link: String { + get { jsObject[Strings.link].fromJSValue()! } + set { jsObject[Strings.link] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vLink: String + @inlinable public var vLink: String { + get { jsObject[Strings.vLink].fromJSValue()! } + set { jsObject[Strings.vLink] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var aLink: String + @inlinable public var aLink: String { + get { jsObject[Strings.aLink].fromJSValue()! } + set { jsObject[Strings.aLink] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var bgColor: String + @inlinable public var bgColor: String { + get { jsObject[Strings.bgColor].fromJSValue()! } + set { jsObject[Strings.bgColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var background: String + @inlinable public var background: String { + get { jsObject[Strings.background].fromJSValue()! } + set { jsObject[Strings.background] = _toJSValue(newValue) } + } } public class HTMLButtonElement: HTMLElement, PopoverInvokerElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLButtonElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _formAction = ReadWriteAttribute(jsObject: jsObject, name: Strings.formAction) - _formEnctype = ReadWriteAttribute(jsObject: jsObject, name: Strings.formEnctype) - _formMethod = ReadWriteAttribute(jsObject: jsObject, name: Strings.formMethod) - _formNoValidate = ReadWriteAttribute(jsObject: jsObject, name: Strings.formNoValidate) - _formTarget = ReadWriteAttribute(jsObject: jsObject, name: Strings.formTarget) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLButtonElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var formAction: String + @inlinable public var formAction: String { + get { jsObject[Strings.formAction].fromJSValue()! } + set { jsObject[Strings.formAction] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formEnctype: String + @inlinable public var formEnctype: String { + get { jsObject[Strings.formEnctype].fromJSValue()! } + set { jsObject[Strings.formEnctype] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formMethod: String + @inlinable public var formMethod: String { + get { jsObject[Strings.formMethod].fromJSValue()! } + set { jsObject[Strings.formMethod] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formNoValidate: Bool + @inlinable public var formNoValidate: Bool { + get { jsObject[Strings.formNoValidate].fromJSValue()! } + set { jsObject[Strings.formNoValidate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formTarget: String + @inlinable public var formTarget: String { + get { jsObject[Strings.formTarget].fromJSValue()! } + set { jsObject[Strings.formTarget] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @ReadonlyAttribute - public var labels: NodeList + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } } public class HTMLCanvasElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLCanvasElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLCanvasElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var width: UInt32 + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: UInt32 + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } // XXX: member 'getContext' is ignored - @inlinable public func toDataURL(type: String? = nil, quality: JSValue? = nil) -> String { + @inlinable final public func toDataURL(type: String? = nil, quality: JSValue? = nil) -> String { let this = jsObject - return this[Strings.toDataURL].function!(this: this, arguments: [_toJSValue(type), _toJSValue(quality)]).fromJSValue()! + return this[Strings.toDataURL].function!(this: this, arguments: [_toJSValue(type), _toJSValue(quality)]) + .fromJSValue()! } - @inlinable public func toBlob(callback: @escaping BlobCallback, type: String? = nil, quality: JSValue? = nil) { + @inlinable final public func toBlob(callback: @escaping BlobCallback, type: String? = nil, quality: JSValue? = nil) + { let this = jsObject - _ = this[Strings.toBlob].function!(this: this, arguments: [_toJSValue(callback), _toJSValue(type), _toJSValue(quality)]) + _ = this[Strings.toBlob].function!( + this: this, + arguments: [_toJSValue(callback), _toJSValue(type), _toJSValue(quality)] + ) } - @inlinable public func transferControlToOffscreen() -> OffscreenCanvas { + @inlinable final public func transferControlToOffscreen() -> OffscreenCanvas { let this = jsObject return this[Strings.transferControlToOffscreen].function!(this: this, arguments: []).fromJSValue()! } @@ -6711,1465 +7575,1429 @@ public class HTMLCollection: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> Element? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> Element? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> Element? { + @inlinable final public func item(index: UInt32) -> Element? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> Element? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: String) -> Element? { jsObject[key].fromJSValue() } - @inlinable public func namedItem(name: String) -> Element? { + @inlinable final public func namedItem(name: String) -> Element? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } } public class HTMLDListElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDListElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLDListElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var compact: Bool + @inlinable public var compact: Bool { + get { jsObject[Strings.compact].fromJSValue()! } + set { jsObject[Strings.compact] = _toJSValue(newValue) } + } } public class HTMLDataElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDataElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLDataElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } } public class HTMLDataListElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDataListElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _options = ReadonlyAttribute(jsObject: jsObject, name: Strings.options) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLDataListElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var options: HTMLCollection + @inlinable public var options: HTMLCollection { jsObject[Strings.options].fromJSValue()! } } public class HTMLDetailsElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDetailsElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _open = ReadWriteAttribute(jsObject: jsObject, name: Strings.open) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLDetailsElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var open: Bool + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var open: Bool { + get { jsObject[Strings.open].fromJSValue()! } + set { jsObject[Strings.open] = _toJSValue(newValue) } + } } public class HTMLDialogElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDialogElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _open = ReadWriteAttribute(jsObject: jsObject, name: Strings.open) - _returnValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.returnValue) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLDialogElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var open: Bool + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var returnValue: String + @inlinable public var open: Bool { + get { jsObject[Strings.open].fromJSValue()! } + set { jsObject[Strings.open] = _toJSValue(newValue) } + } + + @inlinable public var returnValue: String { + get { jsObject[Strings.returnValue].fromJSValue()! } + set { jsObject[Strings.returnValue] = _toJSValue(newValue) } + } - @inlinable public func show() { + @inlinable final public func show() { let this = jsObject _ = this[Strings.show].function!(this: this, arguments: []) } - @inlinable public func showModal() { + @inlinable final public func showModal() { let this = jsObject _ = this[Strings.showModal].function!(this: this, arguments: []) } - @inlinable public func close(returnValue: String? = nil) { + @inlinable final public func close(returnValue: String? = nil) { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: [_toJSValue(returnValue)]) } } public class HTMLDirectoryElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDirectoryElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLDirectoryElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var compact: Bool + @inlinable public var compact: Bool { + get { jsObject[Strings.compact].fromJSValue()! } + set { jsObject[Strings.compact] = _toJSValue(newValue) } + } } public class HTMLDivElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDivElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLDivElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } } public class HTMLElement: Element, GlobalEventHandlers, ElementContentEditable, HTMLOrSVGElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _title = ReadWriteAttribute(jsObject: jsObject, name: Strings.title) - _lang = ReadWriteAttribute(jsObject: jsObject, name: Strings.lang) - _translate = ReadWriteAttribute(jsObject: jsObject, name: Strings.translate) - _dir = ReadWriteAttribute(jsObject: jsObject, name: Strings.dir) - _hidden = ReadWriteAttribute(jsObject: jsObject, name: Strings.hidden) - _inert = ReadWriteAttribute(jsObject: jsObject, name: Strings.inert) - _accessKey = ReadWriteAttribute(jsObject: jsObject, name: Strings.accessKey) - _accessKeyLabel = ReadonlyAttribute(jsObject: jsObject, name: Strings.accessKeyLabel) - _draggable = ReadWriteAttribute(jsObject: jsObject, name: Strings.draggable) - _spellcheck = ReadWriteAttribute(jsObject: jsObject, name: Strings.spellcheck) - _autocapitalize = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocapitalize) - _innerText = ReadWriteAttribute(jsObject: jsObject, name: Strings.innerText) - _outerText = ReadWriteAttribute(jsObject: jsObject, name: Strings.outerText) - _popover = ReadWriteAttribute(jsObject: jsObject, name: Strings.popover) - _offsetParent = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetParent) - _offsetTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetTop) - _offsetLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetLeft) - _offsetWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetWidth) - _offsetHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetHeight) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var title: String + @inlinable public var title: String { + get { jsObject[Strings.title].fromJSValue()! } + set { jsObject[Strings.title] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var lang: String + @inlinable public var lang: String { + get { jsObject[Strings.lang].fromJSValue()! } + set { jsObject[Strings.lang] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var translate: Bool + @inlinable public var translate: Bool { + get { jsObject[Strings.translate].fromJSValue()! } + set { jsObject[Strings.translate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var dir: String + @inlinable public var dir: String { + get { jsObject[Strings.dir].fromJSValue()! } + set { jsObject[Strings.dir] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hidden: Bool_or_Double_or_String? + @inlinable public var hidden: Bool_or_Double_or_String? { + get { jsObject[Strings.hidden].fromJSValue() } + set { jsObject[Strings.hidden] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var inert: Bool + @inlinable public var inert: Bool { + get { jsObject[Strings.inert].fromJSValue()! } + set { jsObject[Strings.inert] = _toJSValue(newValue) } + } - @inlinable public func click() { + @inlinable final public func click() { let this = jsObject _ = this[Strings.click].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var accessKey: String + @inlinable public var accessKey: String { + get { jsObject[Strings.accessKey].fromJSValue()! } + set { jsObject[Strings.accessKey] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var accessKeyLabel: String + @inlinable public var accessKeyLabel: String { jsObject[Strings.accessKeyLabel].fromJSValue()! } - @ReadWriteAttribute - public var draggable: Bool + @inlinable public var draggable: Bool { + get { jsObject[Strings.draggable].fromJSValue()! } + set { jsObject[Strings.draggable] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var spellcheck: Bool + @inlinable public var spellcheck: Bool { + get { jsObject[Strings.spellcheck].fromJSValue()! } + set { jsObject[Strings.spellcheck] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var autocapitalize: String + @inlinable public var autocapitalize: String { + get { jsObject[Strings.autocapitalize].fromJSValue()! } + set { jsObject[Strings.autocapitalize] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var innerText: String + @inlinable public var innerText: String { + get { jsObject[Strings.innerText].fromJSValue()! } + set { jsObject[Strings.innerText] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var outerText: String + @inlinable public var outerText: String { + get { jsObject[Strings.outerText].fromJSValue()! } + set { jsObject[Strings.outerText] = _toJSValue(newValue) } + } - @inlinable public func attachInternals() -> ElementInternals { + @inlinable final public func attachInternals() -> ElementInternals { let this = jsObject return this[Strings.attachInternals].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func showPopover() { + @inlinable final public func showPopover() { let this = jsObject _ = this[Strings.showPopover].function!(this: this, arguments: []) } - @inlinable public func hidePopover() { + @inlinable final public func hidePopover() { let this = jsObject _ = this[Strings.hidePopover].function!(this: this, arguments: []) } - @inlinable public func togglePopover(force: Bool? = nil) -> Bool { + @inlinable final public func togglePopover(force: Bool? = nil) -> Bool { let this = jsObject return this[Strings.togglePopover].function!(this: this, arguments: [_toJSValue(force)]).fromJSValue()! } - @ReadWriteAttribute - public var popover: String? + @inlinable public var popover: String? { + get { jsObject[Strings.popover].fromJSValue() } + set { jsObject[Strings.popover] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var offsetParent: Element? + @inlinable public var offsetParent: Element? { jsObject[Strings.offsetParent].fromJSValue() } - @ReadonlyAttribute - public var offsetTop: Int32 + @inlinable public var offsetTop: Int32 { jsObject[Strings.offsetTop].fromJSValue()! } - @ReadonlyAttribute - public var offsetLeft: Int32 + @inlinable public var offsetLeft: Int32 { jsObject[Strings.offsetLeft].fromJSValue()! } - @ReadonlyAttribute - public var offsetWidth: Int32 + @inlinable public var offsetWidth: Int32 { jsObject[Strings.offsetWidth].fromJSValue()! } - @ReadonlyAttribute - public var offsetHeight: Int32 + @inlinable public var offsetHeight: Int32 { jsObject[Strings.offsetHeight].fromJSValue()! } } public class HTMLEmbedElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLEmbedElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLEmbedElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: String + @inlinable public var height: String { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @inlinable public func getSVGDocument() -> Document? { + @inlinable final public func getSVGDocument() -> Document? { let this = jsObject return this[Strings.getSVGDocument].function!(this: this, arguments: []).fromJSValue() } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } } public class HTMLFieldSetElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFieldSetElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _elements = ReadonlyAttribute(jsObject: jsObject, name: Strings.elements) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLFieldSetElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var elements: HTMLCollection + @inlinable public var elements: HTMLCollection { jsObject[Strings.elements].fromJSValue()! } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } } public class HTMLFontElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFontElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLFontElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _color = ReadWriteAttribute(jsObject: jsObject, name: Strings.color) - _face = ReadWriteAttribute(jsObject: jsObject, name: Strings.face) - _size = ReadWriteAttribute(jsObject: jsObject, name: Strings.size) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var color: String + @inlinable public var color: String { + get { jsObject[Strings.color].fromJSValue()! } + set { jsObject[Strings.color] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var face: String + @inlinable public var face: String { + get { jsObject[Strings.face].fromJSValue()! } + set { jsObject[Strings.face] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var size: String + @inlinable public var size: String { + get { jsObject[Strings.size].fromJSValue()! } + set { jsObject[Strings.size] = _toJSValue(newValue) } + } } public class HTMLFormControlsCollection: HTMLCollection { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFormControlsCollection].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLFormControlsCollection].function } - @inlinable public subscript(key: String) -> Element_or_RadioNodeList? { - jsObject[key].fromJSValue() - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public subscript(key: String) -> Element_or_RadioNodeList? { jsObject[key].fromJSValue() } - // `override` removed since the superclass returns a more constrained type `Element` - @inlinable func namedItem(name: String) -> Element_or_RadioNodeList? { - let this = jsObject - return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() - } } public class HTMLFormElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFormElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLFormElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _acceptCharset = ReadWriteAttribute(jsObject: jsObject, name: Strings.acceptCharset) - _action = ReadWriteAttribute(jsObject: jsObject, name: Strings.action) - _autocomplete = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocomplete) - _enctype = ReadWriteAttribute(jsObject: jsObject, name: Strings.enctype) - _encoding = ReadWriteAttribute(jsObject: jsObject, name: Strings.encoding) - _method = ReadWriteAttribute(jsObject: jsObject, name: Strings.method) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _noValidate = ReadWriteAttribute(jsObject: jsObject, name: Strings.noValidate) - _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) - _rel = ReadWriteAttribute(jsObject: jsObject, name: Strings.rel) - _relList = ReadonlyAttribute(jsObject: jsObject, name: Strings.relList) - _elements = ReadonlyAttribute(jsObject: jsObject, name: Strings.elements) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var acceptCharset: String + @inlinable public var acceptCharset: String { + get { jsObject[Strings.acceptCharset].fromJSValue()! } + set { jsObject[Strings.acceptCharset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var action: String + @inlinable public var action: String { + get { jsObject[Strings.action].fromJSValue()! } + set { jsObject[Strings.action] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var autocomplete: String + @inlinable public var autocomplete: String { + get { jsObject[Strings.autocomplete].fromJSValue()! } + set { jsObject[Strings.autocomplete] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var enctype: String + @inlinable public var enctype: String { + get { jsObject[Strings.enctype].fromJSValue()! } + set { jsObject[Strings.enctype] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var encoding: String + @inlinable public var encoding: String { + get { jsObject[Strings.encoding].fromJSValue()! } + set { jsObject[Strings.encoding] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var method: String + @inlinable public var method: String { + get { jsObject[Strings.method].fromJSValue()! } + set { jsObject[Strings.method] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var noValidate: Bool + @inlinable public var noValidate: Bool { + get { jsObject[Strings.noValidate].fromJSValue()! } + set { jsObject[Strings.noValidate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var target: String + @inlinable public var target: String { + get { jsObject[Strings.target].fromJSValue()! } + set { jsObject[Strings.target] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rel: String + @inlinable public var rel: String { + get { jsObject[Strings.rel].fromJSValue()! } + set { jsObject[Strings.rel] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var relList: DOMTokenList + @inlinable public var relList: DOMTokenList { jsObject[Strings.relList].fromJSValue()! } - @ReadonlyAttribute - public var elements: HTMLFormControlsCollection + @inlinable public var elements: HTMLFormControlsCollection { jsObject[Strings.elements].fromJSValue()! } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> Element { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> Element { jsObject[key].fromJSValue()! } - @inlinable public subscript(key: String) -> Element_or_RadioNodeList { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: String) -> Element_or_RadioNodeList { jsObject[key].fromJSValue()! } - @inlinable public func submit() { + @inlinable final public func submit() { let this = jsObject _ = this[Strings.submit].function!(this: this, arguments: []) } - @inlinable public func requestSubmit(submitter: HTMLElement? = nil) { + @inlinable final public func requestSubmit(submitter: HTMLElement? = nil) { let this = jsObject _ = this[Strings.requestSubmit].function!(this: this, arguments: [_toJSValue(submitter)]) } - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } } public class HTMLFrameElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFrameElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLFrameElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _scrolling = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrolling) - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _frameBorder = ReadWriteAttribute(jsObject: jsObject, name: Strings.frameBorder) - _longDesc = ReadWriteAttribute(jsObject: jsObject, name: Strings.longDesc) - _noResize = ReadWriteAttribute(jsObject: jsObject, name: Strings.noResize) - _contentDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentDocument) - _contentWindow = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentWindow) - _marginHeight = ReadWriteAttribute(jsObject: jsObject, name: Strings.marginHeight) - _marginWidth = ReadWriteAttribute(jsObject: jsObject, name: Strings.marginWidth) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var scrolling: String + @inlinable public var scrolling: String { + get { jsObject[Strings.scrolling].fromJSValue()! } + set { jsObject[Strings.scrolling] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var frameBorder: String + @inlinable public var frameBorder: String { + get { jsObject[Strings.frameBorder].fromJSValue()! } + set { jsObject[Strings.frameBorder] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var longDesc: String + @inlinable public var longDesc: String { + get { jsObject[Strings.longDesc].fromJSValue()! } + set { jsObject[Strings.longDesc] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var noResize: Bool + @inlinable public var noResize: Bool { + get { jsObject[Strings.noResize].fromJSValue()! } + set { jsObject[Strings.noResize] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var contentDocument: Document? + @inlinable public var contentDocument: Document? { jsObject[Strings.contentDocument].fromJSValue() } - @ReadonlyAttribute - public var contentWindow: WindowProxy? + @inlinable public var contentWindow: WindowProxy? { jsObject[Strings.contentWindow].fromJSValue() } - @ReadWriteAttribute - public var marginHeight: String + @inlinable public var marginHeight: String { + get { jsObject[Strings.marginHeight].fromJSValue()! } + set { jsObject[Strings.marginHeight] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var marginWidth: String + @inlinable public var marginWidth: String { + get { jsObject[Strings.marginWidth].fromJSValue()! } + set { jsObject[Strings.marginWidth] = _toJSValue(newValue) } + } } public class HTMLFrameSetElement: HTMLElement, WindowEventHandlers { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFrameSetElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _cols = ReadWriteAttribute(jsObject: jsObject, name: Strings.cols) - _rows = ReadWriteAttribute(jsObject: jsObject, name: Strings.rows) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLFrameSetElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var cols: String + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var rows: String + @inlinable public var cols: String { + get { jsObject[Strings.cols].fromJSValue()! } + set { jsObject[Strings.cols] = _toJSValue(newValue) } + } + + @inlinable public var rows: String { + get { jsObject[Strings.rows].fromJSValue()! } + set { jsObject[Strings.rows] = _toJSValue(newValue) } + } } public class HTMLHRElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLHRElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLHRElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _color = ReadWriteAttribute(jsObject: jsObject, name: Strings.color) - _noShade = ReadWriteAttribute(jsObject: jsObject, name: Strings.noShade) - _size = ReadWriteAttribute(jsObject: jsObject, name: Strings.size) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var color: String + @inlinable public var color: String { + get { jsObject[Strings.color].fromJSValue()! } + set { jsObject[Strings.color] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var noShade: Bool + @inlinable public var noShade: Bool { + get { jsObject[Strings.noShade].fromJSValue()! } + set { jsObject[Strings.noShade] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var size: String + @inlinable public var size: String { + get { jsObject[Strings.size].fromJSValue()! } + set { jsObject[Strings.size] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } } public class HTMLHeadElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLHeadElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLHeadElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } } public class HTMLHeadingElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLHeadingElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLHeadingElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var align: String + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } } public class HTMLHtmlElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLHtmlElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLHtmlElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _version = ReadWriteAttribute(jsObject: jsObject, name: Strings.version) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var version: String + @inlinable public var version: String { + get { jsObject[Strings.version].fromJSValue()! } + set { jsObject[Strings.version] = _toJSValue(newValue) } + } } public protocol HTMLHyperlinkElementUtils: JSBridgedClass {} -public extension HTMLHyperlinkElementUtils { - @inlinable var href: String { +extension HTMLHyperlinkElementUtils { + @inlinable public var href: String { get { jsObject[Strings.href].fromJSValue()! } - nonmutating set { jsObject[Strings.href] = _toJSValue(newValue) } + set { jsObject[Strings.href] = _toJSValue(newValue) } } - @inlinable var origin: String { jsObject[Strings.origin].fromJSValue()! } + @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } - @inlinable var `protocol`: String { - get { jsObject[Strings.protocol].fromJSValue()! } - nonmutating set { jsObject[Strings.protocol] = _toJSValue(newValue) } + @inlinable public var `protocol`: String { + get { jsObject[Strings.`protocol`].fromJSValue()! } + set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } } - @inlinable var username: String { + @inlinable public var username: String { get { jsObject[Strings.username].fromJSValue()! } - nonmutating set { jsObject[Strings.username] = _toJSValue(newValue) } + set { jsObject[Strings.username] = _toJSValue(newValue) } } - @inlinable var password: String { + @inlinable public var password: String { get { jsObject[Strings.password].fromJSValue()! } - nonmutating set { jsObject[Strings.password] = _toJSValue(newValue) } + set { jsObject[Strings.password] = _toJSValue(newValue) } } - @inlinable var host: String { + @inlinable public var host: String { get { jsObject[Strings.host].fromJSValue()! } - nonmutating set { jsObject[Strings.host] = _toJSValue(newValue) } + set { jsObject[Strings.host] = _toJSValue(newValue) } } - @inlinable var hostname: String { + @inlinable public var hostname: String { get { jsObject[Strings.hostname].fromJSValue()! } - nonmutating set { jsObject[Strings.hostname] = _toJSValue(newValue) } + set { jsObject[Strings.hostname] = _toJSValue(newValue) } } - @inlinable var port: String { + @inlinable public var port: String { get { jsObject[Strings.port].fromJSValue()! } - nonmutating set { jsObject[Strings.port] = _toJSValue(newValue) } + set { jsObject[Strings.port] = _toJSValue(newValue) } } - @inlinable var pathname: String { + @inlinable public var pathname: String { get { jsObject[Strings.pathname].fromJSValue()! } - nonmutating set { jsObject[Strings.pathname] = _toJSValue(newValue) } + set { jsObject[Strings.pathname] = _toJSValue(newValue) } } - @inlinable var search: String { + @inlinable public var search: String { get { jsObject[Strings.search].fromJSValue()! } - nonmutating set { jsObject[Strings.search] = _toJSValue(newValue) } + set { jsObject[Strings.search] = _toJSValue(newValue) } } - @inlinable var hash: String { + @inlinable public var hash: String { get { jsObject[Strings.hash].fromJSValue()! } - nonmutating set { jsObject[Strings.hash] = _toJSValue(newValue) } + set { jsObject[Strings.hash] = _toJSValue(newValue) } } } - public class HTMLIFrameElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLIFrameElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _srcdoc = ReadWriteAttribute(jsObject: jsObject, name: Strings.srcdoc) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _sandbox = ReadonlyAttribute(jsObject: jsObject, name: Strings.sandbox) - _allow = ReadWriteAttribute(jsObject: jsObject, name: Strings.allow) - _allowFullscreen = ReadWriteAttribute(jsObject: jsObject, name: Strings.allowFullscreen) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _loading = ReadWriteAttribute(jsObject: jsObject, name: Strings.loading) - _contentDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentDocument) - _contentWindow = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentWindow) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _scrolling = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrolling) - _frameBorder = ReadWriteAttribute(jsObject: jsObject, name: Strings.frameBorder) - _longDesc = ReadWriteAttribute(jsObject: jsObject, name: Strings.longDesc) - _marginHeight = ReadWriteAttribute(jsObject: jsObject, name: Strings.marginHeight) - _marginWidth = ReadWriteAttribute(jsObject: jsObject, name: Strings.marginWidth) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLIFrameElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var src: String + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var srcdoc: String + @inlinable public var srcdoc: String { + get { jsObject[Strings.srcdoc].fromJSValue()! } + set { jsObject[Strings.srcdoc] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var sandbox: DOMTokenList + @inlinable public var sandbox: DOMTokenList { jsObject[Strings.sandbox].fromJSValue()! } - @ReadWriteAttribute - public var allow: String + @inlinable public var allow: String { + get { jsObject[Strings.allow].fromJSValue()! } + set { jsObject[Strings.allow] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var allowFullscreen: Bool + @inlinable public var allowFullscreen: Bool { + get { jsObject[Strings.allowFullscreen].fromJSValue()! } + set { jsObject[Strings.allowFullscreen] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: String + @inlinable public var height: String { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var referrerPolicy: String + @inlinable public var referrerPolicy: String { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var loading: String + @inlinable public var loading: String { + get { jsObject[Strings.loading].fromJSValue()! } + set { jsObject[Strings.loading] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var contentDocument: Document? + @inlinable public var contentDocument: Document? { jsObject[Strings.contentDocument].fromJSValue() } - @ReadonlyAttribute - public var contentWindow: WindowProxy? + @inlinable public var contentWindow: WindowProxy? { jsObject[Strings.contentWindow].fromJSValue() } - @inlinable public func getSVGDocument() -> Document? { + @inlinable final public func getSVGDocument() -> Document? { let this = jsObject return this[Strings.getSVGDocument].function!(this: this, arguments: []).fromJSValue() } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var scrolling: String + @inlinable public var scrolling: String { + get { jsObject[Strings.scrolling].fromJSValue()! } + set { jsObject[Strings.scrolling] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var frameBorder: String + @inlinable public var frameBorder: String { + get { jsObject[Strings.frameBorder].fromJSValue()! } + set { jsObject[Strings.frameBorder] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var longDesc: String + @inlinable public var longDesc: String { + get { jsObject[Strings.longDesc].fromJSValue()! } + set { jsObject[Strings.longDesc] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var marginHeight: String + @inlinable public var marginHeight: String { + get { jsObject[Strings.marginHeight].fromJSValue()! } + set { jsObject[Strings.marginHeight] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var marginWidth: String + @inlinable public var marginWidth: String { + get { jsObject[Strings.marginWidth].fromJSValue()! } + set { jsObject[Strings.marginWidth] = _toJSValue(newValue) } + } } public class HTMLImageElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLImageElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLImageElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _alt = ReadWriteAttribute(jsObject: jsObject, name: Strings.alt) - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _srcset = ReadWriteAttribute(jsObject: jsObject, name: Strings.srcset) - _sizes = ReadWriteAttribute(jsObject: jsObject, name: Strings.sizes) - _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) - _useMap = ReadWriteAttribute(jsObject: jsObject, name: Strings.useMap) - _isMap = ReadWriteAttribute(jsObject: jsObject, name: Strings.isMap) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _naturalWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.naturalWidth) - _naturalHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.naturalHeight) - _complete = ReadonlyAttribute(jsObject: jsObject, name: Strings.complete) - _currentSrc = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentSrc) - _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _decoding = ReadWriteAttribute(jsObject: jsObject, name: Strings.decoding) - _loading = ReadWriteAttribute(jsObject: jsObject, name: Strings.loading) - _fetchPriority = ReadWriteAttribute(jsObject: jsObject, name: Strings.fetchPriority) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _lowsrc = ReadWriteAttribute(jsObject: jsObject, name: Strings.lowsrc) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _hspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.hspace) - _vspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.vspace) - _longDesc = ReadWriteAttribute(jsObject: jsObject, name: Strings.longDesc) - _border = ReadWriteAttribute(jsObject: jsObject, name: Strings.border) - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var alt: String + @inlinable public var alt: String { + get { jsObject[Strings.alt].fromJSValue()! } + set { jsObject[Strings.alt] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var srcset: String + @inlinable public var srcset: String { + get { jsObject[Strings.srcset].fromJSValue()! } + set { jsObject[Strings.srcset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var sizes: String + @inlinable public var sizes: String { + get { jsObject[Strings.sizes].fromJSValue()! } + set { jsObject[Strings.sizes] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var crossOrigin: String? + @inlinable public var crossOrigin: String? { + get { jsObject[Strings.crossOrigin].fromJSValue() } + set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var useMap: String + @inlinable public var useMap: String { + get { jsObject[Strings.useMap].fromJSValue()! } + set { jsObject[Strings.useMap] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var isMap: Bool + @inlinable public var isMap: Bool { + get { jsObject[Strings.isMap].fromJSValue()! } + set { jsObject[Strings.isMap] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: UInt32 + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: UInt32 + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var naturalWidth: UInt32 + @inlinable public var naturalWidth: UInt32 { jsObject[Strings.naturalWidth].fromJSValue()! } - @ReadonlyAttribute - public var naturalHeight: UInt32 + @inlinable public var naturalHeight: UInt32 { jsObject[Strings.naturalHeight].fromJSValue()! } - @ReadonlyAttribute - public var complete: Bool + @inlinable public var complete: Bool { jsObject[Strings.complete].fromJSValue()! } - @ReadonlyAttribute - public var currentSrc: String + @inlinable public var currentSrc: String { jsObject[Strings.currentSrc].fromJSValue()! } - @ReadWriteAttribute - public var referrerPolicy: String + @inlinable public var referrerPolicy: String { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var decoding: String + @inlinable public var decoding: String { + get { jsObject[Strings.decoding].fromJSValue()! } + set { jsObject[Strings.decoding] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var loading: String + @inlinable public var loading: String { + get { jsObject[Strings.loading].fromJSValue()! } + set { jsObject[Strings.loading] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var fetchPriority: String + @inlinable public var fetchPriority: String { + get { jsObject[Strings.fetchPriority].fromJSValue()! } + set { jsObject[Strings.fetchPriority] = _toJSValue(newValue) } + } - @inlinable public func decode() -> JSPromise { + @inlinable final public func decode() -> JSPromise { let this = jsObject return this[Strings.decode].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func decode() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.decode].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func decode() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.decode].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var lowsrc: String + @inlinable public var lowsrc: String { + get { jsObject[Strings.lowsrc].fromJSValue()! } + set { jsObject[Strings.lowsrc] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hspace: UInt32 + @inlinable public var hspace: UInt32 { + get { jsObject[Strings.hspace].fromJSValue()! } + set { jsObject[Strings.hspace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vspace: UInt32 + @inlinable public var vspace: UInt32 { + get { jsObject[Strings.vspace].fromJSValue()! } + set { jsObject[Strings.vspace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var longDesc: String + @inlinable public var longDesc: String { + get { jsObject[Strings.longDesc].fromJSValue()! } + set { jsObject[Strings.longDesc] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var border: String + @inlinable public var border: String { + get { jsObject[Strings.border].fromJSValue()! } + set { jsObject[Strings.border] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var x: Int32 + @inlinable public var x: Int32 { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var y: Int32 + @inlinable public var y: Int32 { jsObject[Strings.y].fromJSValue()! } } public class HTMLInputElement: HTMLElement, PopoverInvokerElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLInputElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _accept = ReadWriteAttribute(jsObject: jsObject, name: Strings.accept) - _alt = ReadWriteAttribute(jsObject: jsObject, name: Strings.alt) - _autocomplete = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocomplete) - _defaultChecked = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultChecked) - _checked = ReadWriteAttribute(jsObject: jsObject, name: Strings.checked) - _dirName = ReadWriteAttribute(jsObject: jsObject, name: Strings.dirName) - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _files = ReadWriteAttribute(jsObject: jsObject, name: Strings.files) - _formAction = ReadWriteAttribute(jsObject: jsObject, name: Strings.formAction) - _formEnctype = ReadWriteAttribute(jsObject: jsObject, name: Strings.formEnctype) - _formMethod = ReadWriteAttribute(jsObject: jsObject, name: Strings.formMethod) - _formNoValidate = ReadWriteAttribute(jsObject: jsObject, name: Strings.formNoValidate) - _formTarget = ReadWriteAttribute(jsObject: jsObject, name: Strings.formTarget) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _indeterminate = ReadWriteAttribute(jsObject: jsObject, name: Strings.indeterminate) - _list = ReadonlyAttribute(jsObject: jsObject, name: Strings.list) - _max = ReadWriteAttribute(jsObject: jsObject, name: Strings.max) - _maxLength = ReadWriteAttribute(jsObject: jsObject, name: Strings.maxLength) - _min = ReadWriteAttribute(jsObject: jsObject, name: Strings.min) - _minLength = ReadWriteAttribute(jsObject: jsObject, name: Strings.minLength) - _multiple = ReadWriteAttribute(jsObject: jsObject, name: Strings.multiple) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _pattern = ReadWriteAttribute(jsObject: jsObject, name: Strings.pattern) - _placeholder = ReadWriteAttribute(jsObject: jsObject, name: Strings.placeholder) - _readOnly = ReadWriteAttribute(jsObject: jsObject, name: Strings.readOnly) - _required = ReadWriteAttribute(jsObject: jsObject, name: Strings.required) - _size = ReadWriteAttribute(jsObject: jsObject, name: Strings.size) - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _step = ReadWriteAttribute(jsObject: jsObject, name: Strings.step) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _defaultValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultValue) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _valueAsDate = ReadWriteAttribute(jsObject: jsObject, name: Strings.valueAsDate) - _valueAsNumber = ReadWriteAttribute(jsObject: jsObject, name: Strings.valueAsNumber) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - _selectionStart = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionStart) - _selectionEnd = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionEnd) - _selectionDirection = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionDirection) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _useMap = ReadWriteAttribute(jsObject: jsObject, name: Strings.useMap) - super.init(unsafelyWrapping: jsObject) - } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLInputElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var accept: String + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var alt: String + @inlinable public var accept: String { + get { jsObject[Strings.accept].fromJSValue()! } + set { jsObject[Strings.accept] = _toJSValue(newValue) } + } + + @inlinable public var alt: String { + get { jsObject[Strings.alt].fromJSValue()! } + set { jsObject[Strings.alt] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var autocomplete: String + @inlinable public var autocomplete: String { + get { jsObject[Strings.autocomplete].fromJSValue()! } + set { jsObject[Strings.autocomplete] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var defaultChecked: Bool + @inlinable public var defaultChecked: Bool { + get { jsObject[Strings.defaultChecked].fromJSValue()! } + set { jsObject[Strings.defaultChecked] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var checked: Bool + @inlinable public var checked: Bool { + get { jsObject[Strings.checked].fromJSValue()! } + set { jsObject[Strings.checked] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var dirName: String + @inlinable public var dirName: String { + get { jsObject[Strings.dirName].fromJSValue()! } + set { jsObject[Strings.dirName] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var files: FileList? + @inlinable public var files: FileList? { + get { jsObject[Strings.files].fromJSValue() } + set { jsObject[Strings.files] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formAction: String + @inlinable public var formAction: String { + get { jsObject[Strings.formAction].fromJSValue()! } + set { jsObject[Strings.formAction] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formEnctype: String + @inlinable public var formEnctype: String { + get { jsObject[Strings.formEnctype].fromJSValue()! } + set { jsObject[Strings.formEnctype] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formMethod: String + @inlinable public var formMethod: String { + get { jsObject[Strings.formMethod].fromJSValue()! } + set { jsObject[Strings.formMethod] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formNoValidate: Bool + @inlinable public var formNoValidate: Bool { + get { jsObject[Strings.formNoValidate].fromJSValue()! } + set { jsObject[Strings.formNoValidate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formTarget: String + @inlinable public var formTarget: String { + get { jsObject[Strings.formTarget].fromJSValue()! } + set { jsObject[Strings.formTarget] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: UInt32 + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var indeterminate: Bool + @inlinable public var indeterminate: Bool { + get { jsObject[Strings.indeterminate].fromJSValue()! } + set { jsObject[Strings.indeterminate] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var list: HTMLDataListElement? + @inlinable public var list: HTMLDataListElement? { jsObject[Strings.list].fromJSValue() } - @ReadWriteAttribute - public var max: String + @inlinable public var max: String { + get { jsObject[Strings.max].fromJSValue()! } + set { jsObject[Strings.max] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var maxLength: Int32 + @inlinable public var maxLength: Int32 { + get { jsObject[Strings.maxLength].fromJSValue()! } + set { jsObject[Strings.maxLength] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var min: String + @inlinable public var min: String { + get { jsObject[Strings.min].fromJSValue()! } + set { jsObject[Strings.min] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var minLength: Int32 + @inlinable public var minLength: Int32 { + get { jsObject[Strings.minLength].fromJSValue()! } + set { jsObject[Strings.minLength] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var multiple: Bool + @inlinable public var multiple: Bool { + get { jsObject[Strings.multiple].fromJSValue()! } + set { jsObject[Strings.multiple] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var pattern: String + @inlinable public var pattern: String { + get { jsObject[Strings.pattern].fromJSValue()! } + set { jsObject[Strings.pattern] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var placeholder: String + @inlinable public var placeholder: String { + get { jsObject[Strings.placeholder].fromJSValue()! } + set { jsObject[Strings.placeholder] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var readOnly: Bool + @inlinable public var readOnly: Bool { + get { jsObject[Strings.readOnly].fromJSValue()! } + set { jsObject[Strings.readOnly] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var required: Bool + @inlinable public var required: Bool { + get { jsObject[Strings.required].fromJSValue()! } + set { jsObject[Strings.required] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var size: UInt32 + @inlinable public var size: UInt32 { + get { jsObject[Strings.size].fromJSValue()! } + set { jsObject[Strings.size] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var step: String + @inlinable public var step: String { + get { jsObject[Strings.step].fromJSValue()! } + set { jsObject[Strings.step] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var defaultValue: String + @inlinable public var defaultValue: String { + get { jsObject[Strings.defaultValue].fromJSValue()! } + set { jsObject[Strings.defaultValue] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var valueAsDate: JSObject? + @inlinable public var valueAsDate: JSObject? { + get { jsObject[Strings.valueAsDate].fromJSValue() } + set { jsObject[Strings.valueAsDate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var valueAsNumber: Double + @inlinable public var valueAsNumber: Double { + get { jsObject[Strings.valueAsNumber].fromJSValue()! } + set { jsObject[Strings.valueAsNumber] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: UInt32 + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @inlinable public func stepUp(n: Int32? = nil) { + @inlinable final public func stepUp(n: Int32? = nil) { let this = jsObject _ = this[Strings.stepUp].function!(this: this, arguments: [_toJSValue(n)]) } - @inlinable public func stepDown(n: Int32? = nil) { + @inlinable final public func stepDown(n: Int32? = nil) { let this = jsObject _ = this[Strings.stepDown].function!(this: this, arguments: [_toJSValue(n)]) } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @ReadonlyAttribute - public var labels: NodeList? + @inlinable public var labels: NodeList? { jsObject[Strings.labels].fromJSValue() } - @inlinable public func select() { + @inlinable final public func select() { let this = jsObject _ = this[Strings.select].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var selectionStart: UInt32? + @inlinable public var selectionStart: UInt32? { + get { jsObject[Strings.selectionStart].fromJSValue() } + set { jsObject[Strings.selectionStart] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var selectionEnd: UInt32? + @inlinable public var selectionEnd: UInt32? { + get { jsObject[Strings.selectionEnd].fromJSValue() } + set { jsObject[Strings.selectionEnd] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var selectionDirection: String? + @inlinable public var selectionDirection: String? { + get { jsObject[Strings.selectionDirection].fromJSValue() } + set { jsObject[Strings.selectionDirection] = _toJSValue(newValue) } + } - @inlinable public func setRangeText(replacement: String) { + @inlinable final public func setRangeText(replacement: String) { let this = jsObject _ = this[Strings.setRangeText].function!(this: this, arguments: [_toJSValue(replacement)]) } - @inlinable public func setRangeText(replacement: String, start: UInt32, end: UInt32, selectionMode: SelectionMode? = nil) { + @inlinable final public func setRangeText( + replacement: String, + start: UInt32, + end: UInt32, + selectionMode: SelectionMode? = nil + ) { let this = jsObject - _ = this[Strings.setRangeText].function!(this: this, arguments: [_toJSValue(replacement), _toJSValue(start), _toJSValue(end), _toJSValue(selectionMode)]) + _ = this[Strings.setRangeText].function!( + this: this, + arguments: [_toJSValue(replacement), _toJSValue(start), _toJSValue(end), _toJSValue(selectionMode)] + ) } - @inlinable public func setSelectionRange(start: UInt32, end: UInt32, direction: String? = nil) { + @inlinable final public func setSelectionRange(start: UInt32, end: UInt32, direction: String? = nil) { let this = jsObject - _ = this[Strings.setSelectionRange].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(direction)]) + _ = this[Strings.setSelectionRange].function!( + this: this, + arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(direction)] + ) } - @inlinable public func showPicker() { + @inlinable final public func showPicker() { let this = jsObject _ = this[Strings.showPicker].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var useMap: String + @inlinable public var useMap: String { + get { jsObject[Strings.useMap].fromJSValue()! } + set { jsObject[Strings.useMap] = _toJSValue(newValue) } + } } public class HTMLLIElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLLIElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLLIElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var value: Int32 + @inlinable public var value: Int32 { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } } public class HTMLLabelElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLLabelElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLLabelElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _htmlFor = ReadWriteAttribute(jsObject: jsObject, name: Strings.htmlFor) - _control = ReadonlyAttribute(jsObject: jsObject, name: Strings.control) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var htmlFor: String + @inlinable public var htmlFor: String { + get { jsObject[Strings.htmlFor].fromJSValue()! } + set { jsObject[Strings.htmlFor] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var control: HTMLElement? + @inlinable public var control: HTMLElement? { jsObject[Strings.control].fromJSValue() } } public class HTMLLegendElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLLegendElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLLegendElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } } public class HTMLLinkElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLLinkElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLLinkElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _href = ReadWriteAttribute(jsObject: jsObject, name: Strings.href) - _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) - _rel = ReadWriteAttribute(jsObject: jsObject, name: Strings.rel) - _as = ReadWriteAttribute(jsObject: jsObject, name: Strings.as) - _relList = ReadonlyAttribute(jsObject: jsObject, name: Strings.relList) - _media = ReadWriteAttribute(jsObject: jsObject, name: Strings.media) - _integrity = ReadWriteAttribute(jsObject: jsObject, name: Strings.integrity) - _hreflang = ReadWriteAttribute(jsObject: jsObject, name: Strings.hreflang) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _sizes = ReadonlyAttribute(jsObject: jsObject, name: Strings.sizes) - _imageSrcset = ReadWriteAttribute(jsObject: jsObject, name: Strings.imageSrcset) - _imageSizes = ReadWriteAttribute(jsObject: jsObject, name: Strings.imageSizes) - _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _blocking = ReadonlyAttribute(jsObject: jsObject, name: Strings.blocking) - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _fetchPriority = ReadWriteAttribute(jsObject: jsObject, name: Strings.fetchPriority) - _charset = ReadWriteAttribute(jsObject: jsObject, name: Strings.charset) - _rev = ReadWriteAttribute(jsObject: jsObject, name: Strings.rev) - _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var href: String + @inlinable public var href: String { + get { jsObject[Strings.href].fromJSValue()! } + set { jsObject[Strings.href] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var crossOrigin: String? + @inlinable public var crossOrigin: String? { + get { jsObject[Strings.crossOrigin].fromJSValue() } + set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rel: String + @inlinable public var rel: String { + get { jsObject[Strings.rel].fromJSValue()! } + set { jsObject[Strings.rel] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var `as`: String + @inlinable public var `as`: String { + get { jsObject[Strings.`as`].fromJSValue()! } + set { jsObject[Strings.`as`] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var relList: DOMTokenList + @inlinable public var relList: DOMTokenList { jsObject[Strings.relList].fromJSValue()! } - @ReadWriteAttribute - public var media: String + @inlinable public var media: String { + get { jsObject[Strings.media].fromJSValue()! } + set { jsObject[Strings.media] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var integrity: String + @inlinable public var integrity: String { + get { jsObject[Strings.integrity].fromJSValue()! } + set { jsObject[Strings.integrity] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hreflang: String + @inlinable public var hreflang: String { + get { jsObject[Strings.hreflang].fromJSValue()! } + set { jsObject[Strings.hreflang] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var sizes: DOMTokenList + @inlinable public var sizes: DOMTokenList { jsObject[Strings.sizes].fromJSValue()! } - @ReadWriteAttribute - public var imageSrcset: String + @inlinable public var imageSrcset: String { + get { jsObject[Strings.imageSrcset].fromJSValue()! } + set { jsObject[Strings.imageSrcset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var imageSizes: String + @inlinable public var imageSizes: String { + get { jsObject[Strings.imageSizes].fromJSValue()! } + set { jsObject[Strings.imageSizes] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var referrerPolicy: String + @inlinable public var referrerPolicy: String { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var blocking: DOMTokenList + @inlinable public var blocking: DOMTokenList { jsObject[Strings.blocking].fromJSValue()! } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var fetchPriority: String + @inlinable public var fetchPriority: String { + get { jsObject[Strings.fetchPriority].fromJSValue()! } + set { jsObject[Strings.fetchPriority] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var charset: String + @inlinable public var charset: String { + get { jsObject[Strings.charset].fromJSValue()! } + set { jsObject[Strings.charset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rev: String + @inlinable public var rev: String { + get { jsObject[Strings.rev].fromJSValue()! } + set { jsObject[Strings.rev] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var target: String + @inlinable public var target: String { + get { jsObject[Strings.target].fromJSValue()! } + set { jsObject[Strings.target] = _toJSValue(newValue) } + } } public class HTMLMapElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMapElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMapElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _areas = ReadonlyAttribute(jsObject: jsObject, name: Strings.areas) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var areas: HTMLCollection + @inlinable public var areas: HTMLCollection { jsObject[Strings.areas].fromJSValue()! } } public class HTMLMarqueeElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMarqueeElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _behavior = ReadWriteAttribute(jsObject: jsObject, name: Strings.behavior) - _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) - _direction = ReadWriteAttribute(jsObject: jsObject, name: Strings.direction) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _hspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.hspace) - _loop = ReadWriteAttribute(jsObject: jsObject, name: Strings.loop) - _scrollAmount = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollAmount) - _scrollDelay = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollDelay) - _trueSpeed = ReadWriteAttribute(jsObject: jsObject, name: Strings.trueSpeed) - _vspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.vspace) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLMarqueeElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var behavior: String + @inlinable public var behavior: String { + get { jsObject[Strings.behavior].fromJSValue()! } + set { jsObject[Strings.behavior] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var bgColor: String + @inlinable public var bgColor: String { + get { jsObject[Strings.bgColor].fromJSValue()! } + set { jsObject[Strings.bgColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var direction: String + @inlinable public var direction: String { + get { jsObject[Strings.direction].fromJSValue()! } + set { jsObject[Strings.direction] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: String + @inlinable public var height: String { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hspace: UInt32 + @inlinable public var hspace: UInt32 { + get { jsObject[Strings.hspace].fromJSValue()! } + set { jsObject[Strings.hspace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var loop: Int32 + @inlinable public var loop: Int32 { + get { jsObject[Strings.loop].fromJSValue()! } + set { jsObject[Strings.loop] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var scrollAmount: UInt32 + @inlinable public var scrollAmount: UInt32 { + get { jsObject[Strings.scrollAmount].fromJSValue()! } + set { jsObject[Strings.scrollAmount] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var scrollDelay: UInt32 + @inlinable public var scrollDelay: UInt32 { + get { jsObject[Strings.scrollDelay].fromJSValue()! } + set { jsObject[Strings.scrollDelay] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var trueSpeed: Bool + @inlinable public var trueSpeed: Bool { + get { jsObject[Strings.trueSpeed].fromJSValue()! } + set { jsObject[Strings.trueSpeed] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vspace: UInt32 + @inlinable public var vspace: UInt32 { + get { jsObject[Strings.vspace].fromJSValue()! } + set { jsObject[Strings.vspace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @inlinable public func start() { + @inlinable final public func start() { let this = jsObject _ = this[Strings.start].function!(this: this, arguments: []) } - @inlinable public func stop() { + @inlinable final public func stop() { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: []) } } public class HTMLMediaElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMediaElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _error = ReadonlyAttribute(jsObject: jsObject, name: Strings.error) - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _srcObject = ReadWriteAttribute(jsObject: jsObject, name: Strings.srcObject) - _currentSrc = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentSrc) - _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) - _networkState = ReadonlyAttribute(jsObject: jsObject, name: Strings.networkState) - _preload = ReadWriteAttribute(jsObject: jsObject, name: Strings.preload) - _buffered = ReadonlyAttribute(jsObject: jsObject, name: Strings.buffered) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _seeking = ReadonlyAttribute(jsObject: jsObject, name: Strings.seeking) - _currentTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.currentTime) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - _paused = ReadonlyAttribute(jsObject: jsObject, name: Strings.paused) - _defaultPlaybackRate = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultPlaybackRate) - _playbackRate = ReadWriteAttribute(jsObject: jsObject, name: Strings.playbackRate) - _preservesPitch = ReadWriteAttribute(jsObject: jsObject, name: Strings.preservesPitch) - _played = ReadonlyAttribute(jsObject: jsObject, name: Strings.played) - _seekable = ReadonlyAttribute(jsObject: jsObject, name: Strings.seekable) - _ended = ReadonlyAttribute(jsObject: jsObject, name: Strings.ended) - _autoplay = ReadWriteAttribute(jsObject: jsObject, name: Strings.autoplay) - _loop = ReadWriteAttribute(jsObject: jsObject, name: Strings.loop) - _controls = ReadWriteAttribute(jsObject: jsObject, name: Strings.controls) - _volume = ReadWriteAttribute(jsObject: jsObject, name: Strings.volume) - _muted = ReadWriteAttribute(jsObject: jsObject, name: Strings.muted) - _defaultMuted = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultMuted) - _audioTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioTracks) - _videoTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoTracks) - _textTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.textTracks) - super.init(unsafelyWrapping: jsObject) - } - - @ReadonlyAttribute - public var error: MediaError? - - @ReadWriteAttribute - public var src: String - - @ReadWriteAttribute - public var srcObject: MediaProvider? - - @ReadonlyAttribute - public var currentSrc: String - - @ReadWriteAttribute - public var crossOrigin: String? + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMediaElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var error: MediaError? { jsObject[Strings.error].fromJSValue() } + + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } + + @inlinable public var srcObject: MediaProvider? { + get { jsObject[Strings.srcObject].fromJSValue() } + set { jsObject[Strings.srcObject] = _toJSValue(newValue) } + } + + @inlinable public var currentSrc: String { jsObject[Strings.currentSrc].fromJSValue()! } + + @inlinable public var crossOrigin: String? { + get { jsObject[Strings.crossOrigin].fromJSValue() } + set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } + } public static let NETWORK_EMPTY: UInt16 = 0 @@ -8179,21 +9007,21 @@ public class HTMLMediaElement: HTMLElement { public static let NETWORK_NO_SOURCE: UInt16 = 3 - @ReadonlyAttribute - public var networkState: UInt16 + @inlinable public var networkState: UInt16 { jsObject[Strings.networkState].fromJSValue()! } - @ReadWriteAttribute - public var preload: String + @inlinable public var preload: String { + get { jsObject[Strings.preload].fromJSValue()! } + set { jsObject[Strings.preload] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var buffered: TimeRanges + @inlinable public var buffered: TimeRanges { jsObject[Strings.buffered].fromJSValue()! } - @inlinable public func load() { + @inlinable final public func load() { let this = jsObject _ = this[Strings.load].function!(this: this, arguments: []) } - @inlinable public func canPlayType(type: String) -> CanPlayTypeResult { + @inlinable final public func canPlayType(type: String) -> CanPlayTypeResult { let this = jsObject return this[Strings.canPlayType].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } @@ -8208,1539 +9036,1532 @@ public class HTMLMediaElement: HTMLElement { public static let HAVE_ENOUGH_DATA: UInt16 = 4 - @ReadonlyAttribute - public var readyState: UInt16 + @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } - @ReadonlyAttribute - public var seeking: Bool + @inlinable public var seeking: Bool { jsObject[Strings.seeking].fromJSValue()! } - @ReadWriteAttribute - public var currentTime: Double + @inlinable public var currentTime: Double { + get { jsObject[Strings.currentTime].fromJSValue()! } + set { jsObject[Strings.currentTime] = _toJSValue(newValue) } + } - @inlinable public func fastSeek(time: Double) { + @inlinable final public func fastSeek(time: Double) { let this = jsObject _ = this[Strings.fastSeek].function!(this: this, arguments: [_toJSValue(time)]) } - @ReadonlyAttribute - public var duration: Double + @inlinable public var duration: Double { jsObject[Strings.duration].fromJSValue()! } - @inlinable public func getStartDate() -> JSObject { + @inlinable final public func getStartDate() -> JSObject { let this = jsObject return this[Strings.getStartDate].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var paused: Bool + @inlinable public var paused: Bool { jsObject[Strings.paused].fromJSValue()! } - @ReadWriteAttribute - public var defaultPlaybackRate: Double + @inlinable public var defaultPlaybackRate: Double { + get { jsObject[Strings.defaultPlaybackRate].fromJSValue()! } + set { jsObject[Strings.defaultPlaybackRate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var playbackRate: Double + @inlinable public var playbackRate: Double { + get { jsObject[Strings.playbackRate].fromJSValue()! } + set { jsObject[Strings.playbackRate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var preservesPitch: Bool + @inlinable public var preservesPitch: Bool { + get { jsObject[Strings.preservesPitch].fromJSValue()! } + set { jsObject[Strings.preservesPitch] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var played: TimeRanges + @inlinable public var played: TimeRanges { jsObject[Strings.played].fromJSValue()! } - @ReadonlyAttribute - public var seekable: TimeRanges + @inlinable public var seekable: TimeRanges { jsObject[Strings.seekable].fromJSValue()! } - @ReadonlyAttribute - public var ended: Bool + @inlinable public var ended: Bool { jsObject[Strings.ended].fromJSValue()! } - @ReadWriteAttribute - public var autoplay: Bool + @inlinable public var autoplay: Bool { + get { jsObject[Strings.autoplay].fromJSValue()! } + set { jsObject[Strings.autoplay] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var loop: Bool + @inlinable public var loop: Bool { + get { jsObject[Strings.loop].fromJSValue()! } + set { jsObject[Strings.loop] = _toJSValue(newValue) } + } - @inlinable public func play() -> JSPromise { + @inlinable final public func play() -> JSPromise { let this = jsObject return this[Strings.play].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func play() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.play].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func play() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.play].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func pause() { + @inlinable final public func pause() { let this = jsObject _ = this[Strings.pause].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var controls: Bool + @inlinable public var controls: Bool { + get { jsObject[Strings.controls].fromJSValue()! } + set { jsObject[Strings.controls] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var volume: Double + @inlinable public var volume: Double { + get { jsObject[Strings.volume].fromJSValue()! } + set { jsObject[Strings.volume] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var muted: Bool + @inlinable public var muted: Bool { + get { jsObject[Strings.muted].fromJSValue()! } + set { jsObject[Strings.muted] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var defaultMuted: Bool + @inlinable public var defaultMuted: Bool { + get { jsObject[Strings.defaultMuted].fromJSValue()! } + set { jsObject[Strings.defaultMuted] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var audioTracks: AudioTrackList + @inlinable public var audioTracks: AudioTrackList { jsObject[Strings.audioTracks].fromJSValue()! } - @ReadonlyAttribute - public var videoTracks: VideoTrackList + @inlinable public var videoTracks: VideoTrackList { jsObject[Strings.videoTracks].fromJSValue()! } - @ReadonlyAttribute - public var textTracks: TextTrackList + @inlinable public var textTracks: TextTrackList { jsObject[Strings.textTracks].fromJSValue()! } - @inlinable public func addTextTrack(kind: TextTrackKind, label: String? = nil, language: String? = nil) -> TextTrack { + @inlinable final public func addTextTrack( + kind: TextTrackKind, + label: String? = nil, + language: String? = nil + ) -> TextTrack { let this = jsObject - return this[Strings.addTextTrack].function!(this: this, arguments: [_toJSValue(kind), _toJSValue(label), _toJSValue(language)]).fromJSValue()! + return this[Strings.addTextTrack].function!( + this: this, + arguments: [_toJSValue(kind), _toJSValue(label), _toJSValue(language)] + ).fromJSValue()! } } public class HTMLMenuElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMenuElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMenuElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var compact: Bool + @inlinable public var compact: Bool { + get { jsObject[Strings.compact].fromJSValue()! } + set { jsObject[Strings.compact] = _toJSValue(newValue) } + } } public class HTMLMetaElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMetaElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMetaElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _httpEquiv = ReadWriteAttribute(jsObject: jsObject, name: Strings.httpEquiv) - _content = ReadWriteAttribute(jsObject: jsObject, name: Strings.content) - _media = ReadWriteAttribute(jsObject: jsObject, name: Strings.media) - _scheme = ReadWriteAttribute(jsObject: jsObject, name: Strings.scheme) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var httpEquiv: String + @inlinable public var httpEquiv: String { + get { jsObject[Strings.httpEquiv].fromJSValue()! } + set { jsObject[Strings.httpEquiv] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var content: String + @inlinable public var content: String { + get { jsObject[Strings.content].fromJSValue()! } + set { jsObject[Strings.content] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var media: String + @inlinable public var media: String { + get { jsObject[Strings.media].fromJSValue()! } + set { jsObject[Strings.media] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var scheme: String + @inlinable public var scheme: String { + get { jsObject[Strings.scheme].fromJSValue()! } + set { jsObject[Strings.scheme] = _toJSValue(newValue) } + } } public class HTMLMeterElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMeterElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMeterElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _min = ReadWriteAttribute(jsObject: jsObject, name: Strings.min) - _max = ReadWriteAttribute(jsObject: jsObject, name: Strings.max) - _low = ReadWriteAttribute(jsObject: jsObject, name: Strings.low) - _high = ReadWriteAttribute(jsObject: jsObject, name: Strings.high) - _optimum = ReadWriteAttribute(jsObject: jsObject, name: Strings.optimum) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var value: Double + @inlinable public var value: Double { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var min: Double + @inlinable public var min: Double { + get { jsObject[Strings.min].fromJSValue()! } + set { jsObject[Strings.min] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var max: Double + @inlinable public var max: Double { + get { jsObject[Strings.max].fromJSValue()! } + set { jsObject[Strings.max] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var low: Double + @inlinable public var low: Double { + get { jsObject[Strings.low].fromJSValue()! } + set { jsObject[Strings.low] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var high: Double + @inlinable public var high: Double { + get { jsObject[Strings.high].fromJSValue()! } + set { jsObject[Strings.high] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var optimum: Double + @inlinable public var optimum: Double { + get { jsObject[Strings.optimum].fromJSValue()! } + set { jsObject[Strings.optimum] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var labels: NodeList + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } } public class HTMLModElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLModElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLModElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _cite = ReadWriteAttribute(jsObject: jsObject, name: Strings.cite) - _dateTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.dateTime) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var cite: String + @inlinable public var cite: String { + get { jsObject[Strings.cite].fromJSValue()! } + set { jsObject[Strings.cite] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var dateTime: String + @inlinable public var dateTime: String { + get { jsObject[Strings.dateTime].fromJSValue()! } + set { jsObject[Strings.dateTime] = _toJSValue(newValue) } + } } public class HTMLOListElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOListElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLOListElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _reversed = ReadWriteAttribute(jsObject: jsObject, name: Strings.reversed) - _start = ReadWriteAttribute(jsObject: jsObject, name: Strings.start) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var reversed: Bool + @inlinable public var reversed: Bool { + get { jsObject[Strings.reversed].fromJSValue()! } + set { jsObject[Strings.reversed] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var start: Int32 + @inlinable public var start: Int32 { + get { jsObject[Strings.start].fromJSValue()! } + set { jsObject[Strings.start] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var compact: Bool + @inlinable public var compact: Bool { + get { jsObject[Strings.compact].fromJSValue()! } + set { jsObject[Strings.compact] = _toJSValue(newValue) } + } } public class HTMLObjectElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLObjectElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _data = ReadWriteAttribute(jsObject: jsObject, name: Strings.data) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _contentDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentDocument) - _contentWindow = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentWindow) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _archive = ReadWriteAttribute(jsObject: jsObject, name: Strings.archive) - _code = ReadWriteAttribute(jsObject: jsObject, name: Strings.code) - _declare = ReadWriteAttribute(jsObject: jsObject, name: Strings.declare) - _hspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.hspace) - _standby = ReadWriteAttribute(jsObject: jsObject, name: Strings.standby) - _vspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.vspace) - _codeBase = ReadWriteAttribute(jsObject: jsObject, name: Strings.codeBase) - _codeType = ReadWriteAttribute(jsObject: jsObject, name: Strings.codeType) - _useMap = ReadWriteAttribute(jsObject: jsObject, name: Strings.useMap) - _border = ReadWriteAttribute(jsObject: jsObject, name: Strings.border) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLObjectElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var data: String + @inlinable public var data: String { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: String + @inlinable public var height: String { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var contentDocument: Document? + @inlinable public var contentDocument: Document? { jsObject[Strings.contentDocument].fromJSValue() } - @ReadonlyAttribute - public var contentWindow: WindowProxy? + @inlinable public var contentWindow: WindowProxy? { jsObject[Strings.contentWindow].fromJSValue() } - @inlinable public func getSVGDocument() -> Document? { + @inlinable final public func getSVGDocument() -> Document? { let this = jsObject return this[Strings.getSVGDocument].function!(this: this, arguments: []).fromJSValue() } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var archive: String + @inlinable public var archive: String { + get { jsObject[Strings.archive].fromJSValue()! } + set { jsObject[Strings.archive] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var code: String + @inlinable public var code: String { + get { jsObject[Strings.code].fromJSValue()! } + set { jsObject[Strings.code] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var declare: Bool + @inlinable public var declare: Bool { + get { jsObject[Strings.declare].fromJSValue()! } + set { jsObject[Strings.declare] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hspace: UInt32 + @inlinable public var hspace: UInt32 { + get { jsObject[Strings.hspace].fromJSValue()! } + set { jsObject[Strings.hspace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var standby: String + @inlinable public var standby: String { + get { jsObject[Strings.standby].fromJSValue()! } + set { jsObject[Strings.standby] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vspace: UInt32 + @inlinable public var vspace: UInt32 { + get { jsObject[Strings.vspace].fromJSValue()! } + set { jsObject[Strings.vspace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var codeBase: String + @inlinable public var codeBase: String { + get { jsObject[Strings.codeBase].fromJSValue()! } + set { jsObject[Strings.codeBase] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var codeType: String + @inlinable public var codeType: String { + get { jsObject[Strings.codeType].fromJSValue()! } + set { jsObject[Strings.codeType] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var useMap: String + @inlinable public var useMap: String { + get { jsObject[Strings.useMap].fromJSValue()! } + set { jsObject[Strings.useMap] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var border: String + @inlinable public var border: String { + get { jsObject[Strings.border].fromJSValue()! } + set { jsObject[Strings.border] = _toJSValue(newValue) } + } } public class HTMLOptGroupElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOptGroupElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _label = ReadWriteAttribute(jsObject: jsObject, name: Strings.label) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLOptGroupElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var label: String + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } + + @inlinable public var label: String { + get { jsObject[Strings.label].fromJSValue()! } + set { jsObject[Strings.label] = _toJSValue(newValue) } + } } public class HTMLOptionElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOptionElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _label = ReadWriteAttribute(jsObject: jsObject, name: Strings.label) - _defaultSelected = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultSelected) - _selected = ReadWriteAttribute(jsObject: jsObject, name: Strings.selected) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) - _index = ReadonlyAttribute(jsObject: jsObject, name: Strings.index) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLOptionElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var label: String + @inlinable public var label: String { + get { jsObject[Strings.label].fromJSValue()! } + set { jsObject[Strings.label] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var defaultSelected: Bool + @inlinable public var defaultSelected: Bool { + get { jsObject[Strings.defaultSelected].fromJSValue()! } + set { jsObject[Strings.defaultSelected] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var selected: Bool + @inlinable public var selected: Bool { + get { jsObject[Strings.selected].fromJSValue()! } + set { jsObject[Strings.selected] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var text: String + @inlinable public var text: String { + get { jsObject[Strings.text].fromJSValue()! } + set { jsObject[Strings.text] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var index: Int32 + @inlinable public var index: Int32 { jsObject[Strings.index].fromJSValue()! } } public class HTMLOptionsCollection: HTMLCollection { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOptionsCollection].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadWriteAttribute(jsObject: jsObject, name: Strings.length) - _selectedIndex = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectedIndex) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLOptionsCollection].function } - @usableFromInline let _length: ReadWriteAttribute - @inlinable override public var length: UInt32 { - get { _length.wrappedValue } - set { _length.wrappedValue = newValue } - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable override public subscript(key: Int) -> HTMLOptionElement? { - get { - super[key] as? HTMLOptionElement - } - set { - jsObject[key] = _toJSValue(newValue) - } + @inlinable public override subscript(key: Int) -> HTMLOptionElement? { + get { super[key] as? HTMLOptionElement } + set { jsObject[key] = _toJSValue(newValue) } } - @inlinable public func add(element: HTMLOptGroupElement_or_HTMLOptionElement, before: HTMLElement_or_Int32? = nil) { + @inlinable final public func add( + element: HTMLOptGroupElement_or_HTMLOptionElement, + before: HTMLElement_or_Int32? = nil + ) { let this = jsObject _ = this[Strings.add].function!(this: this, arguments: [_toJSValue(element), _toJSValue(before)]) } - @inlinable public func remove(index: Int32) { + @inlinable final public func remove(index: Int32) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: [_toJSValue(index)]) } - @ReadWriteAttribute - public var selectedIndex: Int32 + @inlinable public var selectedIndex: Int32 { + get { jsObject[Strings.selectedIndex].fromJSValue()! } + set { jsObject[Strings.selectedIndex] = _toJSValue(newValue) } + } } public protocol HTMLOrSVGElement: JSBridgedClass {} -public extension HTMLOrSVGElement { - @inlinable var dataset: DOMStringMap { jsObject[Strings.dataset].fromJSValue()! } +extension HTMLOrSVGElement { + @inlinable public var dataset: DOMStringMap { jsObject[Strings.dataset].fromJSValue()! } - @inlinable var nonce: String { + @inlinable public var nonce: String { get { jsObject[Strings.nonce].fromJSValue()! } - nonmutating set { jsObject[Strings.nonce] = _toJSValue(newValue) } + set { jsObject[Strings.nonce] = _toJSValue(newValue) } } - @inlinable var autofocus: Bool { + @inlinable public var autofocus: Bool { get { jsObject[Strings.autofocus].fromJSValue()! } - nonmutating set { jsObject[Strings.autofocus] = _toJSValue(newValue) } + set { jsObject[Strings.autofocus] = _toJSValue(newValue) } } - @inlinable var tabIndex: Int32 { + @inlinable public var tabIndex: Int32 { get { jsObject[Strings.tabIndex].fromJSValue()! } - nonmutating set { jsObject[Strings.tabIndex] = _toJSValue(newValue) } + set { jsObject[Strings.tabIndex] = _toJSValue(newValue) } } - @inlinable func focus(options: FocusOptions? = nil) { + @inlinable public func focus(options: FocusOptions? = nil) { let this = jsObject _ = this[Strings.focus].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable func blur() { + @inlinable public func blur() { let this = jsObject _ = this[Strings.blur].function!(this: this, arguments: []) } } - public class HTMLOutputElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOutputElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _htmlFor = ReadonlyAttribute(jsObject: jsObject, name: Strings.htmlFor) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _defaultValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultValue) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLOutputElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var htmlFor: DOMTokenList + @inlinable public var htmlFor: DOMTokenList { jsObject[Strings.htmlFor].fromJSValue()! } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadWriteAttribute - public var defaultValue: String + @inlinable public var defaultValue: String { + get { jsObject[Strings.defaultValue].fromJSValue()! } + set { jsObject[Strings.defaultValue] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @ReadonlyAttribute - public var labels: NodeList + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } } public class HTMLParagraphElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLParagraphElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLParagraphElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } } public class HTMLParamElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLParamElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLParamElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _valueType = ReadWriteAttribute(jsObject: jsObject, name: Strings.valueType) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var valueType: String + @inlinable public var valueType: String { + get { jsObject[Strings.valueType].fromJSValue()! } + set { jsObject[Strings.valueType] = _toJSValue(newValue) } + } } public class HTMLPictureElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLPictureElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLPictureElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } } public class HTMLPreElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLPreElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLPreElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var width: Int32 + @inlinable public var width: Int32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } } public class HTMLProgressElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLProgressElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _max = ReadWriteAttribute(jsObject: jsObject, name: Strings.max) - _position = ReadonlyAttribute(jsObject: jsObject, name: Strings.position) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLProgressElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var value: Double + @inlinable public var value: Double { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var max: Double + @inlinable public var max: Double { + get { jsObject[Strings.max].fromJSValue()! } + set { jsObject[Strings.max] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var position: Double + @inlinable public var position: Double { jsObject[Strings.position].fromJSValue()! } - @ReadonlyAttribute - public var labels: NodeList + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } } public class HTMLQuoteElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLQuoteElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLQuoteElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _cite = ReadWriteAttribute(jsObject: jsObject, name: Strings.cite) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var cite: String + @inlinable public var cite: String { + get { jsObject[Strings.cite].fromJSValue()! } + set { jsObject[Strings.cite] = _toJSValue(newValue) } + } } public class HTMLScriptElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLScriptElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _noModule = ReadWriteAttribute(jsObject: jsObject, name: Strings.noModule) - _async = ReadWriteAttribute(jsObject: jsObject, name: Strings.async) - _defer = ReadWriteAttribute(jsObject: jsObject, name: Strings.defer) - _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) - _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) - _integrity = ReadWriteAttribute(jsObject: jsObject, name: Strings.integrity) - _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _blocking = ReadonlyAttribute(jsObject: jsObject, name: Strings.blocking) - _fetchPriority = ReadWriteAttribute(jsObject: jsObject, name: Strings.fetchPriority) - _charset = ReadWriteAttribute(jsObject: jsObject, name: Strings.charset) - _event = ReadWriteAttribute(jsObject: jsObject, name: Strings.event) - _htmlFor = ReadWriteAttribute(jsObject: jsObject, name: Strings.htmlFor) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLScriptElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var noModule: Bool + @inlinable public var noModule: Bool { + get { jsObject[Strings.noModule].fromJSValue()! } + set { jsObject[Strings.noModule] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var async: Bool + @inlinable public var async: Bool { + get { jsObject[Strings.async].fromJSValue()! } + set { jsObject[Strings.async] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var `defer`: Bool + @inlinable public var `defer`: Bool { + get { jsObject[Strings.`defer`].fromJSValue()! } + set { jsObject[Strings.`defer`] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var crossOrigin: String? + @inlinable public var crossOrigin: String? { + get { jsObject[Strings.crossOrigin].fromJSValue() } + set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var text: String + @inlinable public var text: String { + get { jsObject[Strings.text].fromJSValue()! } + set { jsObject[Strings.text] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var integrity: String + @inlinable public var integrity: String { + get { jsObject[Strings.integrity].fromJSValue()! } + set { jsObject[Strings.integrity] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var referrerPolicy: String + @inlinable public var referrerPolicy: String { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var blocking: DOMTokenList + @inlinable public var blocking: DOMTokenList { jsObject[Strings.blocking].fromJSValue()! } - @ReadWriteAttribute - public var fetchPriority: String + @inlinable public var fetchPriority: String { + get { jsObject[Strings.fetchPriority].fromJSValue()! } + set { jsObject[Strings.fetchPriority] = _toJSValue(newValue) } + } @inlinable public class func supports(type: String) -> Bool { let this = constructor! return this[Strings.supports].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @ReadWriteAttribute - public var charset: String + @inlinable public var charset: String { + get { jsObject[Strings.charset].fromJSValue()! } + set { jsObject[Strings.charset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var event: String + @inlinable public var event: String { + get { jsObject[Strings.event].fromJSValue()! } + set { jsObject[Strings.event] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var htmlFor: String + @inlinable public var htmlFor: String { + get { jsObject[Strings.htmlFor].fromJSValue()! } + set { jsObject[Strings.htmlFor] = _toJSValue(newValue) } + } } public class HTMLSelectElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLSelectElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _autocomplete = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocomplete) - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _multiple = ReadWriteAttribute(jsObject: jsObject, name: Strings.multiple) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _required = ReadWriteAttribute(jsObject: jsObject, name: Strings.required) - _size = ReadWriteAttribute(jsObject: jsObject, name: Strings.size) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _options = ReadonlyAttribute(jsObject: jsObject, name: Strings.options) - _length = ReadWriteAttribute(jsObject: jsObject, name: Strings.length) - _selectedOptions = ReadonlyAttribute(jsObject: jsObject, name: Strings.selectedOptions) - _selectedIndex = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectedIndex) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLSelectElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var autocomplete: String + @inlinable public var autocomplete: String { + get { jsObject[Strings.autocomplete].fromJSValue()! } + set { jsObject[Strings.autocomplete] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var multiple: Bool + @inlinable public var multiple: Bool { + get { jsObject[Strings.multiple].fromJSValue()! } + set { jsObject[Strings.multiple] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var required: Bool + @inlinable public var required: Bool { + get { jsObject[Strings.required].fromJSValue()! } + set { jsObject[Strings.required] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var size: UInt32 + @inlinable public var size: UInt32 { + get { jsObject[Strings.size].fromJSValue()! } + set { jsObject[Strings.size] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var options: HTMLOptionsCollection + @inlinable public var options: HTMLOptionsCollection { jsObject[Strings.options].fromJSValue()! } - @ReadWriteAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { + get { jsObject[Strings.length].fromJSValue()! } + set { jsObject[Strings.length] = _toJSValue(newValue) } + } - @inlinable public func item(index: UInt32) -> HTMLOptionElement? { + @inlinable final public func item(index: UInt32) -> HTMLOptionElement? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public func namedItem(name: String) -> HTMLOptionElement? { + @inlinable final public func namedItem(name: String) -> HTMLOptionElement? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable public func add(element: HTMLOptGroupElement_or_HTMLOptionElement, before: HTMLElement_or_Int32? = nil) { + @inlinable final public func add( + element: HTMLOptGroupElement_or_HTMLOptionElement, + before: HTMLElement_or_Int32? = nil + ) { let this = jsObject _ = this[Strings.add].function!(this: this, arguments: [_toJSValue(element), _toJSValue(before)]) } - @inlinable public func remove() { + @inlinable final public func remove() { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: []) } - @inlinable public func remove(index: Int32) { + @inlinable final public func remove(index: Int32) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: [_toJSValue(index)]) } @inlinable public subscript(key: Int) -> HTMLOptionElement? { - get { - jsObject[key].fromJSValue() - } - set { - jsObject[key] = _toJSValue(newValue) - } + get { jsObject[key].fromJSValue() } + set { jsObject[key] = _toJSValue(newValue) } } - @ReadonlyAttribute - public var selectedOptions: HTMLCollection + @inlinable public var selectedOptions: HTMLCollection { jsObject[Strings.selectedOptions].fromJSValue()! } - @ReadWriteAttribute - public var selectedIndex: Int32 + @inlinable public var selectedIndex: Int32 { + get { jsObject[Strings.selectedIndex].fromJSValue()! } + set { jsObject[Strings.selectedIndex] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @ReadonlyAttribute - public var labels: NodeList + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } } public class HTMLSlotElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLSlotElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLSlotElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @inlinable public func assignedNodes(options: AssignedNodesOptions? = nil) -> [Node] { + @inlinable final public func assignedNodes(options: AssignedNodesOptions? = nil) -> [Node] { let this = jsObject return this[Strings.assignedNodes].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func assignedElements(options: AssignedNodesOptions? = nil) -> [Element] { + @inlinable final public func assignedElements(options: AssignedNodesOptions? = nil) -> [Element] { let this = jsObject return this[Strings.assignedElements].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func assign(nodes: Element_or_Text...) { + @inlinable final public func assign(nodes: Element_or_Text...) { let this = jsObject _ = this[Strings.assign].function!(this: this, arguments: nodes.map(_toJSValue)) } } public class HTMLSourceElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLSourceElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _srcset = ReadWriteAttribute(jsObject: jsObject, name: Strings.srcset) - _sizes = ReadWriteAttribute(jsObject: jsObject, name: Strings.sizes) - _media = ReadWriteAttribute(jsObject: jsObject, name: Strings.media) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLSourceElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var srcset: String + @inlinable public var srcset: String { + get { jsObject[Strings.srcset].fromJSValue()! } + set { jsObject[Strings.srcset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var sizes: String + @inlinable public var sizes: String { + get { jsObject[Strings.sizes].fromJSValue()! } + set { jsObject[Strings.sizes] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var media: String + @inlinable public var media: String { + get { jsObject[Strings.media].fromJSValue()! } + set { jsObject[Strings.media] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: UInt32 + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: UInt32 + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } } public class HTMLSpanElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLSpanElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLSpanElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } } public class HTMLStyleElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLStyleElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLStyleElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _media = ReadWriteAttribute(jsObject: jsObject, name: Strings.media) - _blocking = ReadonlyAttribute(jsObject: jsObject, name: Strings.blocking) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var media: String + @inlinable public var media: String { + get { jsObject[Strings.media].fromJSValue()! } + set { jsObject[Strings.media] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var blocking: DOMTokenList + @inlinable public var blocking: DOMTokenList { jsObject[Strings.blocking].fromJSValue()! } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } } public class HTMLTableCaptionElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableCaptionElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTableCaptionElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var align: String + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } } public class HTMLTableCellElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableCellElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _colSpan = ReadWriteAttribute(jsObject: jsObject, name: Strings.colSpan) - _rowSpan = ReadWriteAttribute(jsObject: jsObject, name: Strings.rowSpan) - _headers = ReadWriteAttribute(jsObject: jsObject, name: Strings.headers) - _cellIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.cellIndex) - _scope = ReadWriteAttribute(jsObject: jsObject, name: Strings.scope) - _abbr = ReadWriteAttribute(jsObject: jsObject, name: Strings.abbr) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _axis = ReadWriteAttribute(jsObject: jsObject, name: Strings.axis) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _ch = ReadWriteAttribute(jsObject: jsObject, name: Strings.ch) - _chOff = ReadWriteAttribute(jsObject: jsObject, name: Strings.chOff) - _noWrap = ReadWriteAttribute(jsObject: jsObject, name: Strings.noWrap) - _vAlign = ReadWriteAttribute(jsObject: jsObject, name: Strings.vAlign) - _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTableCellElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var colSpan: UInt32 + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var colSpan: UInt32 { + get { jsObject[Strings.colSpan].fromJSValue()! } + set { jsObject[Strings.colSpan] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rowSpan: UInt32 + @inlinable public var rowSpan: UInt32 { + get { jsObject[Strings.rowSpan].fromJSValue()! } + set { jsObject[Strings.rowSpan] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var headers: String + @inlinable public var headers: String { + get { jsObject[Strings.headers].fromJSValue()! } + set { jsObject[Strings.headers] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var cellIndex: Int32 + @inlinable public var cellIndex: Int32 { jsObject[Strings.cellIndex].fromJSValue()! } - @ReadWriteAttribute - public var scope: String + @inlinable public var scope: String { + get { jsObject[Strings.scope].fromJSValue()! } + set { jsObject[Strings.scope] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var abbr: String + @inlinable public var abbr: String { + get { jsObject[Strings.abbr].fromJSValue()! } + set { jsObject[Strings.abbr] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var axis: String + @inlinable public var axis: String { + get { jsObject[Strings.axis].fromJSValue()! } + set { jsObject[Strings.axis] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: String + @inlinable public var height: String { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ch: String + @inlinable public var ch: String { + get { jsObject[Strings.ch].fromJSValue()! } + set { jsObject[Strings.ch] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var chOff: String + @inlinable public var chOff: String { + get { jsObject[Strings.chOff].fromJSValue()! } + set { jsObject[Strings.chOff] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var noWrap: Bool + @inlinable public var noWrap: Bool { + get { jsObject[Strings.noWrap].fromJSValue()! } + set { jsObject[Strings.noWrap] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vAlign: String + @inlinable public var vAlign: String { + get { jsObject[Strings.vAlign].fromJSValue()! } + set { jsObject[Strings.vAlign] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var bgColor: String + @inlinable public var bgColor: String { + get { jsObject[Strings.bgColor].fromJSValue()! } + set { jsObject[Strings.bgColor] = _toJSValue(newValue) } + } } public class HTMLTableColElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableColElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _span = ReadWriteAttribute(jsObject: jsObject, name: Strings.span) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _ch = ReadWriteAttribute(jsObject: jsObject, name: Strings.ch) - _chOff = ReadWriteAttribute(jsObject: jsObject, name: Strings.chOff) - _vAlign = ReadWriteAttribute(jsObject: jsObject, name: Strings.vAlign) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTableColElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var span: UInt32 + @inlinable public var span: UInt32 { + get { jsObject[Strings.span].fromJSValue()! } + set { jsObject[Strings.span] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ch: String + @inlinable public var ch: String { + get { jsObject[Strings.ch].fromJSValue()! } + set { jsObject[Strings.ch] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var chOff: String + @inlinable public var chOff: String { + get { jsObject[Strings.chOff].fromJSValue()! } + set { jsObject[Strings.chOff] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vAlign: String + @inlinable public var vAlign: String { + get { jsObject[Strings.vAlign].fromJSValue()! } + set { jsObject[Strings.vAlign] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } } public class HTMLTableElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _caption = ReadWriteAttribute(jsObject: jsObject, name: Strings.caption) - _tHead = ReadWriteAttribute(jsObject: jsObject, name: Strings.tHead) - _tFoot = ReadWriteAttribute(jsObject: jsObject, name: Strings.tFoot) - _tBodies = ReadonlyAttribute(jsObject: jsObject, name: Strings.tBodies) - _rows = ReadonlyAttribute(jsObject: jsObject, name: Strings.rows) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _border = ReadWriteAttribute(jsObject: jsObject, name: Strings.border) - _frame = ReadWriteAttribute(jsObject: jsObject, name: Strings.frame) - _rules = ReadWriteAttribute(jsObject: jsObject, name: Strings.rules) - _summary = ReadWriteAttribute(jsObject: jsObject, name: Strings.summary) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) - _cellPadding = ReadWriteAttribute(jsObject: jsObject, name: Strings.cellPadding) - _cellSpacing = ReadWriteAttribute(jsObject: jsObject, name: Strings.cellSpacing) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var caption: HTMLTableCaptionElement? + @inlinable public var caption: HTMLTableCaptionElement? { + get { jsObject[Strings.caption].fromJSValue() } + set { jsObject[Strings.caption] = _toJSValue(newValue) } + } - @inlinable public func createCaption() -> HTMLTableCaptionElement { + @inlinable final public func createCaption() -> HTMLTableCaptionElement { let this = jsObject return this[Strings.createCaption].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func deleteCaption() { + @inlinable final public func deleteCaption() { let this = jsObject _ = this[Strings.deleteCaption].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var tHead: HTMLTableSectionElement? + @inlinable public var tHead: HTMLTableSectionElement? { + get { jsObject[Strings.tHead].fromJSValue() } + set { jsObject[Strings.tHead] = _toJSValue(newValue) } + } - @inlinable public func createTHead() -> HTMLTableSectionElement { + @inlinable final public func createTHead() -> HTMLTableSectionElement { let this = jsObject return this[Strings.createTHead].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func deleteTHead() { + @inlinable final public func deleteTHead() { let this = jsObject _ = this[Strings.deleteTHead].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var tFoot: HTMLTableSectionElement? + @inlinable public var tFoot: HTMLTableSectionElement? { + get { jsObject[Strings.tFoot].fromJSValue() } + set { jsObject[Strings.tFoot] = _toJSValue(newValue) } + } - @inlinable public func createTFoot() -> HTMLTableSectionElement { + @inlinable final public func createTFoot() -> HTMLTableSectionElement { let this = jsObject return this[Strings.createTFoot].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func deleteTFoot() { + @inlinable final public func deleteTFoot() { let this = jsObject _ = this[Strings.deleteTFoot].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var tBodies: HTMLCollection + @inlinable public var tBodies: HTMLCollection { jsObject[Strings.tBodies].fromJSValue()! } - @inlinable public func createTBody() -> HTMLTableSectionElement { + @inlinable final public func createTBody() -> HTMLTableSectionElement { let this = jsObject return this[Strings.createTBody].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var rows: HTMLCollection + @inlinable public var rows: HTMLCollection { jsObject[Strings.rows].fromJSValue()! } - @inlinable public func insertRow(index: Int32? = nil) -> HTMLTableRowElement { + @inlinable final public func insertRow(index: Int32? = nil) -> HTMLTableRowElement { let this = jsObject return this[Strings.insertRow].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func deleteRow(index: Int32) { + @inlinable final public func deleteRow(index: Int32) { let this = jsObject _ = this[Strings.deleteRow].function!(this: this, arguments: [_toJSValue(index)]) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var border: String + @inlinable public var border: String { + get { jsObject[Strings.border].fromJSValue()! } + set { jsObject[Strings.border] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var frame: String + @inlinable public var frame: String { + get { jsObject[Strings.frame].fromJSValue()! } + set { jsObject[Strings.frame] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rules: String + @inlinable public var rules: String { + get { jsObject[Strings.rules].fromJSValue()! } + set { jsObject[Strings.rules] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var summary: String + @inlinable public var summary: String { + get { jsObject[Strings.summary].fromJSValue()! } + set { jsObject[Strings.summary] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var bgColor: String + @inlinable public var bgColor: String { + get { jsObject[Strings.bgColor].fromJSValue()! } + set { jsObject[Strings.bgColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var cellPadding: String + @inlinable public var cellPadding: String { + get { jsObject[Strings.cellPadding].fromJSValue()! } + set { jsObject[Strings.cellPadding] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var cellSpacing: String + @inlinable public var cellSpacing: String { + get { jsObject[Strings.cellSpacing].fromJSValue()! } + set { jsObject[Strings.cellSpacing] = _toJSValue(newValue) } + } } public class HTMLTableRowElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableRowElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _rowIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.rowIndex) - _sectionRowIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.sectionRowIndex) - _cells = ReadonlyAttribute(jsObject: jsObject, name: Strings.cells) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _ch = ReadWriteAttribute(jsObject: jsObject, name: Strings.ch) - _chOff = ReadWriteAttribute(jsObject: jsObject, name: Strings.chOff) - _vAlign = ReadWriteAttribute(jsObject: jsObject, name: Strings.vAlign) - _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTableRowElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var rowIndex: Int32 + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var sectionRowIndex: Int32 + @inlinable public var rowIndex: Int32 { jsObject[Strings.rowIndex].fromJSValue()! } - @ReadonlyAttribute - public var cells: HTMLCollection + @inlinable public var sectionRowIndex: Int32 { jsObject[Strings.sectionRowIndex].fromJSValue()! } - @inlinable public func insertCell(index: Int32? = nil) -> HTMLTableCellElement { + @inlinable public var cells: HTMLCollection { jsObject[Strings.cells].fromJSValue()! } + + @inlinable final public func insertCell(index: Int32? = nil) -> HTMLTableCellElement { let this = jsObject return this[Strings.insertCell].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func deleteCell(index: Int32) { + @inlinable final public func deleteCell(index: Int32) { let this = jsObject _ = this[Strings.deleteCell].function!(this: this, arguments: [_toJSValue(index)]) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ch: String + @inlinable public var ch: String { + get { jsObject[Strings.ch].fromJSValue()! } + set { jsObject[Strings.ch] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var chOff: String + @inlinable public var chOff: String { + get { jsObject[Strings.chOff].fromJSValue()! } + set { jsObject[Strings.chOff] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vAlign: String + @inlinable public var vAlign: String { + get { jsObject[Strings.vAlign].fromJSValue()! } + set { jsObject[Strings.vAlign] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var bgColor: String + @inlinable public var bgColor: String { + get { jsObject[Strings.bgColor].fromJSValue()! } + set { jsObject[Strings.bgColor] = _toJSValue(newValue) } + } } public class HTMLTableSectionElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableSectionElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _rows = ReadonlyAttribute(jsObject: jsObject, name: Strings.rows) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _ch = ReadWriteAttribute(jsObject: jsObject, name: Strings.ch) - _chOff = ReadWriteAttribute(jsObject: jsObject, name: Strings.chOff) - _vAlign = ReadWriteAttribute(jsObject: jsObject, name: Strings.vAlign) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTableSectionElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var rows: HTMLCollection + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public func insertRow(index: Int32? = nil) -> HTMLTableRowElement { + @inlinable public var rows: HTMLCollection { jsObject[Strings.rows].fromJSValue()! } + + @inlinable final public func insertRow(index: Int32? = nil) -> HTMLTableRowElement { let this = jsObject return this[Strings.insertRow].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func deleteRow(index: Int32) { + @inlinable final public func deleteRow(index: Int32) { let this = jsObject _ = this[Strings.deleteRow].function!(this: this, arguments: [_toJSValue(index)]) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ch: String + @inlinable public var ch: String { + get { jsObject[Strings.ch].fromJSValue()! } + set { jsObject[Strings.ch] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var chOff: String + @inlinable public var chOff: String { + get { jsObject[Strings.chOff].fromJSValue()! } + set { jsObject[Strings.chOff] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vAlign: String + @inlinable public var vAlign: String { + get { jsObject[Strings.vAlign].fromJSValue()! } + set { jsObject[Strings.vAlign] = _toJSValue(newValue) } + } } public class HTMLTemplateElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTemplateElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _content = ReadonlyAttribute(jsObject: jsObject, name: Strings.content) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTemplateElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var content: DocumentFragment + @inlinable public var content: DocumentFragment { jsObject[Strings.content].fromJSValue()! } } public class HTMLTextAreaElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTextAreaElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _autocomplete = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocomplete) - _cols = ReadWriteAttribute(jsObject: jsObject, name: Strings.cols) - _dirName = ReadWriteAttribute(jsObject: jsObject, name: Strings.dirName) - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _maxLength = ReadWriteAttribute(jsObject: jsObject, name: Strings.maxLength) - _minLength = ReadWriteAttribute(jsObject: jsObject, name: Strings.minLength) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _placeholder = ReadWriteAttribute(jsObject: jsObject, name: Strings.placeholder) - _readOnly = ReadWriteAttribute(jsObject: jsObject, name: Strings.readOnly) - _required = ReadWriteAttribute(jsObject: jsObject, name: Strings.required) - _rows = ReadWriteAttribute(jsObject: jsObject, name: Strings.rows) - _wrap = ReadWriteAttribute(jsObject: jsObject, name: Strings.wrap) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _defaultValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultValue) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _textLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.textLength) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - _selectionStart = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionStart) - _selectionEnd = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionEnd) - _selectionDirection = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionDirection) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTextAreaElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var autocomplete: String + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var cols: UInt32 + @inlinable public var autocomplete: String { + get { jsObject[Strings.autocomplete].fromJSValue()! } + set { jsObject[Strings.autocomplete] = _toJSValue(newValue) } + } + + @inlinable public var cols: UInt32 { + get { jsObject[Strings.cols].fromJSValue()! } + set { jsObject[Strings.cols] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var dirName: String + @inlinable public var dirName: String { + get { jsObject[Strings.dirName].fromJSValue()! } + set { jsObject[Strings.dirName] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var maxLength: Int32 + @inlinable public var maxLength: Int32 { + get { jsObject[Strings.maxLength].fromJSValue()! } + set { jsObject[Strings.maxLength] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var minLength: Int32 + @inlinable public var minLength: Int32 { + get { jsObject[Strings.minLength].fromJSValue()! } + set { jsObject[Strings.minLength] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var placeholder: String + @inlinable public var placeholder: String { + get { jsObject[Strings.placeholder].fromJSValue()! } + set { jsObject[Strings.placeholder] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var readOnly: Bool + @inlinable public var readOnly: Bool { + get { jsObject[Strings.readOnly].fromJSValue()! } + set { jsObject[Strings.readOnly] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var required: Bool + @inlinable public var required: Bool { + get { jsObject[Strings.required].fromJSValue()! } + set { jsObject[Strings.required] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rows: UInt32 + @inlinable public var rows: UInt32 { + get { jsObject[Strings.rows].fromJSValue()! } + set { jsObject[Strings.rows] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var wrap: String + @inlinable public var wrap: String { + get { jsObject[Strings.wrap].fromJSValue()! } + set { jsObject[Strings.wrap] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadWriteAttribute - public var defaultValue: String + @inlinable public var defaultValue: String { + get { jsObject[Strings.defaultValue].fromJSValue()! } + set { jsObject[Strings.defaultValue] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var textLength: UInt32 + @inlinable public var textLength: UInt32 { jsObject[Strings.textLength].fromJSValue()! } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @ReadonlyAttribute - public var labels: NodeList + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } - @inlinable public func select() { + @inlinable final public func select() { let this = jsObject _ = this[Strings.select].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var selectionStart: UInt32 + @inlinable public var selectionStart: UInt32 { + get { jsObject[Strings.selectionStart].fromJSValue()! } + set { jsObject[Strings.selectionStart] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var selectionEnd: UInt32 + @inlinable public var selectionEnd: UInt32 { + get { jsObject[Strings.selectionEnd].fromJSValue()! } + set { jsObject[Strings.selectionEnd] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var selectionDirection: String + @inlinable public var selectionDirection: String { + get { jsObject[Strings.selectionDirection].fromJSValue()! } + set { jsObject[Strings.selectionDirection] = _toJSValue(newValue) } + } - @inlinable public func setRangeText(replacement: String) { + @inlinable final public func setRangeText(replacement: String) { let this = jsObject _ = this[Strings.setRangeText].function!(this: this, arguments: [_toJSValue(replacement)]) } - @inlinable public func setRangeText(replacement: String, start: UInt32, end: UInt32, selectionMode: SelectionMode? = nil) { + @inlinable final public func setRangeText( + replacement: String, + start: UInt32, + end: UInt32, + selectionMode: SelectionMode? = nil + ) { let this = jsObject - _ = this[Strings.setRangeText].function!(this: this, arguments: [_toJSValue(replacement), _toJSValue(start), _toJSValue(end), _toJSValue(selectionMode)]) + _ = this[Strings.setRangeText].function!( + this: this, + arguments: [_toJSValue(replacement), _toJSValue(start), _toJSValue(end), _toJSValue(selectionMode)] + ) } - @inlinable public func setSelectionRange(start: UInt32, end: UInt32, direction: String? = nil) { + @inlinable final public func setSelectionRange(start: UInt32, end: UInt32, direction: String? = nil) { let this = jsObject - _ = this[Strings.setSelectionRange].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(direction)]) + _ = this[Strings.setSelectionRange].function!( + this: this, + arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(direction)] + ) } } public class HTMLTimeElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTimeElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLTimeElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _dateTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.dateTime) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var dateTime: String + @inlinable public var dateTime: String { + get { jsObject[Strings.dateTime].fromJSValue()! } + set { jsObject[Strings.dateTime] = _toJSValue(newValue) } + } } public class HTMLTitleElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTitleElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLTitleElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var text: String + @inlinable public var text: String { + get { jsObject[Strings.text].fromJSValue()! } + set { jsObject[Strings.text] = _toJSValue(newValue) } + } } public class HTMLTrackElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTrackElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLTrackElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _kind = ReadWriteAttribute(jsObject: jsObject, name: Strings.kind) - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _srclang = ReadWriteAttribute(jsObject: jsObject, name: Strings.srclang) - _label = ReadWriteAttribute(jsObject: jsObject, name: Strings.label) - _default = ReadWriteAttribute(jsObject: jsObject, name: Strings.default) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _track = ReadonlyAttribute(jsObject: jsObject, name: Strings.track) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var kind: String + @inlinable public var kind: String { + get { jsObject[Strings.kind].fromJSValue()! } + set { jsObject[Strings.kind] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var srclang: String + @inlinable public var srclang: String { + get { jsObject[Strings.srclang].fromJSValue()! } + set { jsObject[Strings.srclang] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var label: String + @inlinable public var label: String { + get { jsObject[Strings.label].fromJSValue()! } + set { jsObject[Strings.label] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var `default`: Bool + @inlinable public var `default`: Bool { + get { jsObject[Strings.`default`].fromJSValue()! } + set { jsObject[Strings.`default`] = _toJSValue(newValue) } + } public static let NONE: UInt16 = 0 @@ -9750,75 +10571,68 @@ public class HTMLTrackElement: HTMLElement { public static let ERROR: UInt16 = 3 - @ReadonlyAttribute - public var readyState: UInt16 + @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } - @ReadonlyAttribute - public var track: TextTrack + @inlinable public var track: TextTrack { jsObject[Strings.track].fromJSValue()! } } public class HTMLUListElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLUListElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLUListElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var compact: Bool + @inlinable public var compact: Bool { + get { jsObject[Strings.compact].fromJSValue()! } + set { jsObject[Strings.compact] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } } public class HTMLUnknownElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLUnknownElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLUnknownElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } public class HTMLVideoElement: HTMLMediaElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLVideoElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLVideoElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _videoWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoWidth) - _videoHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoHeight) - _poster = ReadWriteAttribute(jsObject: jsObject, name: Strings.poster) - _playsInline = ReadWriteAttribute(jsObject: jsObject, name: Strings.playsInline) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var width: UInt32 + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: UInt32 + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var videoWidth: UInt32 + @inlinable public var videoWidth: UInt32 { jsObject[Strings.videoWidth].fromJSValue()! } - @ReadonlyAttribute - public var videoHeight: UInt32 + @inlinable public var videoHeight: UInt32 { jsObject[Strings.videoHeight].fromJSValue()! } - @ReadWriteAttribute - public var poster: String + @inlinable public var poster: String { + get { jsObject[Strings.poster].fromJSValue()! } + set { jsObject[Strings.poster] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var playsInline: Bool + @inlinable public var playsInline: Bool { + get { jsObject[Strings.playsInline].fromJSValue()! } + set { jsObject[Strings.playsInline] = _toJSValue(newValue) } + } } public enum HardwareAcceleration: JSString, JSValueCompatible { @@ -9827,107 +10641,101 @@ public enum HardwareAcceleration: JSString, JSValueCompatible { case preferSoftware = "prefer-software" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class HashChangeEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HashChangeEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HashChangeEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _oldURL = ReadonlyAttribute(jsObject: jsObject, name: Strings.oldURL) - _newURL = ReadonlyAttribute(jsObject: jsObject, name: Strings.newURL) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: HashChangeEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var oldURL: String + @inlinable public var oldURL: String { jsObject[Strings.oldURL].fromJSValue()! } - @ReadonlyAttribute - public var newURL: String + @inlinable public var newURL: String { jsObject[Strings.newURL].fromJSValue()! } } -public class HashChangeEventInit: BridgedDictionary { - public convenience init(oldURL: String, newURL: String) { +open class HashChangeEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + oldURL: String? = nil, + newURL: String? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.oldURL] = _toJSValue(oldURL) object[Strings.newURL] = _toJSValue(newURL) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _oldURL = ReadWriteAttribute(jsObject: object, name: Strings.oldURL) - _newURL = ReadWriteAttribute(jsObject: object, name: Strings.newURL) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var oldURL: String + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var newURL: String + @inlinable public var oldURL: String { + get { jsObject[Strings.oldURL].fromJSValue()! } + set { jsObject[Strings.oldURL] = _toJSValue(newValue) } + } + @inlinable public var newURL: String { + get { jsObject[Strings.newURL].fromJSValue()! } + set { jsObject[Strings.newURL] = _toJSValue(newValue) } + } } - public class Headers: JSBridgedClass, Sequence { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Headers].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: HeadersInit? = nil) { + @inlinable public convenience init(`init`: HeadersInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public func append(name: String, value: String) { + @inlinable final public func append(name: String, value: String) { let this = jsObject _ = this[Strings.append].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @inlinable public func delete(name: String) { + @inlinable final public func delete(name: String) { let this = jsObject _ = this[Strings.delete].function!(this: this, arguments: [_toJSValue(name)]) } - @inlinable public func get(name: String) -> String? { + @inlinable final public func get(name: String) -> String? { let this = jsObject return this[Strings.get].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable public func getSetCookie() -> [String] { + @inlinable final public func getSetCookie() -> [String] { let this = jsObject return this[Strings.getSetCookie].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func has(name: String) -> Bool { + @inlinable final public func has(name: String) -> Bool { let this = jsObject return this[Strings.has].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @inlinable public func set(name: String, value: String) { + @inlinable final public func set(name: String, value: String) { let this = jsObject _ = this[Strings.set].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } public typealias Element = String - public func makeIterator() -> ValueIterableIterator { - ValueIterableIterator(sequence: self) - } + public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } } public class History: JSBridgedClass { @@ -9935,45 +10743,46 @@ public class History: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _scrollRestoration = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollRestoration) - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ReadWriteAttribute - public var scrollRestoration: ScrollRestoration + @inlinable public var scrollRestoration: ScrollRestoration { + get { jsObject[Strings.scrollRestoration].fromJSValue()! } + set { jsObject[Strings.scrollRestoration] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var state: JSValue + @inlinable public var state: JSValue { jsObject[Strings.state].fromJSValue()! } - @inlinable public func go(delta: Int32? = nil) { + @inlinable final public func go(delta: Int32? = nil) { let this = jsObject _ = this[Strings.go].function!(this: this, arguments: [_toJSValue(delta)]) } - @inlinable public func back() { + @inlinable final public func back() { let this = jsObject _ = this[Strings.back].function!(this: this, arguments: []) } - @inlinable public func forward() { + @inlinable final public func forward() { let this = jsObject _ = this[Strings.forward].function!(this: this, arguments: []) } - @inlinable public func pushState(data: JSValue, unused: String, url: String? = nil) { + @inlinable final public func pushState(data: JSValue, unused: String, url: String? = nil) { let this = jsObject - _ = this[Strings.pushState].function!(this: this, arguments: [_toJSValue(data), _toJSValue(unused), _toJSValue(url)]) + _ = this[Strings.pushState].function!( + this: this, + arguments: [_toJSValue(data), _toJSValue(unused), _toJSValue(url)] + ) } - @inlinable public func replaceState(data: JSValue, unused: String, url: String? = nil) { + @inlinable final public func replaceState(data: JSValue, unused: String, url: String? = nil) { let this = jsObject - _ = this[Strings.replaceState].function!(this: this, arguments: [_toJSValue(data), _toJSValue(unused), _toJSValue(url)]) + _ = this[Strings.replaceState].function!( + this: this, + arguments: [_toJSValue(data), _toJSValue(unused), _toJSValue(url)] + ) } } @@ -9982,26 +10791,29 @@ public class ImageBitmap: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var width: UInt32 + @inlinable public var width: UInt32 { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: UInt32 + @inlinable public var height: UInt32 { jsObject[Strings.height].fromJSValue()! } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } } -public class ImageBitmapOptions: BridgedDictionary { - public convenience init(imageOrientation: ImageOrientation, premultiplyAlpha: PremultiplyAlpha, colorSpaceConversion: ColorSpaceConversion, resizeWidth: UInt32, resizeHeight: UInt32, resizeQuality: ResizeQuality) { +open class ImageBitmapOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + imageOrientation: ImageOrientation? = nil, + premultiplyAlpha: PremultiplyAlpha? = nil, + colorSpaceConversion: ColorSpaceConversion? = nil, + resizeWidth: UInt32? = nil, + resizeHeight: UInt32? = nil, + resizeQuality: ResizeQuality? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.imageOrientation] = _toJSValue(imageOrientation) object[Strings.premultiplyAlpha] = _toJSValue(premultiplyAlpha) @@ -10009,212 +10821,208 @@ public class ImageBitmapOptions: BridgedDictionary { object[Strings.resizeWidth] = _toJSValue(resizeWidth) object[Strings.resizeHeight] = _toJSValue(resizeHeight) object[Strings.resizeQuality] = _toJSValue(resizeQuality) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _imageOrientation = ReadWriteAttribute(jsObject: object, name: Strings.imageOrientation) - _premultiplyAlpha = ReadWriteAttribute(jsObject: object, name: Strings.premultiplyAlpha) - _colorSpaceConversion = ReadWriteAttribute(jsObject: object, name: Strings.colorSpaceConversion) - _resizeWidth = ReadWriteAttribute(jsObject: object, name: Strings.resizeWidth) - _resizeHeight = ReadWriteAttribute(jsObject: object, name: Strings.resizeHeight) - _resizeQuality = ReadWriteAttribute(jsObject: object, name: Strings.resizeQuality) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var imageOrientation: ImageOrientation + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var premultiplyAlpha: PremultiplyAlpha - - @ReadWriteAttribute - public var colorSpaceConversion: ColorSpaceConversion - - @ReadWriteAttribute - public var resizeWidth: UInt32 - - @ReadWriteAttribute - public var resizeHeight: UInt32 - - @ReadWriteAttribute - public var resizeQuality: ResizeQuality + @inlinable public var imageOrientation: ImageOrientation { + get { jsObject[Strings.imageOrientation].fromJSValue()! } + set { jsObject[Strings.imageOrientation] = _toJSValue(newValue) } + } + @inlinable public var premultiplyAlpha: PremultiplyAlpha { + get { jsObject[Strings.premultiplyAlpha].fromJSValue()! } + set { jsObject[Strings.premultiplyAlpha] = _toJSValue(newValue) } + } + @inlinable public var colorSpaceConversion: ColorSpaceConversion { + get { jsObject[Strings.colorSpaceConversion].fromJSValue()! } + set { jsObject[Strings.colorSpaceConversion] = _toJSValue(newValue) } + } + @inlinable public var resizeWidth: UInt32 { + get { jsObject[Strings.resizeWidth].fromJSValue()! } + set { jsObject[Strings.resizeWidth] = _toJSValue(newValue) } + } + @inlinable public var resizeHeight: UInt32 { + get { jsObject[Strings.resizeHeight].fromJSValue()! } + set { jsObject[Strings.resizeHeight] = _toJSValue(newValue) } + } + @inlinable public var resizeQuality: ResizeQuality { + get { jsObject[Strings.resizeQuality].fromJSValue()! } + set { jsObject[Strings.resizeQuality] = _toJSValue(newValue) } + } } - public class ImageBitmapRenderingContext: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ImageBitmapRenderingContext].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.ImageBitmapRenderingContext].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _canvas = ReadonlyAttribute(jsObject: jsObject, name: Strings.canvas) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var canvas: HTMLCanvasElement_or_OffscreenCanvas + @inlinable public var canvas: HTMLCanvasElement_or_OffscreenCanvas { jsObject[Strings.canvas].fromJSValue()! } - @inlinable public func transferFromImageBitmap(bitmap: ImageBitmap?) { + @inlinable final public func transferFromImageBitmap(bitmap: ImageBitmap?) { let this = jsObject _ = this[Strings.transferFromImageBitmap].function!(this: this, arguments: [_toJSValue(bitmap)]) } } -public class ImageBitmapRenderingContextSettings: BridgedDictionary { - public convenience init(alpha: Bool) { +open class ImageBitmapRenderingContextSettings: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(alpha: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.alpha] = _toJSValue(alpha) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var alpha: Bool + @inlinable public var alpha: Bool { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } } - public class ImageData: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ImageData].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) - _colorSpace = ReadonlyAttribute(jsObject: jsObject, name: Strings.colorSpace) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(sw: UInt32, sh: UInt32, settings: ImageDataSettings? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(sw), _toJSValue(sh), _toJSValue(settings)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(sw), _toJSValue(sh), _toJSValue(settings)]) + ) } - @inlinable public convenience init(data: Uint8ClampedArray, sw: UInt32, sh: UInt32? = nil, settings: ImageDataSettings? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(data), _toJSValue(sw), _toJSValue(sh), _toJSValue(settings)])) + @inlinable public convenience init( + data: Uint8ClampedArray, + sw: UInt32, + sh: UInt32? = nil, + settings: ImageDataSettings? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(data), _toJSValue(sw), _toJSValue(sh), _toJSValue(settings), + ]) + ) } - @ReadonlyAttribute - public var width: UInt32 + @inlinable public var width: UInt32 { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: UInt32 + @inlinable public var height: UInt32 { jsObject[Strings.height].fromJSValue()! } - @ReadonlyAttribute - public var data: Uint8ClampedArray + @inlinable public var data: Uint8ClampedArray { jsObject[Strings.data].fromJSValue()! } - @ReadonlyAttribute - public var colorSpace: PredefinedColorSpace + @inlinable public var colorSpace: PredefinedColorSpace { jsObject[Strings.colorSpace].fromJSValue()! } } -public class ImageDataSettings: BridgedDictionary { - public convenience init(colorSpace: PredefinedColorSpace) { +open class ImageDataSettings: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(colorSpace: PredefinedColorSpace? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.colorSpace] = _toJSValue(colorSpace) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var colorSpace: PredefinedColorSpace + @inlinable public var colorSpace: PredefinedColorSpace { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } } +open class ImageDecodeOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ImageDecodeOptions: BridgedDictionary { - public convenience init(frameIndex: UInt32, completeFramesOnly: Bool) { + public convenience init(frameIndex: UInt32? = nil, completeFramesOnly: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.frameIndex] = _toJSValue(frameIndex) object[Strings.completeFramesOnly] = _toJSValue(completeFramesOnly) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _frameIndex = ReadWriteAttribute(jsObject: object, name: Strings.frameIndex) - _completeFramesOnly = ReadWriteAttribute(jsObject: object, name: Strings.completeFramesOnly) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var frameIndex: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var completeFramesOnly: Bool + @inlinable public var frameIndex: UInt32 { + get { jsObject[Strings.frameIndex].fromJSValue()! } + set { jsObject[Strings.frameIndex] = _toJSValue(newValue) } + } + @inlinable public var completeFramesOnly: Bool { + get { jsObject[Strings.completeFramesOnly].fromJSValue()! } + set { jsObject[Strings.completeFramesOnly] = _toJSValue(newValue) } + } } +open class ImageDecodeResult: JSDictionaryCompatible { + public let jsObject: JSObject -public class ImageDecodeResult: BridgedDictionary { public convenience init(image: VideoFrame, complete: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.image] = _toJSValue(image) object[Strings.complete] = _toJSValue(complete) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _image = ReadWriteAttribute(jsObject: object, name: Strings.image) - _complete = ReadWriteAttribute(jsObject: object, name: Strings.complete) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var image: VideoFrame + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var complete: Bool + @inlinable public var image: VideoFrame { + get { jsObject[Strings.image].fromJSValue()! } + set { jsObject[Strings.image] = _toJSValue(newValue) } + } + @inlinable public var complete: Bool { + get { jsObject[Strings.complete].fromJSValue()! } + set { jsObject[Strings.complete] = _toJSValue(newValue) } + } } - public class ImageDecoder: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ImageDecoder].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _complete = ReadonlyAttribute(jsObject: jsObject, name: Strings.complete) - _completed = ReadonlyAttribute(jsObject: jsObject, name: Strings.completed) - _tracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.tracks) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: ImageDecoderInit) { + @inlinable public convenience init(`init`: ImageDecoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var complete: Bool + @inlinable public var complete: Bool { jsObject[Strings.complete].fromJSValue()! } - @ReadonlyAttribute - public var completed: JSPromise + @inlinable public var completed: JSPromise { jsObject[Strings.completed].fromJSValue()! } - @ReadonlyAttribute - public var tracks: ImageTrackList + @inlinable public var tracks: ImageTrackList { jsObject[Strings.tracks].fromJSValue()! } - @inlinable public func decode(options: ImageDecodeOptions? = nil) -> JSPromise { + @inlinable final public func decode(options: ImageDecodeOptions? = nil) -> JSPromise { let this = jsObject return this[Strings.decode].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func decode(options: ImageDecodeOptions? = nil) async throws -> ImageDecodeResult { - let this = jsObject - let _promise: JSPromise = this[Strings.decode].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func decode( + options: ImageDecodeOptions? = nil + ) async throws(JSException) -> ImageDecodeResult { + let this = jsObject + let _promise: JSPromise = this[Strings.decode].function!(this: this, arguments: [_toJSValue(options)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -10224,16 +11032,30 @@ public class ImageDecoder: JSBridgedClass { return this[Strings.isTypeSupported].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public class func isTypeSupported(type: String) async throws -> Bool { - let this = constructor! - let _promise: JSPromise = this[Strings.isTypeSupported].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isTypeSupported( + type: String + ) async throws(JSException) -> Bool { + let this = constructor! + let _promise: JSPromise = this[Strings.isTypeSupported].function!(this: this, arguments: [_toJSValue(type)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class ImageDecoderInit: BridgedDictionary { - public convenience init(type: String, data: ImageBufferSource, colorSpaceConversion: ColorSpaceConversion, desiredWidth: UInt32, desiredHeight: UInt32, preferAnimation: Bool, transfer: [ArrayBuffer]) { +open class ImageDecoderInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + type: String, + data: ImageBufferSource, + colorSpaceConversion: ColorSpaceConversion? = nil, + desiredWidth: UInt32? = nil, + desiredHeight: UInt32? = nil, + preferAnimation: Bool? = nil, + transfer: [ArrayBuffer]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.data] = _toJSValue(data) @@ -10242,124 +11064,107 @@ public class ImageDecoderInit: BridgedDictionary { object[Strings.desiredHeight] = _toJSValue(desiredHeight) object[Strings.preferAnimation] = _toJSValue(preferAnimation) object[Strings.transfer] = _toJSValue(transfer) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - _colorSpaceConversion = ReadWriteAttribute(jsObject: object, name: Strings.colorSpaceConversion) - _desiredWidth = ReadWriteAttribute(jsObject: object, name: Strings.desiredWidth) - _desiredHeight = ReadWriteAttribute(jsObject: object, name: Strings.desiredHeight) - _preferAnimation = ReadWriteAttribute(jsObject: object, name: Strings.preferAnimation) - _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: String - - @ReadWriteAttribute - public var data: ImageBufferSource - - @ReadWriteAttribute - public var colorSpaceConversion: ColorSpaceConversion - - @ReadWriteAttribute - public var desiredWidth: UInt32 - - @ReadWriteAttribute - public var desiredHeight: UInt32 - - @ReadWriteAttribute - public var preferAnimation: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var transfer: [ArrayBuffer] + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var data: ImageBufferSource { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } + @inlinable public var colorSpaceConversion: ColorSpaceConversion { + get { jsObject[Strings.colorSpaceConversion].fromJSValue()! } + set { jsObject[Strings.colorSpaceConversion] = _toJSValue(newValue) } + } + @inlinable public var desiredWidth: UInt32 { + get { jsObject[Strings.desiredWidth].fromJSValue()! } + set { jsObject[Strings.desiredWidth] = _toJSValue(newValue) } + } + @inlinable public var desiredHeight: UInt32 { + get { jsObject[Strings.desiredHeight].fromJSValue()! } + set { jsObject[Strings.desiredHeight] = _toJSValue(newValue) } + } + @inlinable public var preferAnimation: Bool { + get { jsObject[Strings.preferAnimation].fromJSValue()! } + set { jsObject[Strings.preferAnimation] = _toJSValue(newValue) } + } + @inlinable public var transfer: [ArrayBuffer] { + get { jsObject[Strings.transfer].fromJSValue()! } + set { jsObject[Strings.transfer] = _toJSValue(newValue) } + } } +open class ImageEncodeOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ImageEncodeOptions: BridgedDictionary { - public convenience init(type: String, quality: Double) { + public convenience init(type: String? = nil, quality: Double? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.quality] = _toJSValue(quality) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _quality = ReadWriteAttribute(jsObject: object, name: Strings.quality) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: String + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var quality: Double + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var quality: Double { + get { jsObject[Strings.quality].fromJSValue()! } + set { jsObject[Strings.quality] = _toJSValue(newValue) } + } } - public enum ImageOrientation: JSString, JSValueCompatible { case fromImage = "from-image" case flipY = "flipY" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ImageSmoothingQuality: JSString, JSValueCompatible { case low = "low" case medium = "medium" case high = "high" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class ImageTrack: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ImageTrack].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _animated = ReadonlyAttribute(jsObject: jsObject, name: Strings.animated) - _frameCount = ReadonlyAttribute(jsObject: jsObject, name: Strings.frameCount) - _repetitionCount = ReadonlyAttribute(jsObject: jsObject, name: Strings.repetitionCount) - _selected = ReadWriteAttribute(jsObject: jsObject, name: Strings.selected) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var animated: Bool + @inlinable public var animated: Bool { jsObject[Strings.animated].fromJSValue()! } - @ReadonlyAttribute - public var frameCount: UInt32 + @inlinable public var frameCount: UInt32 { jsObject[Strings.frameCount].fromJSValue()! } - @ReadonlyAttribute - public var repetitionCount: Float + @inlinable public var repetitionCount: Float { jsObject[Strings.repetitionCount].fromJSValue()! } - @ReadWriteAttribute - public var selected: Bool + @inlinable public var selected: Bool { + get { jsObject[Strings.selected].fromJSValue()! } + set { jsObject[Strings.selected] = _toJSValue(newValue) } + } } public class ImageTrackList: JSBridgedClass { @@ -10367,111 +11172,86 @@ public class ImageTrackList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _ready = ReadonlyAttribute(jsObject: jsObject, name: Strings.ready) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _selectedIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.selectedIndex) - _selectedTrack = ReadonlyAttribute(jsObject: jsObject, name: Strings.selectedTrack) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public subscript(key: Int) -> ImageTrack { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> ImageTrack { jsObject[key].fromJSValue()! } - @ReadonlyAttribute - public var ready: JSPromise + @inlinable public var ready: JSPromise { jsObject[Strings.ready].fromJSValue()! } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ReadonlyAttribute - public var selectedIndex: Int32 + @inlinable public var selectedIndex: Int32 { jsObject[Strings.selectedIndex].fromJSValue()! } - @ReadonlyAttribute - public var selectedTrack: ImageTrack? + @inlinable public var selectedTrack: ImageTrack? { jsObject[Strings.selectedTrack].fromJSValue() } } public class InputDeviceInfo: MediaDeviceInfo { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.InputDeviceInfo].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.InputDeviceInfo].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public func getCapabilities() -> MediaTrackCapabilities { + @inlinable final public func getCapabilities() -> MediaTrackCapabilities { let this = jsObject return this[Strings.getCapabilities].function!(this: this, arguments: []).fromJSValue()! } } public class InputEvent: UIEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.InputEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.InputEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) - _isComposing = ReadonlyAttribute(jsObject: jsObject, name: Strings.isComposing) - _inputType = ReadonlyAttribute(jsObject: jsObject, name: Strings.inputType) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: InputEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var data: String? + @inlinable public var data: String? { jsObject[Strings.data].fromJSValue() } - @ReadonlyAttribute - public var isComposing: Bool + @inlinable public var isComposing: Bool { jsObject[Strings.isComposing].fromJSValue()! } - @ReadonlyAttribute - public var inputType: String + @inlinable public var inputType: String { jsObject[Strings.inputType].fromJSValue()! } } -public class InputEventInit: BridgedDictionary { - public convenience init(data: String?, isComposing: Bool, inputType: String) { +open class InputEventInit: UIEventInit { + + public convenience init( + view: Window?, + detail: Int32? = nil, + which: UInt32? = nil, + data: String?, + isComposing: Bool? = nil, + inputType: String? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.view] = _toJSValue(view) + object[Strings.detail] = _toJSValue(detail) + object[Strings.which] = _toJSValue(which) object[Strings.data] = _toJSValue(data) object[Strings.isComposing] = _toJSValue(isComposing) object[Strings.inputType] = _toJSValue(inputType) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - _isComposing = ReadWriteAttribute(jsObject: object, name: Strings.isComposing) - _inputType = ReadWriteAttribute(jsObject: object, name: Strings.inputType) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var data: String? - - @ReadWriteAttribute - public var isComposing: Bool + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var inputType: String + @inlinable public var data: String? { + get { jsObject[Strings.data].fromJSValue() } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } + @inlinable public var isComposing: Bool { + get { jsObject[Strings.isComposing].fromJSValue()! } + set { jsObject[Strings.isComposing] = _toJSValue(newValue) } + } + @inlinable public var inputType: String { + get { jsObject[Strings.inputType].fromJSValue()! } + set { jsObject[Strings.inputType] = _toJSValue(newValue) } + } } - public class KeyboardEvent: UIEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.KeyboardEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _key = ReadonlyAttribute(jsObject: jsObject, name: Strings.key) - _code = ReadonlyAttribute(jsObject: jsObject, name: Strings.code) - _location = ReadonlyAttribute(jsObject: jsObject, name: Strings.location) - _ctrlKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.ctrlKey) - _shiftKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.shiftKey) - _altKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.altKey) - _metaKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.metaKey) - _repeat = ReadonlyAttribute(jsObject: jsObject, name: Strings.repeat) - _isComposing = ReadonlyAttribute(jsObject: jsObject, name: Strings.isComposing) - _charCode = ReadonlyAttribute(jsObject: jsObject, name: Strings.charCode) - _keyCode = ReadonlyAttribute(jsObject: jsObject, name: Strings.keyCode) - super.init(unsafelyWrapping: jsObject) - } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.KeyboardEvent].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: KeyboardEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) @@ -10485,185 +11265,224 @@ public class KeyboardEvent: UIEvent { public static let DOM_KEY_LOCATION_NUMPAD: UInt32 = 0x03 - @ReadonlyAttribute - public var key: String + @inlinable public var key: String { jsObject[Strings.key].fromJSValue()! } - @ReadonlyAttribute - public var code: String + @inlinable public var code: String { jsObject[Strings.code].fromJSValue()! } - @ReadonlyAttribute - public var location: UInt32 + @inlinable public var location: UInt32 { jsObject[Strings.location].fromJSValue()! } - @ReadonlyAttribute - public var ctrlKey: Bool + @inlinable public var ctrlKey: Bool { jsObject[Strings.ctrlKey].fromJSValue()! } - @ReadonlyAttribute - public var shiftKey: Bool + @inlinable public var shiftKey: Bool { jsObject[Strings.shiftKey].fromJSValue()! } - @ReadonlyAttribute - public var altKey: Bool + @inlinable public var altKey: Bool { jsObject[Strings.altKey].fromJSValue()! } - @ReadonlyAttribute - public var metaKey: Bool + @inlinable public var metaKey: Bool { jsObject[Strings.metaKey].fromJSValue()! } - @ReadonlyAttribute - public var `repeat`: Bool + @inlinable public var `repeat`: Bool { jsObject[Strings.`repeat`].fromJSValue()! } - @ReadonlyAttribute - public var isComposing: Bool + @inlinable public var isComposing: Bool { jsObject[Strings.isComposing].fromJSValue()! } - @inlinable public func getModifierState(keyArg: String) -> Bool { + @inlinable final public func getModifierState(keyArg: String) -> Bool { let this = jsObject return this[Strings.getModifierState].function!(this: this, arguments: [_toJSValue(keyArg)]).fromJSValue()! } - @inlinable public func initKeyboardEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, viewArg: Window? = nil, keyArg: String? = nil, locationArg: UInt32? = nil, ctrlKey: Bool? = nil, altKey: Bool? = nil, shiftKey: Bool? = nil, metaKey: Bool? = nil) { - let this = jsObject - _ = this[Strings.initKeyboardEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), _toJSValue(keyArg), _toJSValue(locationArg), _toJSValue(ctrlKey), _toJSValue(altKey), _toJSValue(shiftKey), _toJSValue(metaKey)]) - } - - @ReadonlyAttribute - public var charCode: UInt32 - - @ReadonlyAttribute - public var keyCode: UInt32 -} - -public class KeyboardEventInit: BridgedDictionary { - public convenience init(key: String, code: String, location: UInt32, repeat: Bool, isComposing: Bool, charCode: UInt32, keyCode: UInt32) { + @inlinable final public func initKeyboardEvent( + typeArg: String, + bubblesArg: Bool? = nil, + cancelableArg: Bool? = nil, + viewArg: Window? = nil, + keyArg: String? = nil, + locationArg: UInt32? = nil, + ctrlKey: Bool? = nil, + altKey: Bool? = nil, + shiftKey: Bool? = nil, + metaKey: Bool? = nil + ) { + let this = jsObject + _ = this[Strings.initKeyboardEvent].function!( + this: this, + arguments: [ + _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), + _toJSValue(keyArg), _toJSValue(locationArg), _toJSValue(ctrlKey), _toJSValue(altKey), + _toJSValue(shiftKey), _toJSValue(metaKey), + ] + ) + } + + @inlinable public var charCode: UInt32 { jsObject[Strings.charCode].fromJSValue()! } + + @inlinable public var keyCode: UInt32 { jsObject[Strings.keyCode].fromJSValue()! } +} + +open class KeyboardEventInit: EventModifierInit { + + public convenience init( + ctrlKey: Bool? = nil, + shiftKey: Bool? = nil, + altKey: Bool? = nil, + metaKey: Bool? = nil, + modifierAltGraph: Bool? = nil, + modifierCapsLock: Bool? = nil, + modifierFn: Bool? = nil, + modifierFnLock: Bool? = nil, + modifierHyper: Bool? = nil, + modifierNumLock: Bool? = nil, + modifierScrollLock: Bool? = nil, + modifierSuper: Bool? = nil, + modifierSymbol: Bool? = nil, + modifierSymbolLock: Bool? = nil, + key: String? = nil, + code: String? = nil, + location: UInt32? = nil, + `repeat`: Bool? = nil, + isComposing: Bool? = nil, + charCode: UInt32? = nil, + keyCode: UInt32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.ctrlKey] = _toJSValue(ctrlKey) + object[Strings.shiftKey] = _toJSValue(shiftKey) + object[Strings.altKey] = _toJSValue(altKey) + object[Strings.metaKey] = _toJSValue(metaKey) + object[Strings.modifierAltGraph] = _toJSValue(modifierAltGraph) + object[Strings.modifierCapsLock] = _toJSValue(modifierCapsLock) + object[Strings.modifierFn] = _toJSValue(modifierFn) + object[Strings.modifierFnLock] = _toJSValue(modifierFnLock) + object[Strings.modifierHyper] = _toJSValue(modifierHyper) + object[Strings.modifierNumLock] = _toJSValue(modifierNumLock) + object[Strings.modifierScrollLock] = _toJSValue(modifierScrollLock) + object[Strings.modifierSuper] = _toJSValue(modifierSuper) + object[Strings.modifierSymbol] = _toJSValue(modifierSymbol) + object[Strings.modifierSymbolLock] = _toJSValue(modifierSymbolLock) object[Strings.key] = _toJSValue(key) object[Strings.code] = _toJSValue(code) object[Strings.location] = _toJSValue(location) - object[Strings.repeat] = _toJSValue(`repeat`) + object[Strings.`repeat`] = _toJSValue(`repeat`) object[Strings.isComposing] = _toJSValue(isComposing) object[Strings.charCode] = _toJSValue(charCode) object[Strings.keyCode] = _toJSValue(keyCode) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _key = ReadWriteAttribute(jsObject: object, name: Strings.key) - _code = ReadWriteAttribute(jsObject: object, name: Strings.code) - _location = ReadWriteAttribute(jsObject: object, name: Strings.location) - _repeat = ReadWriteAttribute(jsObject: object, name: Strings.repeat) - _isComposing = ReadWriteAttribute(jsObject: object, name: Strings.isComposing) - _charCode = ReadWriteAttribute(jsObject: object, name: Strings.charCode) - _keyCode = ReadWriteAttribute(jsObject: object, name: Strings.keyCode) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var key: String - - @ReadWriteAttribute - public var code: String + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var location: UInt32 - - @ReadWriteAttribute - public var `repeat`: Bool - - @ReadWriteAttribute - public var isComposing: Bool - - @ReadWriteAttribute - public var charCode: UInt32 - - @ReadWriteAttribute - public var keyCode: UInt32 + @inlinable public var key: String { + get { jsObject[Strings.key].fromJSValue()! } + set { jsObject[Strings.key] = _toJSValue(newValue) } + } + @inlinable public var code: String { + get { jsObject[Strings.code].fromJSValue()! } + set { jsObject[Strings.code] = _toJSValue(newValue) } + } + @inlinable public var location: UInt32 { + get { jsObject[Strings.location].fromJSValue()! } + set { jsObject[Strings.location] = _toJSValue(newValue) } + } + @inlinable public var `repeat`: Bool { + get { jsObject[Strings.`repeat`].fromJSValue()! } + set { jsObject[Strings.`repeat`] = _toJSValue(newValue) } + } + @inlinable public var isComposing: Bool { + get { jsObject[Strings.isComposing].fromJSValue()! } + set { jsObject[Strings.isComposing] = _toJSValue(newValue) } + } + @inlinable public var charCode: UInt32 { + get { jsObject[Strings.charCode].fromJSValue()! } + set { jsObject[Strings.charCode] = _toJSValue(newValue) } + } + @inlinable public var keyCode: UInt32 { + get { jsObject[Strings.keyCode].fromJSValue()! } + set { jsObject[Strings.keyCode] = _toJSValue(newValue) } + } } - public enum LatencyMode: JSString, JSValueCompatible { case quality = "quality" case realtime = "realtime" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class Location: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Location].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _href = ReadWriteAttribute(jsObject: jsObject, name: Strings.href) - _origin = ReadonlyAttribute(jsObject: jsObject, name: Strings.origin) - _protocol = ReadWriteAttribute(jsObject: jsObject, name: Strings.protocol) - _host = ReadWriteAttribute(jsObject: jsObject, name: Strings.host) - _hostname = ReadWriteAttribute(jsObject: jsObject, name: Strings.hostname) - _port = ReadWriteAttribute(jsObject: jsObject, name: Strings.port) - _pathname = ReadWriteAttribute(jsObject: jsObject, name: Strings.pathname) - _search = ReadWriteAttribute(jsObject: jsObject, name: Strings.search) - _hash = ReadWriteAttribute(jsObject: jsObject, name: Strings.hash) - _ancestorOrigins = ReadonlyAttribute(jsObject: jsObject, name: Strings.ancestorOrigins) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var href: String + @inlinable public var href: String { + get { jsObject[Strings.href].fromJSValue()! } + set { jsObject[Strings.href] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var origin: String + @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } - @ReadWriteAttribute - public var `protocol`: String + @inlinable public var `protocol`: String { + get { jsObject[Strings.`protocol`].fromJSValue()! } + set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var host: String + @inlinable public var host: String { + get { jsObject[Strings.host].fromJSValue()! } + set { jsObject[Strings.host] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hostname: String + @inlinable public var hostname: String { + get { jsObject[Strings.hostname].fromJSValue()! } + set { jsObject[Strings.hostname] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var port: String + @inlinable public var port: String { + get { jsObject[Strings.port].fromJSValue()! } + set { jsObject[Strings.port] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var pathname: String + @inlinable public var pathname: String { + get { jsObject[Strings.pathname].fromJSValue()! } + set { jsObject[Strings.pathname] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var search: String + @inlinable public var search: String { + get { jsObject[Strings.search].fromJSValue()! } + set { jsObject[Strings.search] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hash: String + @inlinable public var hash: String { + get { jsObject[Strings.hash].fromJSValue()! } + set { jsObject[Strings.hash] = _toJSValue(newValue) } + } - @inlinable public func assign(url: String) { + @inlinable final public func assign(url: String) { let this = jsObject _ = this[Strings.assign].function!(this: this, arguments: [_toJSValue(url)]) } - @inlinable public func replace(url: String) { + @inlinable final public func replace(url: String) { let this = jsObject _ = this[Strings.replace].function!(this: this, arguments: [_toJSValue(url)]) } - @inlinable public func reload() { + @inlinable final public func reload() { let this = jsObject _ = this[Strings.reload].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var ancestorOrigins: DOMStringList + @inlinable public var ancestorOrigins: DOMStringList { jsObject[Strings.ancestorOrigins].fromJSValue()! } } public class MathMLElement: Element, GlobalEventHandlers, HTMLOrSVGElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MathMLElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MathMLElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class MediaDeviceInfo: JSBridgedClass { @@ -10671,27 +11490,17 @@ public class MediaDeviceInfo: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _deviceId = ReadonlyAttribute(jsObject: jsObject, name: Strings.deviceId) - _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) - _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) - _groupId = ReadonlyAttribute(jsObject: jsObject, name: Strings.groupId) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var deviceId: String + @inlinable public var deviceId: String { jsObject[Strings.deviceId].fromJSValue()! } - @ReadonlyAttribute - public var kind: MediaDeviceKind + @inlinable public var kind: MediaDeviceKind { jsObject[Strings.kind].fromJSValue()! } - @ReadonlyAttribute - public var label: String + @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } - @ReadonlyAttribute - public var groupId: String + @inlinable public var groupId: String { jsObject[Strings.groupId].fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -10703,58 +11512,70 @@ public enum MediaDeviceKind: JSString, JSValueCompatible { case videoinput = "videoinput" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class MediaDevices: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaDevices].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaDevices].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _ondevicechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondevicechange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ClosureAttribute1Optional - public var ondevicechange: EventHandler + @inlinable public var ondevicechange: EventHandler { + get { + guard let function = jsObject[Strings.ondevicechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondevicechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondevicechange] = .null + } + } + } - @inlinable public func enumerateDevices() -> JSPromise { + @inlinable final public func enumerateDevices() -> JSPromise { let this = jsObject return this[Strings.enumerateDevices].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func enumerateDevices() async throws -> [MediaDeviceInfo] { - let this = jsObject - let _promise: JSPromise = this[Strings.enumerateDevices].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func enumerateDevices() + async throws(JSException) -> [MediaDeviceInfo] + { + let this = jsObject + let _promise: JSPromise = this[Strings.enumerateDevices].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func getSupportedConstraints() -> MediaTrackSupportedConstraints { + @inlinable final public func getSupportedConstraints() -> MediaTrackSupportedConstraints { let this = jsObject return this[Strings.getSupportedConstraints].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getUserMedia(constraints: MediaStreamConstraints? = nil) -> JSPromise { + @inlinable final public func getUserMedia(constraints: MediaStreamConstraints? = nil) -> JSPromise { let this = jsObject return this[Strings.getUserMedia].function!(this: this, arguments: [_toJSValue(constraints)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func getUserMedia(constraints: MediaStreamConstraints? = nil) async throws -> MediaStream { - let this = jsObject - let _promise: JSPromise = this[Strings.getUserMedia].function!(this: this, arguments: [_toJSValue(constraints)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getUserMedia( + constraints: MediaStreamConstraints? = nil + ) async throws(JSException) -> MediaStream { + let this = jsObject + let _promise: JSPromise = this[Strings.getUserMedia].function!( + this: this, + arguments: [_toJSValue(constraints)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } public class MediaError: JSBridgedClass { @@ -10762,11 +11583,7 @@ public class MediaError: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _code = ReadonlyAttribute(jsObject: jsObject, name: Strings.code) - _message = ReadonlyAttribute(jsObject: jsObject, name: Strings.message) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } public static let MEDIA_ERR_ABORTED: UInt16 = 1 @@ -10776,164 +11593,217 @@ public class MediaError: JSBridgedClass { public static let MEDIA_ERR_SRC_NOT_SUPPORTED: UInt16 = 4 - @ReadonlyAttribute - public var code: UInt16 + @inlinable public var code: UInt16 { jsObject[Strings.code].fromJSValue()! } - @ReadonlyAttribute - public var message: String + @inlinable public var message: String { jsObject[Strings.message].fromJSValue()! } } public class MediaQueryList: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaQueryList].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaQueryList].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _media = ReadonlyAttribute(jsObject: jsObject, name: Strings.media) - _matches = ReadonlyAttribute(jsObject: jsObject, name: Strings.matches) - _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var media: String + @inlinable public var media: String { jsObject[Strings.media].fromJSValue()! } - @ReadonlyAttribute - public var matches: Bool + @inlinable public var matches: Bool { jsObject[Strings.matches].fromJSValue()! } - @inlinable public func addListener(callback: EventListener?) { + @inlinable final public func addListener(callback: EventListener?) { let this = jsObject _ = this[Strings.addListener].function!(this: this, arguments: [_toJSValue(callback)]) } - @inlinable public func removeListener(callback: EventListener?) { + @inlinable final public func removeListener(callback: EventListener?) { let this = jsObject _ = this[Strings.removeListener].function!(this: this, arguments: [_toJSValue(callback)]) } - - @ClosureAttribute1Optional - public var onchange: EventHandler + + @inlinable public var onchange: EventHandler { + get { + guard let function = jsObject[Strings.onchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onchange] = .null + } + } + } } public class MediaQueryListEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaQueryListEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _media = ReadonlyAttribute(jsObject: jsObject, name: Strings.media) - _matches = ReadonlyAttribute(jsObject: jsObject, name: Strings.matches) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.MediaQueryListEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: MediaQueryListEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var media: String + @inlinable public var media: String { jsObject[Strings.media].fromJSValue()! } - @ReadonlyAttribute - public var matches: Bool + @inlinable public var matches: Bool { jsObject[Strings.matches].fromJSValue()! } } -public class MediaQueryListEventInit: BridgedDictionary { - public convenience init(media: String, matches: Bool) { +open class MediaQueryListEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + media: String? = nil, + matches: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.media] = _toJSValue(media) object[Strings.matches] = _toJSValue(matches) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _media = ReadWriteAttribute(jsObject: object, name: Strings.media) - _matches = ReadWriteAttribute(jsObject: object, name: Strings.matches) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var media: String + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var matches: Bool + @inlinable public var media: String { + get { jsObject[Strings.media].fromJSValue()! } + set { jsObject[Strings.media] = _toJSValue(newValue) } + } + @inlinable public var matches: Bool { + get { jsObject[Strings.matches].fromJSValue()! } + set { jsObject[Strings.matches] = _toJSValue(newValue) } + } } - public class MediaRecorder: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaRecorder].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _stream = ReadonlyAttribute(jsObject: jsObject, name: Strings.stream) - _mimeType = ReadonlyAttribute(jsObject: jsObject, name: Strings.mimeType) - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _onstart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstart) - _onstop = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstop) - _ondataavailable = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondataavailable) - _onpause = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onpause) - _onresume = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onresume) - _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) - _videoBitsPerSecond = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoBitsPerSecond) - _audioBitsPerSecond = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioBitsPerSecond) - _audioBitrateMode = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioBitrateMode) - super.init(unsafelyWrapping: jsObject) - } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaRecorder].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(stream: MediaStream, options: MediaRecorderOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream), _toJSValue(options)])) } - @ReadonlyAttribute - public var stream: MediaStream + @inlinable public var stream: MediaStream { jsObject[Strings.stream].fromJSValue()! } - @ReadonlyAttribute - public var mimeType: String + @inlinable public var mimeType: String { jsObject[Strings.mimeType].fromJSValue()! } - @ReadonlyAttribute - public var state: RecordingState + @inlinable public var state: RecordingState { jsObject[Strings.state].fromJSValue()! } - @ClosureAttribute1Optional - public var onstart: EventHandler + @inlinable public var onstart: EventHandler { + get { + guard let function = jsObject[Strings.onstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onstart] = .null + } + } + } - @ClosureAttribute1Optional - public var onstop: EventHandler + @inlinable public var onstop: EventHandler { + get { + guard let function = jsObject[Strings.onstop].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onstop] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onstop] = .null + } + } + } - @ClosureAttribute1Optional - public var ondataavailable: EventHandler + @inlinable public var ondataavailable: EventHandler { + get { + guard let function = jsObject[Strings.ondataavailable].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondataavailable] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondataavailable] = .null + } + } + } - @ClosureAttribute1Optional - public var onpause: EventHandler + @inlinable public var onpause: EventHandler { + get { + guard let function = jsObject[Strings.onpause].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpause] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpause] = .null + } + } + } - @ClosureAttribute1Optional - public var onresume: EventHandler + @inlinable public var onresume: EventHandler { + get { + guard let function = jsObject[Strings.onresume].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onresume] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onresume] = .null + } + } + } - @ClosureAttribute1Optional - public var onerror: EventHandler + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } - @ReadonlyAttribute - public var videoBitsPerSecond: UInt32 + @inlinable public var videoBitsPerSecond: UInt32 { jsObject[Strings.videoBitsPerSecond].fromJSValue()! } - @ReadonlyAttribute - public var audioBitsPerSecond: UInt32 + @inlinable public var audioBitsPerSecond: UInt32 { jsObject[Strings.audioBitsPerSecond].fromJSValue()! } - @ReadonlyAttribute - public var audioBitrateMode: BitrateMode + @inlinable public var audioBitrateMode: BitrateMode { jsObject[Strings.audioBitrateMode].fromJSValue()! } - @inlinable public func start(timeslice: UInt32? = nil) { + @inlinable final public func start(timeslice: UInt32? = nil) { let this = jsObject _ = this[Strings.start].function!(this: this, arguments: [_toJSValue(timeslice)]) } - @inlinable public func stop() { + @inlinable final public func stop() { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: []) } - @inlinable public func pause() { + @inlinable final public func pause() { let this = jsObject _ = this[Strings.pause].function!(this: this, arguments: []) } - @inlinable public func resume() { + @inlinable final public func resume() { let this = jsObject _ = this[Strings.resume].function!(this: this, arguments: []) } - @inlinable public func requestData() { + @inlinable final public func requestData() { let this = jsObject _ = this[Strings.requestData].function!(this: this, arguments: []) } @@ -10944,8 +11814,18 @@ public class MediaRecorder: EventTarget { } } -public class MediaRecorderOptions: BridgedDictionary { - public convenience init(mimeType: String, audioBitsPerSecond: UInt32, videoBitsPerSecond: UInt32, bitsPerSecond: UInt32, audioBitrateMode: BitrateMode, videoKeyFrameIntervalDuration: DOMHighResTimeStamp, videoKeyFrameIntervalCount: UInt32) { +open class MediaRecorderOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + mimeType: String? = nil, + audioBitsPerSecond: UInt32? = nil, + videoBitsPerSecond: UInt32? = nil, + bitsPerSecond: UInt32? = nil, + audioBitrateMode: BitrateMode? = nil, + videoKeyFrameIntervalDuration: DOMHighResTimeStamp? = nil, + videoKeyFrameIntervalCount: UInt32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.mimeType] = _toJSValue(mimeType) object[Strings.audioBitsPerSecond] = _toJSValue(audioBitsPerSecond) @@ -10954,110 +11834,128 @@ public class MediaRecorderOptions: BridgedDictionary { object[Strings.audioBitrateMode] = _toJSValue(audioBitrateMode) object[Strings.videoKeyFrameIntervalDuration] = _toJSValue(videoKeyFrameIntervalDuration) object[Strings.videoKeyFrameIntervalCount] = _toJSValue(videoKeyFrameIntervalCount) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _mimeType = ReadWriteAttribute(jsObject: object, name: Strings.mimeType) - _audioBitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.audioBitsPerSecond) - _videoBitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.videoBitsPerSecond) - _bitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.bitsPerSecond) - _audioBitrateMode = ReadWriteAttribute(jsObject: object, name: Strings.audioBitrateMode) - _videoKeyFrameIntervalDuration = ReadWriteAttribute(jsObject: object, name: Strings.videoKeyFrameIntervalDuration) - _videoKeyFrameIntervalCount = ReadWriteAttribute(jsObject: object, name: Strings.videoKeyFrameIntervalCount) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var mimeType: String - - @ReadWriteAttribute - public var audioBitsPerSecond: UInt32 - - @ReadWriteAttribute - public var videoBitsPerSecond: UInt32 - - @ReadWriteAttribute - public var bitsPerSecond: UInt32 - - @ReadWriteAttribute - public var audioBitrateMode: BitrateMode - - @ReadWriteAttribute - public var videoKeyFrameIntervalDuration: DOMHighResTimeStamp + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var videoKeyFrameIntervalCount: UInt32 + @inlinable public var mimeType: String { + get { jsObject[Strings.mimeType].fromJSValue()! } + set { jsObject[Strings.mimeType] = _toJSValue(newValue) } + } + @inlinable public var audioBitsPerSecond: UInt32 { + get { jsObject[Strings.audioBitsPerSecond].fromJSValue()! } + set { jsObject[Strings.audioBitsPerSecond] = _toJSValue(newValue) } + } + @inlinable public var videoBitsPerSecond: UInt32 { + get { jsObject[Strings.videoBitsPerSecond].fromJSValue()! } + set { jsObject[Strings.videoBitsPerSecond] = _toJSValue(newValue) } + } + @inlinable public var bitsPerSecond: UInt32 { + get { jsObject[Strings.bitsPerSecond].fromJSValue()! } + set { jsObject[Strings.bitsPerSecond] = _toJSValue(newValue) } + } + @inlinable public var audioBitrateMode: BitrateMode { + get { jsObject[Strings.audioBitrateMode].fromJSValue()! } + set { jsObject[Strings.audioBitrateMode] = _toJSValue(newValue) } + } + @inlinable public var videoKeyFrameIntervalDuration: DOMHighResTimeStamp { + get { jsObject[Strings.videoKeyFrameIntervalDuration].fromJSValue()! } + set { jsObject[Strings.videoKeyFrameIntervalDuration] = _toJSValue(newValue) } + } + @inlinable public var videoKeyFrameIntervalCount: UInt32 { + get { jsObject[Strings.videoKeyFrameIntervalCount].fromJSValue()! } + set { jsObject[Strings.videoKeyFrameIntervalCount] = _toJSValue(newValue) } + } } - public class MediaSource: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaSource].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaSource].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _handle = ReadonlyAttribute(jsObject: jsObject, name: Strings.handle) - _sourceBuffers = ReadonlyAttribute(jsObject: jsObject, name: Strings.sourceBuffers) - _activeSourceBuffers = ReadonlyAttribute(jsObject: jsObject, name: Strings.activeSourceBuffers) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _duration = ReadWriteAttribute(jsObject: jsObject, name: Strings.duration) - _onsourceopen = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onsourceopen) - _onsourceended = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onsourceended) - _onsourceclose = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onsourceclose) - _canConstructInDedicatedWorker = ReadonlyAttribute(jsObject: jsObject, name: Strings.canConstructInDedicatedWorker) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var handle: MediaSourceHandle + @inlinable public var handle: MediaSourceHandle { jsObject[Strings.handle].fromJSValue()! } - @ReadonlyAttribute - public var sourceBuffers: SourceBufferList + @inlinable public var sourceBuffers: SourceBufferList { jsObject[Strings.sourceBuffers].fromJSValue()! } - @ReadonlyAttribute - public var activeSourceBuffers: SourceBufferList + @inlinable public var activeSourceBuffers: SourceBufferList { jsObject[Strings.activeSourceBuffers].fromJSValue()! } - @ReadonlyAttribute - public var readyState: ReadyState + @inlinable public var readyState: ReadyState { jsObject[Strings.readyState].fromJSValue()! } - @ReadWriteAttribute - public var duration: Double + @inlinable public var duration: Double { + get { jsObject[Strings.duration].fromJSValue()! } + set { jsObject[Strings.duration] = _toJSValue(newValue) } + } - @ClosureAttribute1Optional - public var onsourceopen: EventHandler + @inlinable public var onsourceopen: EventHandler { + get { + guard let function = jsObject[Strings.onsourceopen].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onsourceopen] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onsourceopen] = .null + } + } + } - @ClosureAttribute1Optional - public var onsourceended: EventHandler + @inlinable public var onsourceended: EventHandler { + get { + guard let function = jsObject[Strings.onsourceended].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onsourceended] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onsourceended] = .null + } + } + } - @ClosureAttribute1Optional - public var onsourceclose: EventHandler + @inlinable public var onsourceclose: EventHandler { + get { + guard let function = jsObject[Strings.onsourceclose].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onsourceclose] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onsourceclose] = .null + } + } + } - @ReadonlyAttribute - public var canConstructInDedicatedWorker: Bool + @inlinable public var canConstructInDedicatedWorker: Bool { + jsObject[Strings.canConstructInDedicatedWorker].fromJSValue()! + } - @inlinable public func addSourceBuffer(type: String) -> SourceBuffer { + @inlinable final public func addSourceBuffer(type: String) -> SourceBuffer { let this = jsObject return this[Strings.addSourceBuffer].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @inlinable public func removeSourceBuffer(sourceBuffer: SourceBuffer) { + @inlinable final public func removeSourceBuffer(sourceBuffer: SourceBuffer) { let this = jsObject _ = this[Strings.removeSourceBuffer].function!(this: this, arguments: [_toJSValue(sourceBuffer)]) } - @inlinable public func endOfStream(error: EndOfStreamError? = nil) { + @inlinable final public func endOfStream(error: EndOfStreamError? = nil) { let this = jsObject _ = this[Strings.endOfStream].function!(this: this, arguments: [_toJSValue(error)]) } - @inlinable public func setLiveSeekableRange(start: Double, end: Double) { + @inlinable final public func setLiveSeekableRange(start: Double, end: Double) { let this = jsObject _ = this[Strings.setLiveSeekableRange].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end)]) } - @inlinable public func clearLiveSeekableRange() { + @inlinable final public func clearLiveSeekableRange() { let this = jsObject _ = this[Strings.clearLiveSeekableRange].function!(this: this, arguments: []) } @@ -11073,25 +11971,16 @@ public class MediaSourceHandle: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } public class MediaStream: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaStream].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaStream].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _active = ReadonlyAttribute(jsObject: jsObject, name: Strings.active) - _onaddtrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddtrack) - _onremovetrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovetrack) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } @inlinable public convenience init(stream: MediaStream) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream)])) @@ -11101,208 +11990,273 @@ public class MediaStream: EventTarget { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(tracks)])) } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @inlinable public func getAudioTracks() -> [MediaStreamTrack] { + @inlinable final public func getAudioTracks() -> [MediaStreamTrack] { let this = jsObject return this[Strings.getAudioTracks].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getVideoTracks() -> [MediaStreamTrack] { + @inlinable final public func getVideoTracks() -> [MediaStreamTrack] { let this = jsObject return this[Strings.getVideoTracks].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getTracks() -> [MediaStreamTrack] { + @inlinable final public func getTracks() -> [MediaStreamTrack] { let this = jsObject return this[Strings.getTracks].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getTrackById(trackId: String) -> MediaStreamTrack? { + @inlinable final public func getTrackById(trackId: String) -> MediaStreamTrack? { let this = jsObject return this[Strings.getTrackById].function!(this: this, arguments: [_toJSValue(trackId)]).fromJSValue() } - @inlinable public func addTrack(track: MediaStreamTrack) { + @inlinable final public func addTrack(track: MediaStreamTrack) { let this = jsObject _ = this[Strings.addTrack].function!(this: this, arguments: [_toJSValue(track)]) } - @inlinable public func removeTrack(track: MediaStreamTrack) { + @inlinable final public func removeTrack(track: MediaStreamTrack) { let this = jsObject _ = this[Strings.removeTrack].function!(this: this, arguments: [_toJSValue(track)]) } - @inlinable public func clone() -> Self { + @inlinable final public func clone() -> MediaStream { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var active: Bool + @inlinable public var active: Bool { jsObject[Strings.active].fromJSValue()! } - @ClosureAttribute1Optional - public var onaddtrack: EventHandler + @inlinable public var onaddtrack: EventHandler { + get { + guard let function = jsObject[Strings.onaddtrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onaddtrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onaddtrack] = .null + } + } + } - @ClosureAttribute1Optional - public var onremovetrack: EventHandler + @inlinable public var onremovetrack: EventHandler { + get { + guard let function = jsObject[Strings.onremovetrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onremovetrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onremovetrack] = .null + } + } + } } -public class MediaStreamConstraints: BridgedDictionary { - public convenience init(video: Bool_or_MediaTrackConstraints, audio: Bool_or_MediaTrackConstraints) { +open class MediaStreamConstraints: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(video: Bool_or_MediaTrackConstraints? = nil, audio: Bool_or_MediaTrackConstraints? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.video] = _toJSValue(video) object[Strings.audio] = _toJSValue(audio) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _video = ReadWriteAttribute(jsObject: object, name: Strings.video) - _audio = ReadWriteAttribute(jsObject: object, name: Strings.audio) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var video: Bool_or_MediaTrackConstraints + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var audio: Bool_or_MediaTrackConstraints + @inlinable public var video: Bool_or_MediaTrackConstraints { + get { jsObject[Strings.video].fromJSValue()! } + set { jsObject[Strings.video] = _toJSValue(newValue) } + } + @inlinable public var audio: Bool_or_MediaTrackConstraints { + get { jsObject[Strings.audio].fromJSValue()! } + set { jsObject[Strings.audio] = _toJSValue(newValue) } + } } - public class MediaStreamTrack: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaStreamTrack].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaStreamTrack].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) - _enabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.enabled) - _muted = ReadonlyAttribute(jsObject: jsObject, name: Strings.muted) - _onmute = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmute) - _onunmute = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onunmute) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _onended = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onended) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var kind: String + @inlinable public var kind: String { jsObject[Strings.kind].fromJSValue()! } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var label: String + @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } - @ReadWriteAttribute - public var enabled: Bool + @inlinable public var enabled: Bool { + get { jsObject[Strings.enabled].fromJSValue()! } + set { jsObject[Strings.enabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var muted: Bool + @inlinable public var muted: Bool { jsObject[Strings.muted].fromJSValue()! } - @ClosureAttribute1Optional - public var onmute: EventHandler + @inlinable public var onmute: EventHandler { + get { + guard let function = jsObject[Strings.onmute].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmute] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmute] = .null + } + } + } - @ClosureAttribute1Optional - public var onunmute: EventHandler + @inlinable public var onunmute: EventHandler { + get { + guard let function = jsObject[Strings.onunmute].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onunmute] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onunmute] = .null + } + } + } - @ReadonlyAttribute - public var readyState: MediaStreamTrackState + @inlinable public var readyState: MediaStreamTrackState { jsObject[Strings.readyState].fromJSValue()! } - @ClosureAttribute1Optional - public var onended: EventHandler + @inlinable public var onended: EventHandler { + get { + guard let function = jsObject[Strings.onended].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onended] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onended] = .null + } + } + } - @inlinable public func clone() -> Self { + @inlinable final public func clone() -> MediaStreamTrack { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func stop() { + @inlinable final public func stop() { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: []) } - @inlinable public func getCapabilities() -> MediaTrackCapabilities { + @inlinable final public func getCapabilities() -> MediaTrackCapabilities { let this = jsObject return this[Strings.getCapabilities].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getConstraints() -> MediaTrackConstraints { + @inlinable final public func getConstraints() -> MediaTrackConstraints { let this = jsObject return this[Strings.getConstraints].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getSettings() -> MediaTrackSettings { + @inlinable final public func getSettings() -> MediaTrackSettings { let this = jsObject return this[Strings.getSettings].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func applyConstraints(constraints: MediaTrackConstraints? = nil) -> JSPromise { + @inlinable final public func applyConstraints(constraints: MediaTrackConstraints? = nil) -> JSPromise { let this = jsObject return this[Strings.applyConstraints].function!(this: this, arguments: [_toJSValue(constraints)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func applyConstraints(constraints: MediaTrackConstraints? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.applyConstraints].function!(this: this, arguments: [_toJSValue(constraints)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func applyConstraints( + constraints: MediaTrackConstraints? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.applyConstraints].function!( + this: this, + arguments: [_toJSValue(constraints)] + ).fromJSValue()! + _ = try await _promise.value + } + #endif } public class MediaStreamTrackEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaStreamTrackEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _track = ReadonlyAttribute(jsObject: jsObject, name: Strings.track) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.MediaStreamTrackEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: MediaStreamTrackEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var track: MediaStreamTrack + @inlinable public var track: MediaStreamTrack { jsObject[Strings.track].fromJSValue()! } } -public class MediaStreamTrackEventInit: BridgedDictionary { - public convenience init(track: MediaStreamTrack) { +open class MediaStreamTrackEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + track: MediaStreamTrack + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.track] = _toJSValue(track) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _track = ReadWriteAttribute(jsObject: object, name: Strings.track) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var track: MediaStreamTrack + @inlinable public var track: MediaStreamTrack { + get { jsObject[Strings.track].fromJSValue()! } + set { jsObject[Strings.track] = _toJSValue(newValue) } + } } - public enum MediaStreamTrackState: JSString, JSValueCompatible { case live = "live" case ended = "ended" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class MediaTrackCapabilities: JSDictionaryCompatible { + public let jsObject: JSObject -public class MediaTrackCapabilities: BridgedDictionary { - public convenience init(width: ULongRange, height: ULongRange, aspectRatio: DoubleRange, frameRate: DoubleRange, facingMode: [String], resizeMode: [String], sampleRate: ULongRange, sampleSize: ULongRange, echoCancellation: [Bool], autoGainControl: [Bool], noiseSuppression: [Bool], latency: DoubleRange, channelCount: ULongRange, deviceId: String, groupId: String) { + public convenience init( + width: ULongRange? = nil, + height: ULongRange? = nil, + aspectRatio: DoubleRange? = nil, + frameRate: DoubleRange? = nil, + facingMode: [String]? = nil, + resizeMode: [String]? = nil, + sampleRate: ULongRange? = nil, + sampleSize: ULongRange? = nil, + echoCancellation: [Bool]? = nil, + autoGainControl: [Bool]? = nil, + noiseSuppression: [Bool]? = nil, + latency: DoubleRange? = nil, + channelCount: ULongRange? = nil, + deviceId: String? = nil, + groupId: String? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) @@ -11319,76 +12273,93 @@ public class MediaTrackCapabilities: BridgedDictionary { object[Strings.channelCount] = _toJSValue(channelCount) object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.groupId] = _toJSValue(groupId) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _width = ReadWriteAttribute(jsObject: object, name: Strings.width) - _height = ReadWriteAttribute(jsObject: object, name: Strings.height) - _aspectRatio = ReadWriteAttribute(jsObject: object, name: Strings.aspectRatio) - _frameRate = ReadWriteAttribute(jsObject: object, name: Strings.frameRate) - _facingMode = ReadWriteAttribute(jsObject: object, name: Strings.facingMode) - _resizeMode = ReadWriteAttribute(jsObject: object, name: Strings.resizeMode) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _sampleSize = ReadWriteAttribute(jsObject: object, name: Strings.sampleSize) - _echoCancellation = ReadWriteAttribute(jsObject: object, name: Strings.echoCancellation) - _autoGainControl = ReadWriteAttribute(jsObject: object, name: Strings.autoGainControl) - _noiseSuppression = ReadWriteAttribute(jsObject: object, name: Strings.noiseSuppression) - _latency = ReadWriteAttribute(jsObject: object, name: Strings.latency) - _channelCount = ReadWriteAttribute(jsObject: object, name: Strings.channelCount) - _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) - _groupId = ReadWriteAttribute(jsObject: object, name: Strings.groupId) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var width: ULongRange - - @ReadWriteAttribute - public var height: ULongRange - - @ReadWriteAttribute - public var aspectRatio: DoubleRange - - @ReadWriteAttribute - public var frameRate: DoubleRange + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var facingMode: [String] - - @ReadWriteAttribute - public var resizeMode: [String] - - @ReadWriteAttribute - public var sampleRate: ULongRange - - @ReadWriteAttribute - public var sampleSize: ULongRange - - @ReadWriteAttribute - public var echoCancellation: [Bool] - - @ReadWriteAttribute - public var autoGainControl: [Bool] - - @ReadWriteAttribute - public var noiseSuppression: [Bool] - - @ReadWriteAttribute - public var latency: DoubleRange - - @ReadWriteAttribute - public var channelCount: ULongRange - - @ReadWriteAttribute - public var deviceId: String - - @ReadWriteAttribute - public var groupId: String + @inlinable public var width: ULongRange { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + @inlinable public var height: ULongRange { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } + @inlinable public var aspectRatio: DoubleRange { + get { jsObject[Strings.aspectRatio].fromJSValue()! } + set { jsObject[Strings.aspectRatio] = _toJSValue(newValue) } + } + @inlinable public var frameRate: DoubleRange { + get { jsObject[Strings.frameRate].fromJSValue()! } + set { jsObject[Strings.frameRate] = _toJSValue(newValue) } + } + @inlinable public var facingMode: [String] { + get { jsObject[Strings.facingMode].fromJSValue()! } + set { jsObject[Strings.facingMode] = _toJSValue(newValue) } + } + @inlinable public var resizeMode: [String] { + get { jsObject[Strings.resizeMode].fromJSValue()! } + set { jsObject[Strings.resizeMode] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: ULongRange { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var sampleSize: ULongRange { + get { jsObject[Strings.sampleSize].fromJSValue()! } + set { jsObject[Strings.sampleSize] = _toJSValue(newValue) } + } + @inlinable public var echoCancellation: [Bool] { + get { jsObject[Strings.echoCancellation].fromJSValue()! } + set { jsObject[Strings.echoCancellation] = _toJSValue(newValue) } + } + @inlinable public var autoGainControl: [Bool] { + get { jsObject[Strings.autoGainControl].fromJSValue()! } + set { jsObject[Strings.autoGainControl] = _toJSValue(newValue) } + } + @inlinable public var noiseSuppression: [Bool] { + get { jsObject[Strings.noiseSuppression].fromJSValue()! } + set { jsObject[Strings.noiseSuppression] = _toJSValue(newValue) } + } + @inlinable public var latency: DoubleRange { + get { jsObject[Strings.latency].fromJSValue()! } + set { jsObject[Strings.latency] = _toJSValue(newValue) } + } + @inlinable public var channelCount: ULongRange { + get { jsObject[Strings.channelCount].fromJSValue()! } + set { jsObject[Strings.channelCount] = _toJSValue(newValue) } + } + @inlinable public var deviceId: String { + get { jsObject[Strings.deviceId].fromJSValue()! } + set { jsObject[Strings.deviceId] = _toJSValue(newValue) } + } + @inlinable public var groupId: String { + get { jsObject[Strings.groupId].fromJSValue()! } + set { jsObject[Strings.groupId] = _toJSValue(newValue) } + } } +open class MediaTrackConstraintSet: JSDictionaryCompatible { + public let jsObject: JSObject -public class MediaTrackConstraintSet: BridgedDictionary { - public convenience init(width: ConstrainULong, height: ConstrainULong, aspectRatio: ConstrainDouble, frameRate: ConstrainDouble, facingMode: ConstrainDOMString, resizeMode: ConstrainDOMString, sampleRate: ConstrainULong, sampleSize: ConstrainULong, echoCancellation: ConstrainBoolean, autoGainControl: ConstrainBoolean, noiseSuppression: ConstrainBoolean, latency: ConstrainDouble, channelCount: ConstrainULong, deviceId: ConstrainDOMString, groupId: ConstrainDOMString) { + public convenience init( + width: ConstrainULong? = nil, + height: ConstrainULong? = nil, + aspectRatio: ConstrainDouble? = nil, + frameRate: ConstrainDouble? = nil, + facingMode: ConstrainDOMString? = nil, + resizeMode: ConstrainDOMString? = nil, + sampleRate: ConstrainULong? = nil, + sampleSize: ConstrainULong? = nil, + echoCancellation: ConstrainBoolean? = nil, + autoGainControl: ConstrainBoolean? = nil, + noiseSuppression: ConstrainBoolean? = nil, + latency: ConstrainDouble? = nil, + channelCount: ConstrainULong? = nil, + deviceId: ConstrainDOMString? = nil, + groupId: ConstrainDOMString? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) @@ -11405,92 +12376,141 @@ public class MediaTrackConstraintSet: BridgedDictionary { object[Strings.channelCount] = _toJSValue(channelCount) object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.groupId] = _toJSValue(groupId) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _width = ReadWriteAttribute(jsObject: object, name: Strings.width) - _height = ReadWriteAttribute(jsObject: object, name: Strings.height) - _aspectRatio = ReadWriteAttribute(jsObject: object, name: Strings.aspectRatio) - _frameRate = ReadWriteAttribute(jsObject: object, name: Strings.frameRate) - _facingMode = ReadWriteAttribute(jsObject: object, name: Strings.facingMode) - _resizeMode = ReadWriteAttribute(jsObject: object, name: Strings.resizeMode) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _sampleSize = ReadWriteAttribute(jsObject: object, name: Strings.sampleSize) - _echoCancellation = ReadWriteAttribute(jsObject: object, name: Strings.echoCancellation) - _autoGainControl = ReadWriteAttribute(jsObject: object, name: Strings.autoGainControl) - _noiseSuppression = ReadWriteAttribute(jsObject: object, name: Strings.noiseSuppression) - _latency = ReadWriteAttribute(jsObject: object, name: Strings.latency) - _channelCount = ReadWriteAttribute(jsObject: object, name: Strings.channelCount) - _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) - _groupId = ReadWriteAttribute(jsObject: object, name: Strings.groupId) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var width: ConstrainULong - - @ReadWriteAttribute - public var height: ConstrainULong - - @ReadWriteAttribute - public var aspectRatio: ConstrainDouble - - @ReadWriteAttribute - public var frameRate: ConstrainDouble - - @ReadWriteAttribute - public var facingMode: ConstrainDOMString - - @ReadWriteAttribute - public var resizeMode: ConstrainDOMString - - @ReadWriteAttribute - public var sampleRate: ConstrainULong - - @ReadWriteAttribute - public var sampleSize: ConstrainULong - - @ReadWriteAttribute - public var echoCancellation: ConstrainBoolean - - @ReadWriteAttribute - public var autoGainControl: ConstrainBoolean - - @ReadWriteAttribute - public var noiseSuppression: ConstrainBoolean - - @ReadWriteAttribute - public var latency: ConstrainDouble - - @ReadWriteAttribute - public var channelCount: ConstrainULong - - @ReadWriteAttribute - public var deviceId: ConstrainDOMString - - @ReadWriteAttribute - public var groupId: ConstrainDOMString -} - -public class MediaTrackConstraints: BridgedDictionary { - public convenience init(advanced: [MediaTrackConstraintSet]) { + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var width: ConstrainULong { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + @inlinable public var height: ConstrainULong { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } + @inlinable public var aspectRatio: ConstrainDouble { + get { jsObject[Strings.aspectRatio].fromJSValue()! } + set { jsObject[Strings.aspectRatio] = _toJSValue(newValue) } + } + @inlinable public var frameRate: ConstrainDouble { + get { jsObject[Strings.frameRate].fromJSValue()! } + set { jsObject[Strings.frameRate] = _toJSValue(newValue) } + } + @inlinable public var facingMode: ConstrainDOMString { + get { jsObject[Strings.facingMode].fromJSValue()! } + set { jsObject[Strings.facingMode] = _toJSValue(newValue) } + } + @inlinable public var resizeMode: ConstrainDOMString { + get { jsObject[Strings.resizeMode].fromJSValue()! } + set { jsObject[Strings.resizeMode] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: ConstrainULong { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var sampleSize: ConstrainULong { + get { jsObject[Strings.sampleSize].fromJSValue()! } + set { jsObject[Strings.sampleSize] = _toJSValue(newValue) } + } + @inlinable public var echoCancellation: ConstrainBoolean { + get { jsObject[Strings.echoCancellation].fromJSValue()! } + set { jsObject[Strings.echoCancellation] = _toJSValue(newValue) } + } + @inlinable public var autoGainControl: ConstrainBoolean { + get { jsObject[Strings.autoGainControl].fromJSValue()! } + set { jsObject[Strings.autoGainControl] = _toJSValue(newValue) } + } + @inlinable public var noiseSuppression: ConstrainBoolean { + get { jsObject[Strings.noiseSuppression].fromJSValue()! } + set { jsObject[Strings.noiseSuppression] = _toJSValue(newValue) } + } + @inlinable public var latency: ConstrainDouble { + get { jsObject[Strings.latency].fromJSValue()! } + set { jsObject[Strings.latency] = _toJSValue(newValue) } + } + @inlinable public var channelCount: ConstrainULong { + get { jsObject[Strings.channelCount].fromJSValue()! } + set { jsObject[Strings.channelCount] = _toJSValue(newValue) } + } + @inlinable public var deviceId: ConstrainDOMString { + get { jsObject[Strings.deviceId].fromJSValue()! } + set { jsObject[Strings.deviceId] = _toJSValue(newValue) } + } + @inlinable public var groupId: ConstrainDOMString { + get { jsObject[Strings.groupId].fromJSValue()! } + set { jsObject[Strings.groupId] = _toJSValue(newValue) } + } +} +open class MediaTrackConstraints: MediaTrackConstraintSet { + + public convenience init( + width: ConstrainULong? = nil, + height: ConstrainULong? = nil, + aspectRatio: ConstrainDouble? = nil, + frameRate: ConstrainDouble? = nil, + facingMode: ConstrainDOMString? = nil, + resizeMode: ConstrainDOMString? = nil, + sampleRate: ConstrainULong? = nil, + sampleSize: ConstrainULong? = nil, + echoCancellation: ConstrainBoolean? = nil, + autoGainControl: ConstrainBoolean? = nil, + noiseSuppression: ConstrainBoolean? = nil, + latency: ConstrainDouble? = nil, + channelCount: ConstrainULong? = nil, + deviceId: ConstrainDOMString? = nil, + groupId: ConstrainDOMString? = nil, + advanced: [MediaTrackConstraintSet]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.width] = _toJSValue(width) + object[Strings.height] = _toJSValue(height) + object[Strings.aspectRatio] = _toJSValue(aspectRatio) + object[Strings.frameRate] = _toJSValue(frameRate) + object[Strings.facingMode] = _toJSValue(facingMode) + object[Strings.resizeMode] = _toJSValue(resizeMode) + object[Strings.sampleRate] = _toJSValue(sampleRate) + object[Strings.sampleSize] = _toJSValue(sampleSize) + object[Strings.echoCancellation] = _toJSValue(echoCancellation) + object[Strings.autoGainControl] = _toJSValue(autoGainControl) + object[Strings.noiseSuppression] = _toJSValue(noiseSuppression) + object[Strings.latency] = _toJSValue(latency) + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.deviceId] = _toJSValue(deviceId) + object[Strings.groupId] = _toJSValue(groupId) object[Strings.advanced] = _toJSValue(advanced) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _advanced = ReadWriteAttribute(jsObject: object, name: Strings.advanced) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var advanced: [MediaTrackConstraintSet] + @inlinable public var advanced: [MediaTrackConstraintSet] { + get { jsObject[Strings.advanced].fromJSValue()! } + set { jsObject[Strings.advanced] = _toJSValue(newValue) } + } } +open class MediaTrackSettings: JSDictionaryCompatible { + public let jsObject: JSObject -public class MediaTrackSettings: BridgedDictionary { - public convenience init(width: UInt32, height: UInt32, aspectRatio: Double, frameRate: Double, facingMode: String, resizeMode: String, sampleRate: UInt32, sampleSize: UInt32, echoCancellation: Bool, autoGainControl: Bool, noiseSuppression: Bool, latency: Double, channelCount: UInt32, deviceId: String, groupId: String) { + public convenience init( + width: UInt32? = nil, + height: UInt32? = nil, + aspectRatio: Double? = nil, + frameRate: Double? = nil, + facingMode: String? = nil, + resizeMode: String? = nil, + sampleRate: UInt32? = nil, + sampleSize: UInt32? = nil, + echoCancellation: Bool? = nil, + autoGainControl: Bool? = nil, + noiseSuppression: Bool? = nil, + latency: Double? = nil, + channelCount: UInt32? = nil, + deviceId: String? = nil, + groupId: String? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) @@ -11507,76 +12527,93 @@ public class MediaTrackSettings: BridgedDictionary { object[Strings.channelCount] = _toJSValue(channelCount) object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.groupId] = _toJSValue(groupId) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _width = ReadWriteAttribute(jsObject: object, name: Strings.width) - _height = ReadWriteAttribute(jsObject: object, name: Strings.height) - _aspectRatio = ReadWriteAttribute(jsObject: object, name: Strings.aspectRatio) - _frameRate = ReadWriteAttribute(jsObject: object, name: Strings.frameRate) - _facingMode = ReadWriteAttribute(jsObject: object, name: Strings.facingMode) - _resizeMode = ReadWriteAttribute(jsObject: object, name: Strings.resizeMode) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _sampleSize = ReadWriteAttribute(jsObject: object, name: Strings.sampleSize) - _echoCancellation = ReadWriteAttribute(jsObject: object, name: Strings.echoCancellation) - _autoGainControl = ReadWriteAttribute(jsObject: object, name: Strings.autoGainControl) - _noiseSuppression = ReadWriteAttribute(jsObject: object, name: Strings.noiseSuppression) - _latency = ReadWriteAttribute(jsObject: object, name: Strings.latency) - _channelCount = ReadWriteAttribute(jsObject: object, name: Strings.channelCount) - _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) - _groupId = ReadWriteAttribute(jsObject: object, name: Strings.groupId) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var width: UInt32 - - @ReadWriteAttribute - public var height: UInt32 - - @ReadWriteAttribute - public var aspectRatio: Double - - @ReadWriteAttribute - public var frameRate: Double - - @ReadWriteAttribute - public var facingMode: String - - @ReadWriteAttribute - public var resizeMode: String - - @ReadWriteAttribute - public var sampleRate: UInt32 - - @ReadWriteAttribute - public var sampleSize: UInt32 - - @ReadWriteAttribute - public var echoCancellation: Bool - - @ReadWriteAttribute - public var autoGainControl: Bool - - @ReadWriteAttribute - public var noiseSuppression: Bool - - @ReadWriteAttribute - public var latency: Double - - @ReadWriteAttribute - public var channelCount: UInt32 - - @ReadWriteAttribute - public var deviceId: String + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var groupId: String + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } + @inlinable public var aspectRatio: Double { + get { jsObject[Strings.aspectRatio].fromJSValue()! } + set { jsObject[Strings.aspectRatio] = _toJSValue(newValue) } + } + @inlinable public var frameRate: Double { + get { jsObject[Strings.frameRate].fromJSValue()! } + set { jsObject[Strings.frameRate] = _toJSValue(newValue) } + } + @inlinable public var facingMode: String { + get { jsObject[Strings.facingMode].fromJSValue()! } + set { jsObject[Strings.facingMode] = _toJSValue(newValue) } + } + @inlinable public var resizeMode: String { + get { jsObject[Strings.resizeMode].fromJSValue()! } + set { jsObject[Strings.resizeMode] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: UInt32 { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var sampleSize: UInt32 { + get { jsObject[Strings.sampleSize].fromJSValue()! } + set { jsObject[Strings.sampleSize] = _toJSValue(newValue) } + } + @inlinable public var echoCancellation: Bool { + get { jsObject[Strings.echoCancellation].fromJSValue()! } + set { jsObject[Strings.echoCancellation] = _toJSValue(newValue) } + } + @inlinable public var autoGainControl: Bool { + get { jsObject[Strings.autoGainControl].fromJSValue()! } + set { jsObject[Strings.autoGainControl] = _toJSValue(newValue) } + } + @inlinable public var noiseSuppression: Bool { + get { jsObject[Strings.noiseSuppression].fromJSValue()! } + set { jsObject[Strings.noiseSuppression] = _toJSValue(newValue) } + } + @inlinable public var latency: Double { + get { jsObject[Strings.latency].fromJSValue()! } + set { jsObject[Strings.latency] = _toJSValue(newValue) } + } + @inlinable public var channelCount: UInt32 { + get { jsObject[Strings.channelCount].fromJSValue()! } + set { jsObject[Strings.channelCount] = _toJSValue(newValue) } + } + @inlinable public var deviceId: String { + get { jsObject[Strings.deviceId].fromJSValue()! } + set { jsObject[Strings.deviceId] = _toJSValue(newValue) } + } + @inlinable public var groupId: String { + get { jsObject[Strings.groupId].fromJSValue()! } + set { jsObject[Strings.groupId] = _toJSValue(newValue) } + } } +open class MediaTrackSupportedConstraints: JSDictionaryCompatible { + public let jsObject: JSObject -public class MediaTrackSupportedConstraints: BridgedDictionary { - public convenience init(width: Bool, height: Bool, aspectRatio: Bool, frameRate: Bool, facingMode: Bool, resizeMode: Bool, sampleRate: Bool, sampleSize: Bool, echoCancellation: Bool, autoGainControl: Bool, noiseSuppression: Bool, latency: Bool, channelCount: Bool, deviceId: Bool, groupId: Bool) { + public convenience init( + width: Bool? = nil, + height: Bool? = nil, + aspectRatio: Bool? = nil, + frameRate: Bool? = nil, + facingMode: Bool? = nil, + resizeMode: Bool? = nil, + sampleRate: Bool? = nil, + sampleSize: Bool? = nil, + echoCancellation: Bool? = nil, + autoGainControl: Bool? = nil, + noiseSuppression: Bool? = nil, + latency: Bool? = nil, + channelCount: Bool? = nil, + deviceId: Bool? = nil, + groupId: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) @@ -11593,203 +12630,227 @@ public class MediaTrackSupportedConstraints: BridgedDictionary { object[Strings.channelCount] = _toJSValue(channelCount) object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.groupId] = _toJSValue(groupId) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _width = ReadWriteAttribute(jsObject: object, name: Strings.width) - _height = ReadWriteAttribute(jsObject: object, name: Strings.height) - _aspectRatio = ReadWriteAttribute(jsObject: object, name: Strings.aspectRatio) - _frameRate = ReadWriteAttribute(jsObject: object, name: Strings.frameRate) - _facingMode = ReadWriteAttribute(jsObject: object, name: Strings.facingMode) - _resizeMode = ReadWriteAttribute(jsObject: object, name: Strings.resizeMode) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _sampleSize = ReadWriteAttribute(jsObject: object, name: Strings.sampleSize) - _echoCancellation = ReadWriteAttribute(jsObject: object, name: Strings.echoCancellation) - _autoGainControl = ReadWriteAttribute(jsObject: object, name: Strings.autoGainControl) - _noiseSuppression = ReadWriteAttribute(jsObject: object, name: Strings.noiseSuppression) - _latency = ReadWriteAttribute(jsObject: object, name: Strings.latency) - _channelCount = ReadWriteAttribute(jsObject: object, name: Strings.channelCount) - _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) - _groupId = ReadWriteAttribute(jsObject: object, name: Strings.groupId) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var width: Bool - - @ReadWriteAttribute - public var height: Bool - - @ReadWriteAttribute - public var aspectRatio: Bool - - @ReadWriteAttribute - public var frameRate: Bool - - @ReadWriteAttribute - public var facingMode: Bool - - @ReadWriteAttribute - public var resizeMode: Bool - - @ReadWriteAttribute - public var sampleRate: Bool - - @ReadWriteAttribute - public var sampleSize: Bool - - @ReadWriteAttribute - public var echoCancellation: Bool - - @ReadWriteAttribute - public var autoGainControl: Bool - - @ReadWriteAttribute - public var noiseSuppression: Bool - - @ReadWriteAttribute - public var latency: Bool - - @ReadWriteAttribute - public var channelCount: Bool - - @ReadWriteAttribute - public var deviceId: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var groupId: Bool + @inlinable public var width: Bool { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + @inlinable public var height: Bool { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } + @inlinable public var aspectRatio: Bool { + get { jsObject[Strings.aspectRatio].fromJSValue()! } + set { jsObject[Strings.aspectRatio] = _toJSValue(newValue) } + } + @inlinable public var frameRate: Bool { + get { jsObject[Strings.frameRate].fromJSValue()! } + set { jsObject[Strings.frameRate] = _toJSValue(newValue) } + } + @inlinable public var facingMode: Bool { + get { jsObject[Strings.facingMode].fromJSValue()! } + set { jsObject[Strings.facingMode] = _toJSValue(newValue) } + } + @inlinable public var resizeMode: Bool { + get { jsObject[Strings.resizeMode].fromJSValue()! } + set { jsObject[Strings.resizeMode] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: Bool { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var sampleSize: Bool { + get { jsObject[Strings.sampleSize].fromJSValue()! } + set { jsObject[Strings.sampleSize] = _toJSValue(newValue) } + } + @inlinable public var echoCancellation: Bool { + get { jsObject[Strings.echoCancellation].fromJSValue()! } + set { jsObject[Strings.echoCancellation] = _toJSValue(newValue) } + } + @inlinable public var autoGainControl: Bool { + get { jsObject[Strings.autoGainControl].fromJSValue()! } + set { jsObject[Strings.autoGainControl] = _toJSValue(newValue) } + } + @inlinable public var noiseSuppression: Bool { + get { jsObject[Strings.noiseSuppression].fromJSValue()! } + set { jsObject[Strings.noiseSuppression] = _toJSValue(newValue) } + } + @inlinable public var latency: Bool { + get { jsObject[Strings.latency].fromJSValue()! } + set { jsObject[Strings.latency] = _toJSValue(newValue) } + } + @inlinable public var channelCount: Bool { + get { jsObject[Strings.channelCount].fromJSValue()! } + set { jsObject[Strings.channelCount] = _toJSValue(newValue) } + } + @inlinable public var deviceId: Bool { + get { jsObject[Strings.deviceId].fromJSValue()! } + set { jsObject[Strings.deviceId] = _toJSValue(newValue) } + } + @inlinable public var groupId: Bool { + get { jsObject[Strings.groupId].fromJSValue()! } + set { jsObject[Strings.groupId] = _toJSValue(newValue) } + } } - public class MessageChannel: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.MessageChannel].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _port1 = ReadonlyAttribute(jsObject: jsObject, name: Strings.port1) - _port2 = ReadonlyAttribute(jsObject: jsObject, name: Strings.port2) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var port1: MessagePort + @inlinable public var port1: MessagePort { jsObject[Strings.port1].fromJSValue()! } - @ReadonlyAttribute - public var port2: MessagePort + @inlinable public var port2: MessagePort { jsObject[Strings.port2].fromJSValue()! } } public class MessageEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MessageEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MessageEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) - _origin = ReadonlyAttribute(jsObject: jsObject, name: Strings.origin) - _lastEventId = ReadonlyAttribute(jsObject: jsObject, name: Strings.lastEventId) - _source = ReadonlyAttribute(jsObject: jsObject, name: Strings.source) - _ports = ReadonlyAttribute(jsObject: jsObject, name: Strings.ports) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: MessageEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var data: JSValue + @inlinable public var data: JSValue { jsObject[Strings.data].fromJSValue()! } - @ReadonlyAttribute - public var origin: String + @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } - @ReadonlyAttribute - public var lastEventId: String + @inlinable public var lastEventId: String { jsObject[Strings.lastEventId].fromJSValue()! } - @ReadonlyAttribute - public var source: MessageEventSource? + @inlinable public var source: MessageEventSource? { jsObject[Strings.source].fromJSValue() } - @ReadonlyAttribute - public var ports: [MessagePort] + @inlinable public var ports: [MessagePort] { jsObject[Strings.ports].fromJSValue()! } - @inlinable public func initMessageEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil, data: JSValue? = nil, origin: String? = nil, lastEventId: String? = nil, source: MessageEventSource? = nil, ports: [MessagePort]? = nil) { + @inlinable final public func initMessageEvent( + type: String, + bubbles: Bool? = nil, + cancelable: Bool? = nil, + data: JSValue? = nil, + origin: String? = nil, + lastEventId: String? = nil, + source: MessageEventSource? = nil, + ports: [MessagePort]? = nil + ) { let this = jsObject - _ = this[Strings.initMessageEvent].function!(this: this, arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(data), _toJSValue(origin), _toJSValue(lastEventId), _toJSValue(source), _toJSValue(ports)]) + _ = this[Strings.initMessageEvent].function!( + this: this, + arguments: [ + _toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(data), _toJSValue(origin), + _toJSValue(lastEventId), _toJSValue(source), _toJSValue(ports), + ] + ) } } -public class MessageEventInit: BridgedDictionary { - public convenience init(data: JSValue, origin: String, lastEventId: String, source: MessageEventSource?, ports: [MessagePort]) { +open class MessageEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + data: JSValue? = nil, + origin: String? = nil, + lastEventId: String? = nil, + source: MessageEventSource?, + ports: [MessagePort]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.data] = _toJSValue(data) object[Strings.origin] = _toJSValue(origin) object[Strings.lastEventId] = _toJSValue(lastEventId) object[Strings.source] = _toJSValue(source) object[Strings.ports] = _toJSValue(ports) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - _origin = ReadWriteAttribute(jsObject: object, name: Strings.origin) - _lastEventId = ReadWriteAttribute(jsObject: object, name: Strings.lastEventId) - _source = ReadWriteAttribute(jsObject: object, name: Strings.source) - _ports = ReadWriteAttribute(jsObject: object, name: Strings.ports) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var data: JSValue - - @ReadWriteAttribute - public var origin: String - - @ReadWriteAttribute - public var lastEventId: String + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var source: MessageEventSource? - - @ReadWriteAttribute - public var ports: [MessagePort] + @inlinable public var data: JSValue { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } + @inlinable public var origin: String { + get { jsObject[Strings.origin].fromJSValue()! } + set { jsObject[Strings.origin] = _toJSValue(newValue) } + } + @inlinable public var lastEventId: String { + get { jsObject[Strings.lastEventId].fromJSValue()! } + set { jsObject[Strings.lastEventId] = _toJSValue(newValue) } + } + @inlinable public var source: MessageEventSource? { + get { jsObject[Strings.source].fromJSValue() } + set { jsObject[Strings.source] = _toJSValue(newValue) } + } + @inlinable public var ports: [MessagePort] { + get { jsObject[Strings.ports].fromJSValue()! } + set { jsObject[Strings.ports] = _toJSValue(newValue) } + } } - public class MessagePort: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MessagePort].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MessagePort].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) - _onmessageerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessageerror) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public func postMessage(message: JSValue, transfer: [JSObject]) { + @inlinable final public func postMessage(message: JSValue, transfer: [JSObject]) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(transfer)]) } - @inlinable public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { + @inlinable final public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(options)]) } - @inlinable public func start() { + @inlinable final public func start() { let this = jsObject _ = this[Strings.start].function!(this: this, arguments: []) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @ClosureAttribute1Optional - public var onmessage: EventHandler + @inlinable public var onmessage: EventHandler { + get { + guard let function = jsObject[Strings.onmessage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessage] = .null + } + } + } - @ClosureAttribute1Optional - public var onmessageerror: EventHandler + @inlinable public var onmessageerror: EventHandler { + get { + guard let function = jsObject[Strings.onmessageerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessageerror] = .null + } + } + } } public class MimeType: JSBridgedClass { @@ -11797,25 +12858,15 @@ public class MimeType: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _description = ReadonlyAttribute(jsObject: jsObject, name: Strings.description) - _suffixes = ReadonlyAttribute(jsObject: jsObject, name: Strings.suffixes) - _enabledPlugin = ReadonlyAttribute(jsObject: jsObject, name: Strings.enabledPlugin) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var description: String + @inlinable public var description: String { jsObject[Strings.description].fromJSValue()! } - @ReadonlyAttribute - public var suffixes: String + @inlinable public var suffixes: String { jsObject[Strings.suffixes].fromJSValue()! } - @ReadonlyAttribute - public var enabledPlugin: Plugin + @inlinable public var enabledPlugin: Plugin { jsObject[Strings.enabledPlugin].fromJSValue()! } } public class MimeTypeArray: JSBridgedClass { @@ -11823,126 +12874,143 @@ public class MimeTypeArray: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> MimeType? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> MimeType? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> MimeType? { + @inlinable final public func item(index: UInt32) -> MimeType? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> MimeType? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: String) -> MimeType? { jsObject[key].fromJSValue() } - @inlinable public func namedItem(name: String) -> MimeType? { + @inlinable final public func namedItem(name: String) -> MimeType? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } } public class MouseEvent: UIEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MouseEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _screenX = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenX) - _screenY = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenY) - _clientX = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientX) - _clientY = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientY) - _ctrlKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.ctrlKey) - _shiftKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.shiftKey) - _altKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.altKey) - _metaKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.metaKey) - _button = ReadonlyAttribute(jsObject: jsObject, name: Strings.button) - _buttons = ReadonlyAttribute(jsObject: jsObject, name: Strings.buttons) - _relatedTarget = ReadonlyAttribute(jsObject: jsObject, name: Strings.relatedTarget) - _pageX = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageX) - _pageY = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageY) - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _offsetX = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetX) - _offsetY = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetY) - super.init(unsafelyWrapping: jsObject) - } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MouseEvent].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: MouseEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var screenX: Int32 + @inlinable public var screenX: Int32 { jsObject[Strings.screenX].fromJSValue()! } - @ReadonlyAttribute - public var screenY: Int32 + @inlinable public var screenY: Int32 { jsObject[Strings.screenY].fromJSValue()! } - @ReadonlyAttribute - public var clientX: Int32 + @inlinable public var clientX: Int32 { jsObject[Strings.clientX].fromJSValue()! } - @ReadonlyAttribute - public var clientY: Int32 + @inlinable public var clientY: Int32 { jsObject[Strings.clientY].fromJSValue()! } - @ReadonlyAttribute - public var ctrlKey: Bool + @inlinable public var ctrlKey: Bool { jsObject[Strings.ctrlKey].fromJSValue()! } - @ReadonlyAttribute - public var shiftKey: Bool + @inlinable public var shiftKey: Bool { jsObject[Strings.shiftKey].fromJSValue()! } - @ReadonlyAttribute - public var altKey: Bool + @inlinable public var altKey: Bool { jsObject[Strings.altKey].fromJSValue()! } - @ReadonlyAttribute - public var metaKey: Bool + @inlinable public var metaKey: Bool { jsObject[Strings.metaKey].fromJSValue()! } - @ReadonlyAttribute - public var button: Int16 + @inlinable public var button: Int16 { jsObject[Strings.button].fromJSValue()! } - @ReadonlyAttribute - public var buttons: UInt16 + @inlinable public var buttons: UInt16 { jsObject[Strings.buttons].fromJSValue()! } - @ReadonlyAttribute - public var relatedTarget: EventTarget? + @inlinable public var relatedTarget: EventTarget? { jsObject[Strings.relatedTarget].fromJSValue() } - @inlinable public func getModifierState(keyArg: String) -> Bool { + @inlinable final public func getModifierState(keyArg: String) -> Bool { let this = jsObject return this[Strings.getModifierState].function!(this: this, arguments: [_toJSValue(keyArg)]).fromJSValue()! } - @inlinable public func initMouseEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, viewArg: Window? = nil, detailArg: Int32? = nil, screenXArg: Int32? = nil, screenYArg: Int32? = nil, clientXArg: Int32? = nil, clientYArg: Int32? = nil, ctrlKeyArg: Bool? = nil, altKeyArg: Bool? = nil, shiftKeyArg: Bool? = nil, metaKeyArg: Bool? = nil, buttonArg: Int16? = nil, relatedTargetArg: EventTarget? = nil) { - let this = jsObject - _ = this[Strings.initMouseEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), _toJSValue(detailArg), _toJSValue(screenXArg), _toJSValue(screenYArg), _toJSValue(clientXArg), _toJSValue(clientYArg), _toJSValue(ctrlKeyArg), _toJSValue(altKeyArg), _toJSValue(shiftKeyArg), _toJSValue(metaKeyArg), _toJSValue(buttonArg), _toJSValue(relatedTargetArg)]) - } - - @ReadonlyAttribute - public var pageX: Double - - @ReadonlyAttribute - public var pageY: Double - - @ReadonlyAttribute - public var x: Double - - @ReadonlyAttribute - public var y: Double - - @ReadonlyAttribute - public var offsetX: Double - - @ReadonlyAttribute - public var offsetY: Double -} - -public class MouseEventInit: BridgedDictionary { - public convenience init(screenX: Int32, screenY: Int32, clientX: Int32, clientY: Int32, button: Int16, buttons: UInt16, relatedTarget: EventTarget?) { + @inlinable final public func initMouseEvent( + typeArg: String, + bubblesArg: Bool? = nil, + cancelableArg: Bool? = nil, + viewArg: Window? = nil, + detailArg: Int32? = nil, + screenXArg: Int32? = nil, + screenYArg: Int32? = nil, + clientXArg: Int32? = nil, + clientYArg: Int32? = nil, + ctrlKeyArg: Bool? = nil, + altKeyArg: Bool? = nil, + shiftKeyArg: Bool? = nil, + metaKeyArg: Bool? = nil, + buttonArg: Int16? = nil, + relatedTargetArg: EventTarget? = nil + ) { + let this = jsObject + _ = this[Strings.initMouseEvent].function!( + this: this, + arguments: [ + _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), + _toJSValue(detailArg), _toJSValue(screenXArg), _toJSValue(screenYArg), _toJSValue(clientXArg), + _toJSValue(clientYArg), _toJSValue(ctrlKeyArg), _toJSValue(altKeyArg), _toJSValue(shiftKeyArg), + _toJSValue(metaKeyArg), _toJSValue(buttonArg), _toJSValue(relatedTargetArg), + ] + ) + } + + @inlinable public var pageX: Double { jsObject[Strings.pageX].fromJSValue()! } + + @inlinable public var pageY: Double { jsObject[Strings.pageY].fromJSValue()! } + + @inlinable public var x: Double { jsObject[Strings.x].fromJSValue()! } + + @inlinable public var y: Double { jsObject[Strings.y].fromJSValue()! } + + @inlinable public var offsetX: Double { jsObject[Strings.offsetX].fromJSValue()! } + + @inlinable public var offsetY: Double { jsObject[Strings.offsetY].fromJSValue()! } +} + +open class MouseEventInit: EventModifierInit { + + public convenience init( + ctrlKey: Bool? = nil, + shiftKey: Bool? = nil, + altKey: Bool? = nil, + metaKey: Bool? = nil, + modifierAltGraph: Bool? = nil, + modifierCapsLock: Bool? = nil, + modifierFn: Bool? = nil, + modifierFnLock: Bool? = nil, + modifierHyper: Bool? = nil, + modifierNumLock: Bool? = nil, + modifierScrollLock: Bool? = nil, + modifierSuper: Bool? = nil, + modifierSymbol: Bool? = nil, + modifierSymbolLock: Bool? = nil, + screenX: Int32? = nil, + screenY: Int32? = nil, + clientX: Int32? = nil, + clientY: Int32? = nil, + button: Int16? = nil, + buttons: UInt16? = nil, + relatedTarget: EventTarget? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.ctrlKey] = _toJSValue(ctrlKey) + object[Strings.shiftKey] = _toJSValue(shiftKey) + object[Strings.altKey] = _toJSValue(altKey) + object[Strings.metaKey] = _toJSValue(metaKey) + object[Strings.modifierAltGraph] = _toJSValue(modifierAltGraph) + object[Strings.modifierCapsLock] = _toJSValue(modifierCapsLock) + object[Strings.modifierFn] = _toJSValue(modifierFn) + object[Strings.modifierFnLock] = _toJSValue(modifierFnLock) + object[Strings.modifierHyper] = _toJSValue(modifierHyper) + object[Strings.modifierNumLock] = _toJSValue(modifierNumLock) + object[Strings.modifierScrollLock] = _toJSValue(modifierScrollLock) + object[Strings.modifierSuper] = _toJSValue(modifierSuper) + object[Strings.modifierSymbol] = _toJSValue(modifierSymbol) + object[Strings.modifierSymbolLock] = _toJSValue(modifierSymbolLock) object[Strings.screenX] = _toJSValue(screenX) object[Strings.screenY] = _toJSValue(screenY) object[Strings.clientX] = _toJSValue(clientX) @@ -11950,69 +13018,69 @@ public class MouseEventInit: BridgedDictionary { object[Strings.button] = _toJSValue(button) object[Strings.buttons] = _toJSValue(buttons) object[Strings.relatedTarget] = _toJSValue(relatedTarget) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _screenX = ReadWriteAttribute(jsObject: object, name: Strings.screenX) - _screenY = ReadWriteAttribute(jsObject: object, name: Strings.screenY) - _clientX = ReadWriteAttribute(jsObject: object, name: Strings.clientX) - _clientY = ReadWriteAttribute(jsObject: object, name: Strings.clientY) - _button = ReadWriteAttribute(jsObject: object, name: Strings.button) - _buttons = ReadWriteAttribute(jsObject: object, name: Strings.buttons) - _relatedTarget = ReadWriteAttribute(jsObject: object, name: Strings.relatedTarget) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var screenX: Int32 - - @ReadWriteAttribute - public var screenY: Int32 + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var clientX: Int32 - - @ReadWriteAttribute - public var clientY: Int32 - - @ReadWriteAttribute - public var button: Int16 - - @ReadWriteAttribute - public var buttons: UInt16 - - @ReadWriteAttribute - public var relatedTarget: EventTarget? + @inlinable public var screenX: Int32 { + get { jsObject[Strings.screenX].fromJSValue()! } + set { jsObject[Strings.screenX] = _toJSValue(newValue) } + } + @inlinable public var screenY: Int32 { + get { jsObject[Strings.screenY].fromJSValue()! } + set { jsObject[Strings.screenY] = _toJSValue(newValue) } + } + @inlinable public var clientX: Int32 { + get { jsObject[Strings.clientX].fromJSValue()! } + set { jsObject[Strings.clientX] = _toJSValue(newValue) } + } + @inlinable public var clientY: Int32 { + get { jsObject[Strings.clientY].fromJSValue()! } + set { jsObject[Strings.clientY] = _toJSValue(newValue) } + } + @inlinable public var button: Int16 { + get { jsObject[Strings.button].fromJSValue()! } + set { jsObject[Strings.button] = _toJSValue(newValue) } + } + @inlinable public var buttons: UInt16 { + get { jsObject[Strings.buttons].fromJSValue()! } + set { jsObject[Strings.buttons] = _toJSValue(newValue) } + } + @inlinable public var relatedTarget: EventTarget? { + get { jsObject[Strings.relatedTarget].fromJSValue() } + set { jsObject[Strings.relatedTarget] = _toJSValue(newValue) } + } } +open class MultiCacheQueryOptions: CacheQueryOptions { -public class MultiCacheQueryOptions: BridgedDictionary { - public convenience init(cacheName: String) { + public convenience init( + ignoreSearch: Bool? = nil, + ignoreMethod: Bool? = nil, + ignoreVary: Bool? = nil, + cacheName: String? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.ignoreSearch] = _toJSValue(ignoreSearch) + object[Strings.ignoreMethod] = _toJSValue(ignoreMethod) + object[Strings.ignoreVary] = _toJSValue(ignoreVary) object[Strings.cacheName] = _toJSValue(cacheName) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _cacheName = ReadWriteAttribute(jsObject: object, name: Strings.cacheName) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var cacheName: String + @inlinable public var cacheName: String { + get { jsObject[Strings.cacheName].fromJSValue()! } + set { jsObject[Strings.cacheName] = _toJSValue(newValue) } + } } - public class MutationEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MutationEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MutationEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _relatedNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.relatedNode) - _prevValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.prevValue) - _newValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.newValue) - _attrName = ReadonlyAttribute(jsObject: jsObject, name: Strings.attrName) - _attrChange = ReadonlyAttribute(jsObject: jsObject, name: Strings.attrChange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } public static let MODIFICATION: UInt16 = 1 @@ -12020,24 +13088,34 @@ public class MutationEvent: Event { public static let REMOVAL: UInt16 = 3 - @ReadonlyAttribute - public var relatedNode: Node? + @inlinable public var relatedNode: Node? { jsObject[Strings.relatedNode].fromJSValue() } - @ReadonlyAttribute - public var prevValue: String + @inlinable public var prevValue: String { jsObject[Strings.prevValue].fromJSValue()! } - @ReadonlyAttribute - public var newValue: String + @inlinable public var newValue: String { jsObject[Strings.newValue].fromJSValue()! } - @ReadonlyAttribute - public var attrName: String + @inlinable public var attrName: String { jsObject[Strings.attrName].fromJSValue()! } - @ReadonlyAttribute - public var attrChange: UInt16 + @inlinable public var attrChange: UInt16 { jsObject[Strings.attrChange].fromJSValue()! } - @inlinable public func initMutationEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, relatedNodeArg: Node? = nil, prevValueArg: String? = nil, newValueArg: String? = nil, attrNameArg: String? = nil, attrChangeArg: UInt16? = nil) { + @inlinable final public func initMutationEvent( + typeArg: String, + bubblesArg: Bool? = nil, + cancelableArg: Bool? = nil, + relatedNodeArg: Node? = nil, + prevValueArg: String? = nil, + newValueArg: String? = nil, + attrNameArg: String? = nil, + attrChangeArg: UInt16? = nil + ) { let this = jsObject - _ = this[Strings.initMutationEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(relatedNodeArg), _toJSValue(prevValueArg), _toJSValue(newValueArg), _toJSValue(attrNameArg), _toJSValue(attrChangeArg)]) + _ = this[Strings.initMutationEvent].function!( + this: this, + arguments: [ + _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(relatedNodeArg), + _toJSValue(prevValueArg), _toJSValue(newValueArg), _toJSValue(attrNameArg), _toJSValue(attrChangeArg), + ] + ) } } @@ -12046,32 +13124,40 @@ public class MutationObserver: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(callback: @escaping MutationCallback) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(callback)])) } - @inlinable public func observe(target: Node, options: MutationObserverInit? = nil) { + @inlinable final public func observe(target: Node, options: MutationObserverInit? = nil) { let this = jsObject _ = this[Strings.observe].function!(this: this, arguments: [_toJSValue(target), _toJSValue(options)]) } - @inlinable public func disconnect() { + @inlinable final public func disconnect() { let this = jsObject _ = this[Strings.disconnect].function!(this: this, arguments: []) } - @inlinable public func takeRecords() -> [MutationRecord] { + @inlinable final public func takeRecords() -> [MutationRecord] { let this = jsObject return this[Strings.takeRecords].function!(this: this, arguments: []).fromJSValue()! } } -public class MutationObserverInit: BridgedDictionary { - public convenience init(childList: Bool, attributes: Bool, characterData: Bool, subtree: Bool, attributeOldValue: Bool, characterDataOldValue: Bool, attributeFilter: [String]) { +open class MutationObserverInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + childList: Bool? = nil, + attributes: Bool? = nil, + characterData: Bool? = nil, + subtree: Bool? = nil, + attributeOldValue: Bool? = nil, + characterDataOldValue: Bool? = nil, + attributeFilter: [String]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.childList] = _toJSValue(childList) object[Strings.attributes] = _toJSValue(attributes) @@ -12080,86 +13166,65 @@ public class MutationObserverInit: BridgedDictionary { object[Strings.attributeOldValue] = _toJSValue(attributeOldValue) object[Strings.characterDataOldValue] = _toJSValue(characterDataOldValue) object[Strings.attributeFilter] = _toJSValue(attributeFilter) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _childList = ReadWriteAttribute(jsObject: object, name: Strings.childList) - _attributes = ReadWriteAttribute(jsObject: object, name: Strings.attributes) - _characterData = ReadWriteAttribute(jsObject: object, name: Strings.characterData) - _subtree = ReadWriteAttribute(jsObject: object, name: Strings.subtree) - _attributeOldValue = ReadWriteAttribute(jsObject: object, name: Strings.attributeOldValue) - _characterDataOldValue = ReadWriteAttribute(jsObject: object, name: Strings.characterDataOldValue) - _attributeFilter = ReadWriteAttribute(jsObject: object, name: Strings.attributeFilter) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var childList: Bool - - @ReadWriteAttribute - public var attributes: Bool - - @ReadWriteAttribute - public var characterData: Bool - - @ReadWriteAttribute - public var subtree: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var attributeOldValue: Bool - - @ReadWriteAttribute - public var characterDataOldValue: Bool - - @ReadWriteAttribute - public var attributeFilter: [String] + @inlinable public var childList: Bool { + get { jsObject[Strings.childList].fromJSValue()! } + set { jsObject[Strings.childList] = _toJSValue(newValue) } + } + @inlinable public var attributes: Bool { + get { jsObject[Strings.attributes].fromJSValue()! } + set { jsObject[Strings.attributes] = _toJSValue(newValue) } + } + @inlinable public var characterData: Bool { + get { jsObject[Strings.characterData].fromJSValue()! } + set { jsObject[Strings.characterData] = _toJSValue(newValue) } + } + @inlinable public var subtree: Bool { + get { jsObject[Strings.subtree].fromJSValue()! } + set { jsObject[Strings.subtree] = _toJSValue(newValue) } + } + @inlinable public var attributeOldValue: Bool { + get { jsObject[Strings.attributeOldValue].fromJSValue()! } + set { jsObject[Strings.attributeOldValue] = _toJSValue(newValue) } + } + @inlinable public var characterDataOldValue: Bool { + get { jsObject[Strings.characterDataOldValue].fromJSValue()! } + set { jsObject[Strings.characterDataOldValue] = _toJSValue(newValue) } + } + @inlinable public var attributeFilter: [String] { + get { jsObject[Strings.attributeFilter].fromJSValue()! } + set { jsObject[Strings.attributeFilter] = _toJSValue(newValue) } + } } - public class MutationRecord: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.MutationRecord].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _target = ReadonlyAttribute(jsObject: jsObject, name: Strings.target) - _addedNodes = ReadonlyAttribute(jsObject: jsObject, name: Strings.addedNodes) - _removedNodes = ReadonlyAttribute(jsObject: jsObject, name: Strings.removedNodes) - _previousSibling = ReadonlyAttribute(jsObject: jsObject, name: Strings.previousSibling) - _nextSibling = ReadonlyAttribute(jsObject: jsObject, name: Strings.nextSibling) - _attributeName = ReadonlyAttribute(jsObject: jsObject, name: Strings.attributeName) - _attributeNamespace = ReadonlyAttribute(jsObject: jsObject, name: Strings.attributeNamespace) - _oldValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.oldValue) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var target: Node + @inlinable public var target: Node { jsObject[Strings.target].fromJSValue()! } - @ReadonlyAttribute - public var addedNodes: NodeList + @inlinable public var addedNodes: NodeList { jsObject[Strings.addedNodes].fromJSValue()! } - @ReadonlyAttribute - public var removedNodes: NodeList + @inlinable public var removedNodes: NodeList { jsObject[Strings.removedNodes].fromJSValue()! } - @ReadonlyAttribute - public var previousSibling: Node? + @inlinable public var previousSibling: Node? { jsObject[Strings.previousSibling].fromJSValue() } - @ReadonlyAttribute - public var nextSibling: Node? + @inlinable public var nextSibling: Node? { jsObject[Strings.nextSibling].fromJSValue() } - @ReadonlyAttribute - public var attributeName: String? + @inlinable public var attributeName: String? { jsObject[Strings.attributeName].fromJSValue() } - @ReadonlyAttribute - public var attributeNamespace: String? + @inlinable public var attributeNamespace: String? { jsObject[Strings.attributeNamespace].fromJSValue() } - @ReadonlyAttribute - public var oldValue: String? + @inlinable public var oldValue: String? { jsObject[Strings.oldValue].fromJSValue() } } public class NamedNodeMap: JSBridgedClass { @@ -12167,119 +13232,115 @@ public class NamedNodeMap: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> Attr? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> Attr? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> Attr? { + @inlinable final public func item(index: UInt32) -> Attr? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> Attr? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: String) -> Attr? { jsObject[key].fromJSValue() } - @inlinable public func getNamedItem(qualifiedName: String) -> Attr? { + @inlinable final public func getNamedItem(qualifiedName: String) -> Attr? { let this = jsObject return this[Strings.getNamedItem].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue() } - @inlinable public func getNamedItemNS(namespace: String?, localName: String) -> Attr? { + @inlinable final public func getNamedItemNS(namespace: String?, localName: String) -> Attr? { let this = jsObject - return this[Strings.getNamedItemNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue() + return this[Strings.getNamedItemNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue() } - @inlinable public func setNamedItem(attr: Attr) -> Attr? { + @inlinable final public func setNamedItem(attr: Attr) -> Attr? { let this = jsObject return this[Strings.setNamedItem].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue() } - @inlinable public func setNamedItemNS(attr: Attr) -> Attr? { + @inlinable final public func setNamedItemNS(attr: Attr) -> Attr? { let this = jsObject return this[Strings.setNamedItemNS].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue() } - @inlinable public func removeNamedItem(qualifiedName: String) -> Attr { + @inlinable final public func removeNamedItem(qualifiedName: String) -> Attr { let this = jsObject - return this[Strings.removeNamedItem].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue()! + return this[Strings.removeNamedItem].function!(this: this, arguments: [_toJSValue(qualifiedName)]) + .fromJSValue()! } - @inlinable public func removeNamedItemNS(namespace: String?, localName: String) -> Attr { + @inlinable final public func removeNamedItemNS(namespace: String?, localName: String) -> Attr { let this = jsObject - return this[Strings.removeNamedItemNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue()! + return this[Strings.removeNamedItemNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue()! } } public class NavigateEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.NavigateEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.NavigateEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _navigationType = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigationType) - _destination = ReadonlyAttribute(jsObject: jsObject, name: Strings.destination) - _canIntercept = ReadonlyAttribute(jsObject: jsObject, name: Strings.canIntercept) - _userInitiated = ReadonlyAttribute(jsObject: jsObject, name: Strings.userInitiated) - _hashChange = ReadonlyAttribute(jsObject: jsObject, name: Strings.hashChange) - _signal = ReadonlyAttribute(jsObject: jsObject, name: Strings.signal) - _formData = ReadonlyAttribute(jsObject: jsObject, name: Strings.formData) - _downloadRequest = ReadonlyAttribute(jsObject: jsObject, name: Strings.downloadRequest) - _info = ReadonlyAttribute(jsObject: jsObject, name: Strings.info) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: NavigateEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var navigationType: NavigationType + @inlinable public var navigationType: NavigationType { jsObject[Strings.navigationType].fromJSValue()! } - @ReadonlyAttribute - public var destination: NavigationDestination + @inlinable public var destination: NavigationDestination { jsObject[Strings.destination].fromJSValue()! } - @ReadonlyAttribute - public var canIntercept: Bool + @inlinable public var canIntercept: Bool { jsObject[Strings.canIntercept].fromJSValue()! } - @ReadonlyAttribute - public var userInitiated: Bool + @inlinable public var userInitiated: Bool { jsObject[Strings.userInitiated].fromJSValue()! } - @ReadonlyAttribute - public var hashChange: Bool + @inlinable public var hashChange: Bool { jsObject[Strings.hashChange].fromJSValue()! } - @ReadonlyAttribute - public var signal: AbortSignal + @inlinable public var signal: AbortSignal { jsObject[Strings.signal].fromJSValue()! } - @ReadonlyAttribute - public var formData: FormData? + @inlinable public var formData: FormData? { jsObject[Strings.formData].fromJSValue() } - @ReadonlyAttribute - public var downloadRequest: String? + @inlinable public var downloadRequest: String? { jsObject[Strings.downloadRequest].fromJSValue() } - @ReadonlyAttribute - public var info: JSValue + @inlinable public var info: JSValue { jsObject[Strings.info].fromJSValue()! } - @inlinable public func intercept(options: NavigationInterceptOptions? = nil) { + @inlinable final public func intercept(options: NavigationInterceptOptions? = nil) { let this = jsObject _ = this[Strings.intercept].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scroll() { + @inlinable final public func scroll() { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: []) } } -public class NavigateEventInit: BridgedDictionary { - public convenience init(navigationType: NavigationType, destination: NavigationDestination, canIntercept: Bool, userInitiated: Bool, hashChange: Bool, signal: AbortSignal, formData: FormData?, downloadRequest: String?, info: JSValue) { +open class NavigateEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + navigationType: NavigationType? = nil, + destination: NavigationDestination, + canIntercept: Bool? = nil, + userInitiated: Bool? = nil, + hashChange: Bool? = nil, + signal: AbortSignal, + formData: FormData?, + downloadRequest: String?, + info: JSValue? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.navigationType] = _toJSValue(navigationType) object[Strings.destination] = _toJSValue(destination) object[Strings.canIntercept] = _toJSValue(canIntercept) @@ -12289,196 +13350,221 @@ public class NavigateEventInit: BridgedDictionary { object[Strings.formData] = _toJSValue(formData) object[Strings.downloadRequest] = _toJSValue(downloadRequest) object[Strings.info] = _toJSValue(info) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _navigationType = ReadWriteAttribute(jsObject: object, name: Strings.navigationType) - _destination = ReadWriteAttribute(jsObject: object, name: Strings.destination) - _canIntercept = ReadWriteAttribute(jsObject: object, name: Strings.canIntercept) - _userInitiated = ReadWriteAttribute(jsObject: object, name: Strings.userInitiated) - _hashChange = ReadWriteAttribute(jsObject: object, name: Strings.hashChange) - _signal = ReadWriteAttribute(jsObject: object, name: Strings.signal) - _formData = ReadWriteAttribute(jsObject: object, name: Strings.formData) - _downloadRequest = ReadWriteAttribute(jsObject: object, name: Strings.downloadRequest) - _info = ReadWriteAttribute(jsObject: object, name: Strings.info) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var navigationType: NavigationType - - @ReadWriteAttribute - public var destination: NavigationDestination - - @ReadWriteAttribute - public var canIntercept: Bool - - @ReadWriteAttribute - public var userInitiated: Bool - - @ReadWriteAttribute - public var hashChange: Bool - - @ReadWriteAttribute - public var signal: AbortSignal - - @ReadWriteAttribute - public var formData: FormData? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var downloadRequest: String? - - @ReadWriteAttribute - public var info: JSValue + @inlinable public var navigationType: NavigationType { + get { jsObject[Strings.navigationType].fromJSValue()! } + set { jsObject[Strings.navigationType] = _toJSValue(newValue) } + } + @inlinable public var destination: NavigationDestination { + get { jsObject[Strings.destination].fromJSValue()! } + set { jsObject[Strings.destination] = _toJSValue(newValue) } + } + @inlinable public var canIntercept: Bool { + get { jsObject[Strings.canIntercept].fromJSValue()! } + set { jsObject[Strings.canIntercept] = _toJSValue(newValue) } + } + @inlinable public var userInitiated: Bool { + get { jsObject[Strings.userInitiated].fromJSValue()! } + set { jsObject[Strings.userInitiated] = _toJSValue(newValue) } + } + @inlinable public var hashChange: Bool { + get { jsObject[Strings.hashChange].fromJSValue()! } + set { jsObject[Strings.hashChange] = _toJSValue(newValue) } + } + @inlinable public var signal: AbortSignal { + get { jsObject[Strings.signal].fromJSValue()! } + set { jsObject[Strings.signal] = _toJSValue(newValue) } + } + @inlinable public var formData: FormData? { + get { jsObject[Strings.formData].fromJSValue() } + set { jsObject[Strings.formData] = _toJSValue(newValue) } + } + @inlinable public var downloadRequest: String? { + get { jsObject[Strings.downloadRequest].fromJSValue() } + set { jsObject[Strings.downloadRequest] = _toJSValue(newValue) } + } + @inlinable public var info: JSValue { + get { jsObject[Strings.info].fromJSValue()! } + set { jsObject[Strings.info] = _toJSValue(newValue) } + } } - public class Navigation: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Navigation].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Navigation].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _currentEntry = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentEntry) - _transition = ReadonlyAttribute(jsObject: jsObject, name: Strings.transition) - _canGoBack = ReadonlyAttribute(jsObject: jsObject, name: Strings.canGoBack) - _canGoForward = ReadonlyAttribute(jsObject: jsObject, name: Strings.canGoForward) - _onnavigate = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onnavigate) - _onnavigatesuccess = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onnavigatesuccess) - _onnavigateerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onnavigateerror) - _oncurrententrychange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncurrententrychange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public func entries() -> [NavigationHistoryEntry] { + @inlinable final public func entries() -> [NavigationHistoryEntry] { let this = jsObject return this[Strings.entries].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var currentEntry: NavigationHistoryEntry? + @inlinable public var currentEntry: NavigationHistoryEntry? { jsObject[Strings.currentEntry].fromJSValue() } - @inlinable public func updateCurrentEntry(options: NavigationUpdateCurrentEntryOptions) { + @inlinable final public func updateCurrentEntry(options: NavigationUpdateCurrentEntryOptions) { let this = jsObject _ = this[Strings.updateCurrentEntry].function!(this: this, arguments: [_toJSValue(options)]) } - @ReadonlyAttribute - public var transition: NavigationTransition? + @inlinable public var transition: NavigationTransition? { jsObject[Strings.transition].fromJSValue() } - @ReadonlyAttribute - public var canGoBack: Bool + @inlinable public var canGoBack: Bool { jsObject[Strings.canGoBack].fromJSValue()! } - @ReadonlyAttribute - public var canGoForward: Bool + @inlinable public var canGoForward: Bool { jsObject[Strings.canGoForward].fromJSValue()! } - @inlinable public func navigate(url: String, options: NavigationNavigateOptions? = nil) -> NavigationResult { + @inlinable final public func navigate(url: String, options: NavigationNavigateOptions? = nil) -> NavigationResult { let this = jsObject - return this[Strings.navigate].function!(this: this, arguments: [_toJSValue(url), _toJSValue(options)]).fromJSValue()! + return this[Strings.navigate].function!(this: this, arguments: [_toJSValue(url), _toJSValue(options)]) + .fromJSValue()! } - @inlinable public func reload(options: NavigationReloadOptions? = nil) -> NavigationResult { + @inlinable final public func reload(options: NavigationReloadOptions? = nil) -> NavigationResult { let this = jsObject return this[Strings.reload].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func traverseTo(key: String, options: NavigationOptions? = nil) -> NavigationResult { + @inlinable final public func traverseTo(key: String, options: NavigationOptions? = nil) -> NavigationResult { let this = jsObject - return this[Strings.traverseTo].function!(this: this, arguments: [_toJSValue(key), _toJSValue(options)]).fromJSValue()! + return this[Strings.traverseTo].function!(this: this, arguments: [_toJSValue(key), _toJSValue(options)]) + .fromJSValue()! } - @inlinable public func back(options: NavigationOptions? = nil) -> NavigationResult { + @inlinable final public func back(options: NavigationOptions? = nil) -> NavigationResult { let this = jsObject return this[Strings.back].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func forward(options: NavigationOptions? = nil) -> NavigationResult { + @inlinable final public func forward(options: NavigationOptions? = nil) -> NavigationResult { let this = jsObject return this[Strings.forward].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @ClosureAttribute1Optional - public var onnavigate: EventHandler + @inlinable public var onnavigate: EventHandler { + get { + guard let function = jsObject[Strings.onnavigate].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onnavigate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onnavigate] = .null + } + } + } - @ClosureAttribute1Optional - public var onnavigatesuccess: EventHandler + @inlinable public var onnavigatesuccess: EventHandler { + get { + guard let function = jsObject[Strings.onnavigatesuccess].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onnavigatesuccess] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onnavigatesuccess] = .null + } + } + } - @ClosureAttribute1Optional - public var onnavigateerror: EventHandler + @inlinable public var onnavigateerror: EventHandler { + get { + guard let function = jsObject[Strings.onnavigateerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onnavigateerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onnavigateerror] = .null + } + } + } - @ClosureAttribute1Optional - public var oncurrententrychange: EventHandler + @inlinable public var oncurrententrychange: EventHandler { + get { + guard let function = jsObject[Strings.oncurrententrychange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncurrententrychange] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncurrententrychange] = .null + } + } + } } public class NavigationCurrentEntryChangeEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.NavigationCurrentEntryChangeEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _navigationType = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigationType) - _from = ReadonlyAttribute(jsObject: jsObject, name: Strings.from) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.NavigationCurrentEntryChangeEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: NavigationCurrentEntryChangeEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var navigationType: NavigationType? + @inlinable public var navigationType: NavigationType? { jsObject[Strings.navigationType].fromJSValue() } - @ReadonlyAttribute - public var from: NavigationHistoryEntry + @inlinable public var from: NavigationHistoryEntry { jsObject[Strings.from].fromJSValue()! } } -public class NavigationCurrentEntryChangeEventInit: BridgedDictionary { - public convenience init(navigationType: NavigationType?, from: NavigationHistoryEntry) { +open class NavigationCurrentEntryChangeEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + navigationType: NavigationType?, + from: NavigationHistoryEntry + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.navigationType] = _toJSValue(navigationType) object[Strings.from] = _toJSValue(from) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _navigationType = ReadWriteAttribute(jsObject: object, name: Strings.navigationType) - _from = ReadWriteAttribute(jsObject: object, name: Strings.from) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var navigationType: NavigationType? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var from: NavigationHistoryEntry + @inlinable public var navigationType: NavigationType? { + get { jsObject[Strings.navigationType].fromJSValue() } + set { jsObject[Strings.navigationType] = _toJSValue(newValue) } + } + @inlinable public var from: NavigationHistoryEntry { + get { jsObject[Strings.from].fromJSValue()! } + set { jsObject[Strings.from] = _toJSValue(newValue) } + } } - public class NavigationDestination: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.NavigationDestination].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) - _key = ReadonlyAttribute(jsObject: jsObject, name: Strings.key) - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _index = ReadonlyAttribute(jsObject: jsObject, name: Strings.index) - _sameDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.sameDocument) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var url: String + @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } - @ReadonlyAttribute - public var key: String + @inlinable public var key: String { jsObject[Strings.key].fromJSValue()! } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var index: Int64 + @inlinable public var index: Int64 { jsObject[Strings.index].fromJSValue()! } - @ReadonlyAttribute - public var sameDocument: Bool + @inlinable public var sameDocument: Bool { jsObject[Strings.sameDocument].fromJSValue()! } - @inlinable public func getState() -> JSValue { + @inlinable final public func getState() -> JSValue { let this = jsObject return this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! } @@ -12489,292 +13575,293 @@ public enum NavigationFocusReset: JSString, JSValueCompatible { case manual = "manual" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum NavigationHistoryBehavior: JSString, JSValueCompatible { case auto = "auto" case push = "push" case replace = "replace" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class NavigationHistoryEntry: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.NavigationHistoryEntry].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) - _key = ReadonlyAttribute(jsObject: jsObject, name: Strings.key) - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _index = ReadonlyAttribute(jsObject: jsObject, name: Strings.index) - _sameDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.sameDocument) - _ondispose = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondispose) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.NavigationHistoryEntry].function } - @ReadonlyAttribute - public var url: String? + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var key: String + @inlinable public var url: String? { jsObject[Strings.url].fromJSValue() } - @ReadonlyAttribute - public var id: String + @inlinable public var key: String { jsObject[Strings.key].fromJSValue()! } - @ReadonlyAttribute - public var index: Int64 + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var sameDocument: Bool + @inlinable public var index: Int64 { jsObject[Strings.index].fromJSValue()! } - @inlinable public func getState() -> JSValue { + @inlinable public var sameDocument: Bool { jsObject[Strings.sameDocument].fromJSValue()! } + + @inlinable final public func getState() -> JSValue { let this = jsObject return this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! } - @ClosureAttribute1Optional - public var ondispose: EventHandler + @inlinable public var ondispose: EventHandler { + get { + guard let function = jsObject[Strings.ondispose].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondispose] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondispose] = .null + } + } + } } -public class NavigationInterceptOptions: BridgedDictionary { - public convenience init(handler: @escaping NavigationInterceptHandler, focusReset: NavigationFocusReset, scroll: NavigationScrollBehavior) { +open class NavigationInterceptOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + handler: NavigationInterceptHandler? = nil, + focusReset: NavigationFocusReset? = nil, + scroll: NavigationScrollBehavior? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute0[Strings.handler, in: object] = handler + object[Strings.handler] = _toJSValue(handler) object[Strings.focusReset] = _toJSValue(focusReset) object[Strings.scroll] = _toJSValue(scroll) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _handler = ClosureAttribute0(jsObject: object, name: Strings.handler) - _focusReset = ReadWriteAttribute(jsObject: object, name: Strings.focusReset) - _scroll = ReadWriteAttribute(jsObject: object, name: Strings.scroll) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ClosureAttribute0 - public var handler: NavigationInterceptHandler - - @ReadWriteAttribute - public var focusReset: NavigationFocusReset + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var scroll: NavigationScrollBehavior + @inlinable public var handler: NavigationInterceptHandler { + get { + let function = jsObject[Strings.handler].function! + return { function().fromJSValue()! } + } + set { jsObject[Strings.handler] = JSClosure { _ in _toJSValue(newValue()) }.jsValue } + } + @inlinable public var focusReset: NavigationFocusReset { + get { jsObject[Strings.focusReset].fromJSValue()! } + set { jsObject[Strings.focusReset] = _toJSValue(newValue) } + } + @inlinable public var scroll: NavigationScrollBehavior { + get { jsObject[Strings.scroll].fromJSValue()! } + set { jsObject[Strings.scroll] = _toJSValue(newValue) } + } } +open class NavigationNavigateOptions: NavigationOptions { -public class NavigationNavigateOptions: BridgedDictionary { - public convenience init(state: JSValue, history: NavigationHistoryBehavior) { + public convenience init(info: JSValue? = nil, state: JSValue? = nil, history: NavigationHistoryBehavior? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.info] = _toJSValue(info) object[Strings.state] = _toJSValue(state) object[Strings.history] = _toJSValue(history) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _state = ReadWriteAttribute(jsObject: object, name: Strings.state) - _history = ReadWriteAttribute(jsObject: object, name: Strings.history) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var state: JSValue + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var history: NavigationHistoryBehavior + @inlinable public var state: JSValue { + get { jsObject[Strings.state].fromJSValue()! } + set { jsObject[Strings.state] = _toJSValue(newValue) } + } + @inlinable public var history: NavigationHistoryBehavior { + get { jsObject[Strings.history].fromJSValue()! } + set { jsObject[Strings.history] = _toJSValue(newValue) } + } } +open class NavigationOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class NavigationOptions: BridgedDictionary { - public convenience init(info: JSValue) { + public convenience init(info: JSValue? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.info] = _toJSValue(info) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _info = ReadWriteAttribute(jsObject: object, name: Strings.info) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var info: JSValue + @inlinable public var info: JSValue { + get { jsObject[Strings.info].fromJSValue()! } + set { jsObject[Strings.info] = _toJSValue(newValue) } + } } - public class NavigationPreloadManager: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.NavigationPreloadManager].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func enable() -> JSPromise { + @inlinable final public func enable() -> JSPromise { let this = jsObject return this[Strings.enable].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func enable() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.enable].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func enable() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.enable].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func disable() -> JSPromise { + @inlinable final public func disable() -> JSPromise { let this = jsObject return this[Strings.disable].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func disable() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.disable].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func disable() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.disable].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func setHeaderValue(value: String) -> JSPromise { + @inlinable final public func setHeaderValue(value: String) -> JSPromise { let this = jsObject return this[Strings.setHeaderValue].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func setHeaderValue(value: String) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.setHeaderValue].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func setHeaderValue( + value: String + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.setHeaderValue].function!(this: this, arguments: [_toJSValue(value)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func getState() -> JSPromise { + @inlinable final public func getState() -> JSPromise { let this = jsObject return this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func getState() async throws -> NavigationPreloadState { - let this = jsObject - let _promise: JSPromise = this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getState() + async throws(JSException) -> NavigationPreloadState + { + let this = jsObject + let _promise: JSPromise = this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class NavigationPreloadState: BridgedDictionary { - public convenience init(enabled: Bool, headerValue: String) { +open class NavigationPreloadState: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(enabled: Bool? = nil, headerValue: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.enabled] = _toJSValue(enabled) object[Strings.headerValue] = _toJSValue(headerValue) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _enabled = ReadWriteAttribute(jsObject: object, name: Strings.enabled) - _headerValue = ReadWriteAttribute(jsObject: object, name: Strings.headerValue) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var enabled: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var headerValue: String + @inlinable public var enabled: Bool { + get { jsObject[Strings.enabled].fromJSValue()! } + set { jsObject[Strings.enabled] = _toJSValue(newValue) } + } + @inlinable public var headerValue: String { + get { jsObject[Strings.headerValue].fromJSValue()! } + set { jsObject[Strings.headerValue] = _toJSValue(newValue) } + } } +open class NavigationReloadOptions: NavigationOptions { -public class NavigationReloadOptions: BridgedDictionary { - public convenience init(state: JSValue) { + public convenience init(info: JSValue? = nil, state: JSValue? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.info] = _toJSValue(info) object[Strings.state] = _toJSValue(state) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _state = ReadWriteAttribute(jsObject: object, name: Strings.state) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var state: JSValue + @inlinable public var state: JSValue { + get { jsObject[Strings.state].fromJSValue()! } + set { jsObject[Strings.state] = _toJSValue(newValue) } + } } +open class NavigationResult: JSDictionaryCompatible { + public let jsObject: JSObject -public class NavigationResult: BridgedDictionary { - public convenience init(committed: JSPromise, finished: JSPromise) { + public convenience init(committed: JSPromise? = nil, finished: JSPromise? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.committed] = _toJSValue(committed) object[Strings.finished] = _toJSValue(finished) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _committed = ReadWriteAttribute(jsObject: object, name: Strings.committed) - _finished = ReadWriteAttribute(jsObject: object, name: Strings.finished) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var committed: JSPromise + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var finished: JSPromise + @inlinable public var committed: JSPromise { + get { jsObject[Strings.committed].fromJSValue()! } + set { jsObject[Strings.committed] = _toJSValue(newValue) } + } + @inlinable public var finished: JSPromise { + get { jsObject[Strings.finished].fromJSValue()! } + set { jsObject[Strings.finished] = _toJSValue(newValue) } + } } - public enum NavigationScrollBehavior: JSString, JSValueCompatible { case afterTransition = "after-transition" case manual = "manual" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class NavigationTransition: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.NavigationTransition].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _navigationType = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigationType) - _from = ReadonlyAttribute(jsObject: jsObject, name: Strings.from) - _finished = ReadonlyAttribute(jsObject: jsObject, name: Strings.finished) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var navigationType: NavigationType + @inlinable public var navigationType: NavigationType { jsObject[Strings.navigationType].fromJSValue()! } - @ReadonlyAttribute - public var from: NavigationHistoryEntry + @inlinable public var from: NavigationHistoryEntry { jsObject[Strings.from].fromJSValue()! } - @ReadonlyAttribute - public var finished: JSPromise + @inlinable public var finished: JSPromise { jsObject[Strings.finished].fromJSValue()! } } public enum NavigationType: JSString, JSValueCompatible { @@ -12784,163 +13871,139 @@ public enum NavigationType: JSString, JSValueCompatible { case traverse = "traverse" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class NavigationUpdateCurrentEntryOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class NavigationUpdateCurrentEntryOptions: BridgedDictionary { public convenience init(state: JSValue) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.state] = _toJSValue(state) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _state = ReadWriteAttribute(jsObject: object, name: Strings.state) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var state: JSValue + @inlinable public var state: JSValue { + get { jsObject[Strings.state].fromJSValue()! } + set { jsObject[Strings.state] = _toJSValue(newValue) } + } } - -public class Navigator: JSBridgedClass, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware { +public class Navigator: JSBridgedClass, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, + NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware +{ @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Navigator].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _userActivation = ReadonlyAttribute(jsObject: jsObject, name: Strings.userActivation) - _mediaDevices = ReadonlyAttribute(jsObject: jsObject, name: Strings.mediaDevices) - _serviceWorker = ReadonlyAttribute(jsObject: jsObject, name: Strings.serviceWorker) - _permissions = ReadonlyAttribute(jsObject: jsObject, name: Strings.permissions) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var userActivation: UserActivation + @inlinable public var userActivation: UserActivation { jsObject[Strings.userActivation].fromJSValue()! } - @ReadonlyAttribute - public var mediaDevices: MediaDevices + @inlinable public var mediaDevices: MediaDevices { jsObject[Strings.mediaDevices].fromJSValue()! } - @inlinable public func getUserMedia(constraints: MediaStreamConstraints, successCallback: @escaping NavigatorUserMediaSuccessCallback, errorCallback: @escaping NavigatorUserMediaErrorCallback) { + @inlinable final public func getUserMedia( + constraints: MediaStreamConstraints, + successCallback: @escaping NavigatorUserMediaSuccessCallback, + errorCallback: @escaping NavigatorUserMediaErrorCallback + ) { let this = jsObject - _ = this[Strings.getUserMedia].function!(this: this, arguments: [_toJSValue(constraints), _toJSValue(successCallback), _toJSValue(errorCallback)]) + _ = this[Strings.getUserMedia].function!( + this: this, + arguments: [_toJSValue(constraints), _toJSValue(successCallback), _toJSValue(errorCallback)] + ) } - @ReadonlyAttribute - public var serviceWorker: ServiceWorkerContainer + @inlinable public var serviceWorker: ServiceWorkerContainer { jsObject[Strings.serviceWorker].fromJSValue()! } - @ReadonlyAttribute - public var permissions: Permissions + @inlinable public var permissions: Permissions { jsObject[Strings.permissions].fromJSValue()! } } public protocol NavigatorConcurrentHardware: JSBridgedClass {} -public extension NavigatorConcurrentHardware { - @inlinable var hardwareConcurrency: UInt64 { jsObject[Strings.hardwareConcurrency].fromJSValue()! } +extension NavigatorConcurrentHardware { + @inlinable public var hardwareConcurrency: UInt64 { jsObject[Strings.hardwareConcurrency].fromJSValue()! } } - public protocol NavigatorContentUtils: JSBridgedClass {} -public extension NavigatorContentUtils { - @inlinable func registerProtocolHandler(scheme: String, url: String) { +extension NavigatorContentUtils { + @inlinable public func registerProtocolHandler(scheme: String, url: String) { let this = jsObject - _ = this[Strings.registerProtocolHandler].function!(this: this, arguments: [_toJSValue(scheme), _toJSValue(url)]) + _ = this[Strings.registerProtocolHandler].function!( + this: this, + arguments: [_toJSValue(scheme), _toJSValue(url)] + ) } - @inlinable func unregisterProtocolHandler(scheme: String, url: String) { + @inlinable public func unregisterProtocolHandler(scheme: String, url: String) { let this = jsObject - _ = this[Strings.unregisterProtocolHandler].function!(this: this, arguments: [_toJSValue(scheme), _toJSValue(url)]) + _ = this[Strings.unregisterProtocolHandler].function!( + this: this, + arguments: [_toJSValue(scheme), _toJSValue(url)] + ) } } - public protocol NavigatorCookies: JSBridgedClass {} -public extension NavigatorCookies { - @inlinable var cookieEnabled: Bool { jsObject[Strings.cookieEnabled].fromJSValue()! } +extension NavigatorCookies { + @inlinable public var cookieEnabled: Bool { jsObject[Strings.cookieEnabled].fromJSValue()! } } - public protocol NavigatorID: JSBridgedClass {} -public extension NavigatorID { - @inlinable var appCodeName: String { jsObject[Strings.appCodeName].fromJSValue()! } +extension NavigatorID { + @inlinable public var appCodeName: String { jsObject[Strings.appCodeName].fromJSValue()! } - @inlinable var appName: String { jsObject[Strings.appName].fromJSValue()! } + @inlinable public var appName: String { jsObject[Strings.appName].fromJSValue()! } - @inlinable var appVersion: String { jsObject[Strings.appVersion].fromJSValue()! } + @inlinable public var appVersion: String { jsObject[Strings.appVersion].fromJSValue()! } - @inlinable var platform: String { jsObject[Strings.platform].fromJSValue()! } + @inlinable public var platform: String { jsObject[Strings.platform].fromJSValue()! } - @inlinable var product: String { jsObject[Strings.product].fromJSValue()! } + @inlinable public var product: String { jsObject[Strings.product].fromJSValue()! } - @inlinable var productSub: String { jsObject[Strings.productSub].fromJSValue()! } + @inlinable public var productSub: String { jsObject[Strings.productSub].fromJSValue()! } - @inlinable var userAgent: String { jsObject[Strings.userAgent].fromJSValue()! } + @inlinable public var userAgent: String { jsObject[Strings.userAgent].fromJSValue()! } - @inlinable var vendor: String { jsObject[Strings.vendor].fromJSValue()! } + @inlinable public var vendor: String { jsObject[Strings.vendor].fromJSValue()! } - @inlinable var vendorSub: String { jsObject[Strings.vendorSub].fromJSValue()! } + @inlinable public var vendorSub: String { jsObject[Strings.vendorSub].fromJSValue()! } - @inlinable func taintEnabled() -> Bool { + @inlinable public func taintEnabled() -> Bool { let this = jsObject return this[Strings.taintEnabled].function!(this: this, arguments: []).fromJSValue()! } - @inlinable var oscpu: String { jsObject[Strings.oscpu].fromJSValue()! } + @inlinable public var oscpu: String { jsObject[Strings.oscpu].fromJSValue()! } } - public protocol NavigatorLanguage: JSBridgedClass {} -public extension NavigatorLanguage { - @inlinable var language: String { jsObject[Strings.language].fromJSValue()! } +extension NavigatorLanguage { + @inlinable public var language: String { jsObject[Strings.language].fromJSValue()! } - @inlinable var languages: [String] { jsObject[Strings.languages].fromJSValue()! } + @inlinable public var languages: [String] { jsObject[Strings.languages].fromJSValue()! } } - public protocol NavigatorOnLine: JSBridgedClass {} -public extension NavigatorOnLine { - @inlinable var onLine: Bool { jsObject[Strings.onLine].fromJSValue()! } -} - +extension NavigatorOnLine { @inlinable public var onLine: Bool { jsObject[Strings.onLine].fromJSValue()! } } public protocol NavigatorPlugins: JSBridgedClass {} -public extension NavigatorPlugins { - @inlinable var plugins: PluginArray { jsObject[Strings.plugins].fromJSValue()! } +extension NavigatorPlugins { + @inlinable public var plugins: PluginArray { jsObject[Strings.plugins].fromJSValue()! } - @inlinable var mimeTypes: MimeTypeArray { jsObject[Strings.mimeTypes].fromJSValue()! } + @inlinable public var mimeTypes: MimeTypeArray { jsObject[Strings.mimeTypes].fromJSValue()! } - @inlinable func javaEnabled() -> Bool { + @inlinable public func javaEnabled() -> Bool { let this = jsObject return this[Strings.javaEnabled].function!(this: this, arguments: []).fromJSValue()! } - @inlinable var pdfViewerEnabled: Bool { jsObject[Strings.pdfViewerEnabled].fromJSValue()! } + @inlinable public var pdfViewerEnabled: Bool { jsObject[Strings.pdfViewerEnabled].fromJSValue()! } } - open class Node: EventTarget { - @inlinable override open class var constructor: JSFunction? { JSObject.global[Strings.Node].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _nodeType = ReadonlyAttribute(jsObject: jsObject, name: Strings.nodeType) - _nodeName = ReadonlyAttribute(jsObject: jsObject, name: Strings.nodeName) - _baseURI = ReadonlyAttribute(jsObject: jsObject, name: Strings.baseURI) - _isConnected = ReadonlyAttribute(jsObject: jsObject, name: Strings.isConnected) - _ownerDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.ownerDocument) - _parentNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.parentNode) - _parentElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.parentElement) - _childNodes = ReadonlyAttribute(jsObject: jsObject, name: Strings.childNodes) - _firstChild = ReadonlyAttribute(jsObject: jsObject, name: Strings.firstChild) - _lastChild = ReadonlyAttribute(jsObject: jsObject, name: Strings.lastChild) - _previousSibling = ReadonlyAttribute(jsObject: jsObject, name: Strings.previousSibling) - _nextSibling = ReadonlyAttribute(jsObject: jsObject, name: Strings.nextSibling) - _nodeValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.nodeValue) - _textContent = ReadWriteAttribute(jsObject: jsObject, name: Strings.textContent) - super.init(unsafelyWrapping: jsObject) - } + @inlinable open override class var constructor: JSFunction? { JSObject.global[Strings.Node].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } public static let ELEMENT_NODE: UInt16 = 1 @@ -12966,74 +14029,66 @@ open class Node: EventTarget { public static let NOTATION_NODE: UInt16 = 12 - @ReadonlyAttribute - public var nodeType: UInt16 + @inlinable public var nodeType: UInt16 { jsObject[Strings.nodeType].fromJSValue()! } - @ReadonlyAttribute - public var nodeName: String + @inlinable public var nodeName: String { jsObject[Strings.nodeName].fromJSValue()! } - @ReadonlyAttribute - public var baseURI: String + @inlinable public var baseURI: String { jsObject[Strings.baseURI].fromJSValue()! } - @ReadonlyAttribute - public var isConnected: Bool + @inlinable public var isConnected: Bool { jsObject[Strings.isConnected].fromJSValue()! } - @ReadonlyAttribute - public var ownerDocument: Document? + @inlinable public var ownerDocument: Document? { jsObject[Strings.ownerDocument].fromJSValue() } - @inlinable public func getRootNode(options: GetRootNodeOptions? = nil) -> Self { + @inlinable final public func getRootNode(options: GetRootNodeOptions? = nil) -> Node { let this = jsObject return this[Strings.getRootNode].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @ReadonlyAttribute - public var parentNode: Node? + @inlinable public var parentNode: Node? { jsObject[Strings.parentNode].fromJSValue() } - @ReadonlyAttribute - public var parentElement: Element? + @inlinable public var parentElement: Element? { jsObject[Strings.parentElement].fromJSValue() } - @inlinable public func hasChildNodes() -> Bool { + @inlinable final public func hasChildNodes() -> Bool { let this = jsObject return this[Strings.hasChildNodes].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var childNodes: NodeList + @inlinable public var childNodes: NodeList { jsObject[Strings.childNodes].fromJSValue()! } - @ReadonlyAttribute - public var firstChild: Node? + @inlinable public var firstChild: Node? { jsObject[Strings.firstChild].fromJSValue() } - @ReadonlyAttribute - public var lastChild: Node? + @inlinable public var lastChild: Node? { jsObject[Strings.lastChild].fromJSValue() } - @ReadonlyAttribute - public var previousSibling: Node? + @inlinable public var previousSibling: Node? { jsObject[Strings.previousSibling].fromJSValue() } - @ReadonlyAttribute - public var nextSibling: Node? + @inlinable public var nextSibling: Node? { jsObject[Strings.nextSibling].fromJSValue() } - @ReadWriteAttribute - public var nodeValue: String? + @inlinable public var nodeValue: String? { + get { jsObject[Strings.nodeValue].fromJSValue() } + set { jsObject[Strings.nodeValue] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var textContent: String? + @inlinable public var textContent: String? { + get { jsObject[Strings.textContent].fromJSValue() } + set { jsObject[Strings.textContent] = _toJSValue(newValue) } + } - @inlinable public func normalize() { + @inlinable final public func normalize() { let this = jsObject _ = this[Strings.normalize].function!(this: this, arguments: []) } - @inlinable public func cloneNode(deep: Bool? = nil) -> Self { + @inlinable final public func cloneNode(deep: Bool? = nil) -> Node { let this = jsObject return this[Strings.cloneNode].function!(this: this, arguments: [_toJSValue(deep)]).fromJSValue()! } - @inlinable public func isEqualNode(otherNode: Node?) -> Bool { + @inlinable final public func isEqualNode(otherNode: Node?) -> Bool { let this = jsObject return this[Strings.isEqualNode].function!(this: this, arguments: [_toJSValue(otherNode)]).fromJSValue()! } - @inlinable public func isSameNode(otherNode: Node?) -> Bool { + @inlinable final public func isSameNode(otherNode: Node?) -> Bool { let this = jsObject return this[Strings.isSameNode].function!(this: this, arguments: [_toJSValue(otherNode)]).fromJSValue()! } @@ -13050,47 +14105,50 @@ open class Node: EventTarget { public static let DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: UInt16 = 0x20 - @inlinable public func compareDocumentPosition(other: Node) -> UInt16 { + @inlinable final public func compareDocumentPosition(other: Node) -> UInt16 { let this = jsObject - return this[Strings.compareDocumentPosition].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! + return this[Strings.compareDocumentPosition].function!(this: this, arguments: [_toJSValue(other)]) + .fromJSValue()! } - @inlinable public func contains(other: Node?) -> Bool { + @inlinable final public func contains(other: Node?) -> Bool { let this = jsObject return this[Strings.contains].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public func lookupPrefix(namespace: String?) -> String? { + @inlinable final public func lookupPrefix(namespace: String?) -> String? { let this = jsObject return this[Strings.lookupPrefix].function!(this: this, arguments: [_toJSValue(namespace)]).fromJSValue() } - @inlinable public func lookupNamespaceURI(prefix: String?) -> String? { + @inlinable final public func lookupNamespaceURI(prefix: String?) -> String? { let this = jsObject return this[Strings.lookupNamespaceURI].function!(this: this, arguments: [_toJSValue(prefix)]).fromJSValue() } - @inlinable public func isDefaultNamespace(namespace: String?) -> Bool { + @inlinable final public func isDefaultNamespace(namespace: String?) -> Bool { let this = jsObject return this[Strings.isDefaultNamespace].function!(this: this, arguments: [_toJSValue(namespace)]).fromJSValue()! } - @inlinable public func insertBefore(node: Node, child: Node?) -> Self { + @inlinable final public func insertBefore(node: Node, child: Node?) -> Node { let this = jsObject - return this[Strings.insertBefore].function!(this: this, arguments: [_toJSValue(node), _toJSValue(child)]).fromJSValue()! + return this[Strings.insertBefore].function!(this: this, arguments: [_toJSValue(node), _toJSValue(child)]) + .fromJSValue()! } - @inlinable public func appendChild(node: Node) -> Self { + @inlinable final public func appendChild(node: Node) -> Node { let this = jsObject return this[Strings.appendChild].function!(this: this, arguments: [_toJSValue(node)]).fromJSValue()! } - @inlinable public func replaceChild(node: Node, child: Node) -> Self { + @inlinable final public func replaceChild(node: Node, child: Node) -> Node { let this = jsObject - return this[Strings.replaceChild].function!(this: this, arguments: [_toJSValue(node), _toJSValue(child)]).fromJSValue()! + return this[Strings.replaceChild].function!(this: this, arguments: [_toJSValue(node), _toJSValue(child)]) + .fromJSValue()! } - @inlinable public func removeChild(child: Node) -> Self { + @inlinable final public func removeChild(child: Node) -> Node { let this = jsObject return this[Strings.removeChild].function!(this: this, arguments: [_toJSValue(child)]).fromJSValue()! } @@ -13101,39 +14159,31 @@ public class NodeIterator: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _root = ReadonlyAttribute(jsObject: jsObject, name: Strings.root) - _referenceNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.referenceNode) - _pointerBeforeReferenceNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.pointerBeforeReferenceNode) - _whatToShow = ReadonlyAttribute(jsObject: jsObject, name: Strings.whatToShow) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var root: Node + @inlinable public var root: Node { jsObject[Strings.root].fromJSValue()! } - @ReadonlyAttribute - public var referenceNode: Node + @inlinable public var referenceNode: Node { jsObject[Strings.referenceNode].fromJSValue()! } - @ReadonlyAttribute - public var pointerBeforeReferenceNode: Bool + @inlinable public var pointerBeforeReferenceNode: Bool { + jsObject[Strings.pointerBeforeReferenceNode].fromJSValue()! + } - @ReadonlyAttribute - public var whatToShow: UInt32 + @inlinable public var whatToShow: UInt32 { jsObject[Strings.whatToShow].fromJSValue()! } // XXX: member 'filter' is ignored - @inlinable public func nextNode() -> Node? { + @inlinable final public func nextNode() -> Node? { let this = jsObject return this[Strings.nextNode].function!(this: this, arguments: []).fromJSValue() } - @inlinable public func previousNode() -> Node? { + @inlinable final public func previousNode() -> Node? { let this = jsObject return this[Strings.previousNode].function!(this: this, arguments: []).fromJSValue() } - @inlinable public func detach() { + @inlinable final public func detach() { let this = jsObject _ = this[Strings.detach].function!(this: this, arguments: []) } @@ -13144,247 +14194,262 @@ public class NodeList: JSBridgedClass, Sequence { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public subscript(key: Int) -> Node? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> Node? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> Node? { + @inlinable final public func item(index: UInt32) -> Node? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } public typealias Element = Node - public func makeIterator() -> ValueIterableIterator { - ValueIterableIterator(sequence: self) - } + public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } } public protocol NonDocumentTypeChildNode: JSBridgedClass {} -public extension NonDocumentTypeChildNode { - @inlinable var previousElementSibling: Element? { jsObject[Strings.previousElementSibling].fromJSValue() } +extension NonDocumentTypeChildNode { + @inlinable public var previousElementSibling: Element? { jsObject[Strings.previousElementSibling].fromJSValue() } - @inlinable var nextElementSibling: Element? { jsObject[Strings.nextElementSibling].fromJSValue() } + @inlinable public var nextElementSibling: Element? { jsObject[Strings.nextElementSibling].fromJSValue() } } - public protocol NonElementParentNode: JSBridgedClass {} -public extension NonElementParentNode { - @inlinable func getElementById(elementId: String) -> Element? { +extension NonElementParentNode { + @inlinable public func getElementById(elementId: String) -> Element? { let this = jsObject return this[Strings.getElementById].function!(this: this, arguments: [_toJSValue(elementId)]).fromJSValue() } } - public class OffscreenCanvas: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.OffscreenCanvas].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.OffscreenCanvas].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _oncontextlost = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncontextlost) - _oncontextrestored = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncontextrestored) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(width: UInt64, height: UInt64) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(width), _toJSValue(height)])) } - @ReadWriteAttribute - public var width: UInt64 + @inlinable public var width: UInt64 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: UInt64 + @inlinable public var height: UInt64 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } // XXX: member 'getContext' is ignored - @inlinable public func transferToImageBitmap() -> ImageBitmap { + @inlinable final public func transferToImageBitmap() -> ImageBitmap { let this = jsObject return this[Strings.transferToImageBitmap].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func convertToBlob(options: ImageEncodeOptions? = nil) -> JSPromise { + @inlinable final public func convertToBlob(options: ImageEncodeOptions? = nil) -> JSPromise { let this = jsObject return this[Strings.convertToBlob].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func convertToBlob(options: ImageEncodeOptions? = nil) async throws -> Blob { - let this = jsObject - let _promise: JSPromise = this[Strings.convertToBlob].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func convertToBlob( + options: ImageEncodeOptions? = nil + ) async throws(JSException) -> Blob { + let this = jsObject + let _promise: JSPromise = this[Strings.convertToBlob].function!( + this: this, + arguments: [_toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @ClosureAttribute1Optional - public var oncontextlost: EventHandler + @inlinable public var oncontextlost: EventHandler { + get { + guard let function = jsObject[Strings.oncontextlost].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncontextlost] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncontextlost] = .null + } + } + } - @ClosureAttribute1Optional - public var oncontextrestored: EventHandler + @inlinable public var oncontextrestored: EventHandler { + get { + guard let function = jsObject[Strings.oncontextrestored].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncontextrestored] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncontextrestored] = .null + } + } + } } -public class OffscreenCanvasRenderingContext2D: JSBridgedClass, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.OffscreenCanvasRenderingContext2D].function } +public class OffscreenCanvasRenderingContext2D: JSBridgedClass, CanvasState, CanvasTransform, CanvasCompositing, + CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, + CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath +{ + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.OffscreenCanvasRenderingContext2D].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _canvas = ReadonlyAttribute(jsObject: jsObject, name: Strings.canvas) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func commit() { + @inlinable final public func commit() { let this = jsObject _ = this[Strings.commit].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var canvas: OffscreenCanvas + @inlinable public var canvas: OffscreenCanvas { jsObject[Strings.canvas].fromJSValue()! } } public class OverconstrainedError: DOMException { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.OverconstrainedError].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _constraint = ReadonlyAttribute(jsObject: jsObject, name: Strings.constraint) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.OverconstrainedError].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(constraint: String, message: String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(constraint), _toJSValue(message)])) } - @ReadonlyAttribute - public var constraint: String + @inlinable public var constraint: String { jsObject[Strings.constraint].fromJSValue()! } } public class PageTransitionEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.PageTransitionEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _persisted = ReadonlyAttribute(jsObject: jsObject, name: Strings.persisted) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.PageTransitionEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: PageTransitionEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var persisted: Bool + @inlinable public var persisted: Bool { jsObject[Strings.persisted].fromJSValue()! } } -public class PageTransitionEventInit: BridgedDictionary { - public convenience init(persisted: Bool) { +open class PageTransitionEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + persisted: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.persisted] = _toJSValue(persisted) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _persisted = ReadWriteAttribute(jsObject: object, name: Strings.persisted) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var persisted: Bool + @inlinable public var persisted: Bool { + get { jsObject[Strings.persisted].fromJSValue()! } + set { jsObject[Strings.persisted] = _toJSValue(newValue) } + } } - public protocol ParentNode: JSBridgedClass {} -public extension ParentNode { - @inlinable var children: HTMLCollection { jsObject[Strings.children].fromJSValue()! } +extension ParentNode { + @inlinable public var children: HTMLCollection { jsObject[Strings.children].fromJSValue()! } - @inlinable var firstElementChild: Element? { jsObject[Strings.firstElementChild].fromJSValue() } + @inlinable public var firstElementChild: Element? { jsObject[Strings.firstElementChild].fromJSValue() } - @inlinable var lastElementChild: Element? { jsObject[Strings.lastElementChild].fromJSValue() } + @inlinable public var lastElementChild: Element? { jsObject[Strings.lastElementChild].fromJSValue() } - @inlinable var childElementCount: UInt32 { jsObject[Strings.childElementCount].fromJSValue()! } + @inlinable public var childElementCount: UInt32 { jsObject[Strings.childElementCount].fromJSValue()! } - @inlinable func prepend(nodes: Node_or_String...) { + @inlinable public func prepend(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.prepend].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable func append(nodes: Node_or_String...) { + @inlinable public func append(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.append].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable func replaceChildren(nodes: Node_or_String...) { + @inlinable public func replaceChildren(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.replaceChildren].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable func querySelector(selectors: String) -> Element? { + @inlinable public func querySelector(selectors: String) -> Element? { let this = jsObject return this[Strings.querySelector].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue() } - @inlinable func querySelectorAll(selectors: String) -> NodeList { + @inlinable public func querySelectorAll(selectors: String) -> NodeList { let this = jsObject return this[Strings.querySelectorAll].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue()! } } - public class Path2D: JSBridgedClass, CanvasPath { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Path2D].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(path: Path2D_or_String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(path)])) } - @inlinable public func addPath(path: Path2D, transform: DOMMatrix2DInit? = nil) { + @inlinable final public func addPath(path: Path2D, transform: DOMMatrix2DInit? = nil) { let this = jsObject _ = this[Strings.addPath].function!(this: this, arguments: [_toJSValue(path), _toJSValue(transform)]) } } public class Performance: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Performance].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Performance].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _timeOrigin = ReadonlyAttribute(jsObject: jsObject, name: Strings.timeOrigin) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public func now() -> DOMHighResTimeStamp { + @inlinable final public func now() -> DOMHighResTimeStamp { let this = jsObject return this[Strings.now].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var timeOrigin: DOMHighResTimeStamp + @inlinable public var timeOrigin: DOMHighResTimeStamp { jsObject[Strings.timeOrigin].fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getEntries() -> PerformanceEntryList { + @inlinable final public func getEntries() -> PerformanceEntryList { let this = jsObject return this[Strings.getEntries].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getEntriesByType(type: String) -> PerformanceEntryList { + @inlinable final public func getEntriesByType(type: String) -> PerformanceEntryList { let this = jsObject return this[Strings.getEntriesByType].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @inlinable public func getEntriesByName(name: String, type: String? = nil) -> PerformanceEntryList { + @inlinable final public func getEntriesByName(name: String, type: String? = nil) -> PerformanceEntryList { let this = jsObject - return this[Strings.getEntriesByName].function!(this: this, arguments: [_toJSValue(name), _toJSValue(type)]).fromJSValue()! + return this[Strings.getEntriesByName].function!(this: this, arguments: [_toJSValue(name), _toJSValue(type)]) + .fromJSValue()! } } @@ -13393,27 +14458,17 @@ public class PerformanceEntry: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _entryType = ReadonlyAttribute(jsObject: jsObject, name: Strings.entryType) - _startTime = ReadonlyAttribute(jsObject: jsObject, name: Strings.startTime) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ReadonlyAttribute - public var entryType: String + @inlinable public var entryType: String { jsObject[Strings.entryType].fromJSValue()! } - @ReadonlyAttribute - public var startTime: DOMHighResTimeStamp + @inlinable public var startTime: DOMHighResTimeStamp { jsObject[Strings.startTime].fromJSValue()! } - @ReadonlyAttribute - public var duration: DOMHighResTimeStamp + @inlinable public var duration: DOMHighResTimeStamp { jsObject[Strings.duration].fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -13424,175 +14479,175 @@ public class PerformanceObserver: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _supportedEntryTypes = ReadonlyAttribute(jsObject: jsObject, name: Strings.supportedEntryTypes) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(callback: @escaping PerformanceObserverCallback) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(callback)])) } - @inlinable public func observe(options: PerformanceObserverInit? = nil) { + @inlinable final public func observe(options: PerformanceObserverInit? = nil) { let this = jsObject _ = this[Strings.observe].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func disconnect() { + @inlinable final public func disconnect() { let this = jsObject _ = this[Strings.disconnect].function!(this: this, arguments: []) } - @inlinable public func takeRecords() -> PerformanceEntryList { + @inlinable final public func takeRecords() -> PerformanceEntryList { let this = jsObject return this[Strings.takeRecords].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var supportedEntryTypes: [String] + @inlinable public var supportedEntryTypes: [String] { jsObject[Strings.supportedEntryTypes].fromJSValue()! } } -public class PerformanceObserverCallbackOptions: BridgedDictionary { - public convenience init(droppedEntriesCount: UInt64) { +open class PerformanceObserverCallbackOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(droppedEntriesCount: UInt64? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.droppedEntriesCount] = _toJSValue(droppedEntriesCount) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _droppedEntriesCount = ReadWriteAttribute(jsObject: object, name: Strings.droppedEntriesCount) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var droppedEntriesCount: UInt64 + @inlinable public var droppedEntriesCount: UInt64 { + get { jsObject[Strings.droppedEntriesCount].fromJSValue()! } + set { jsObject[Strings.droppedEntriesCount] = _toJSValue(newValue) } + } } - public class PerformanceObserverEntryList: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.PerformanceObserverEntryList].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.PerformanceObserverEntryList].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func getEntries() -> PerformanceEntryList { + @inlinable final public func getEntries() -> PerformanceEntryList { let this = jsObject return this[Strings.getEntries].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getEntriesByType(type: String) -> PerformanceEntryList { + @inlinable final public func getEntriesByType(type: String) -> PerformanceEntryList { let this = jsObject return this[Strings.getEntriesByType].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @inlinable public func getEntriesByName(name: String, type: String? = nil) -> PerformanceEntryList { + @inlinable final public func getEntriesByName(name: String, type: String? = nil) -> PerformanceEntryList { let this = jsObject - return this[Strings.getEntriesByName].function!(this: this, arguments: [_toJSValue(name), _toJSValue(type)]).fromJSValue()! + return this[Strings.getEntriesByName].function!(this: this, arguments: [_toJSValue(name), _toJSValue(type)]) + .fromJSValue()! } } -public class PerformanceObserverInit: BridgedDictionary { - public convenience init(entryTypes: [String], type: String, buffered: Bool) { +open class PerformanceObserverInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(entryTypes: [String]? = nil, type: String? = nil, buffered: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.entryTypes] = _toJSValue(entryTypes) object[Strings.type] = _toJSValue(type) object[Strings.buffered] = _toJSValue(buffered) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _entryTypes = ReadWriteAttribute(jsObject: object, name: Strings.entryTypes) - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _buffered = ReadWriteAttribute(jsObject: object, name: Strings.buffered) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var entryTypes: [String] - - @ReadWriteAttribute - public var type: String + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var buffered: Bool + @inlinable public var entryTypes: [String] { + get { jsObject[Strings.entryTypes].fromJSValue()! } + set { jsObject[Strings.entryTypes] = _toJSValue(newValue) } + } + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var buffered: Bool { + get { jsObject[Strings.buffered].fromJSValue()! } + set { jsObject[Strings.buffered] = _toJSValue(newValue) } + } } +open class PermissionDescriptor: JSDictionaryCompatible { + public let jsObject: JSObject -public class PermissionDescriptor: BridgedDictionary { public convenience init(name: String) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.name] = _toJSValue(name) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _name = ReadWriteAttribute(jsObject: object, name: Strings.name) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } } +open class PermissionSetParameters: JSDictionaryCompatible { + public let jsObject: JSObject -public class PermissionSetParameters: BridgedDictionary { public convenience init(descriptor: PermissionDescriptor, state: PermissionState) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.descriptor] = _toJSValue(descriptor) object[Strings.state] = _toJSValue(state) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _descriptor = ReadWriteAttribute(jsObject: object, name: Strings.descriptor) - _state = ReadWriteAttribute(jsObject: object, name: Strings.state) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var descriptor: PermissionDescriptor + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var state: PermissionState + @inlinable public var descriptor: PermissionDescriptor { + get { jsObject[Strings.descriptor].fromJSValue()! } + set { jsObject[Strings.descriptor] = _toJSValue(newValue) } + } + @inlinable public var state: PermissionState { + get { jsObject[Strings.state].fromJSValue()! } + set { jsObject[Strings.state] = _toJSValue(newValue) } + } } - public enum PermissionState: JSString, JSValueCompatible { case granted = "granted" case denied = "denied" case prompt = "prompt" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class PermissionStatus: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.PermissionStatus].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.PermissionStatus].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var state: PermissionState + @inlinable public var state: PermissionState { jsObject[Strings.state].fromJSValue()! } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ClosureAttribute1Optional - public var onchange: EventHandler + @inlinable public var onchange: EventHandler { + get { + guard let function = jsObject[Strings.onchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onchange] = .null + } + } + } } public class Permissions: JSBridgedClass { @@ -13600,83 +14655,72 @@ public class Permissions: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func query(permissionDesc: JSObject) -> JSPromise { + @inlinable final public func query(permissionDesc: JSObject) -> JSPromise { let this = jsObject return this[Strings.query].function!(this: this, arguments: [_toJSValue(permissionDesc)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func query(permissionDesc: JSObject) async throws -> PermissionStatus { - let this = jsObject - let _promise: JSPromise = this[Strings.query].function!(this: this, arguments: [_toJSValue(permissionDesc)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func query( + permissionDesc: JSObject + ) async throws(JSException) -> PermissionStatus { + let this = jsObject + let _promise: JSPromise = this[Strings.query].function!(this: this, arguments: [_toJSValue(permissionDesc)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class PlaneLayout: BridgedDictionary { +open class PlaneLayout: JSDictionaryCompatible { + public let jsObject: JSObject + public convenience init(offset: UInt32, stride: UInt32) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.offset] = _toJSValue(offset) object[Strings.stride] = _toJSValue(stride) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _offset = ReadWriteAttribute(jsObject: object, name: Strings.offset) - _stride = ReadWriteAttribute(jsObject: object, name: Strings.stride) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var offset: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var stride: UInt32 + @inlinable public var offset: UInt32 { + get { jsObject[Strings.offset].fromJSValue()! } + set { jsObject[Strings.offset] = _toJSValue(newValue) } + } + @inlinable public var stride: UInt32 { + get { jsObject[Strings.stride].fromJSValue()! } + set { jsObject[Strings.stride] = _toJSValue(newValue) } + } } - public class Plugin: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Plugin].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _description = ReadonlyAttribute(jsObject: jsObject, name: Strings.description) - _filename = ReadonlyAttribute(jsObject: jsObject, name: Strings.filename) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ReadonlyAttribute - public var description: String + @inlinable public var description: String { jsObject[Strings.description].fromJSValue()! } - @ReadonlyAttribute - public var filename: String + @inlinable public var filename: String { jsObject[Strings.filename].fromJSValue()! } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> MimeType? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> MimeType? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> MimeType? { + @inlinable final public func item(index: UInt32) -> MimeType? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> MimeType? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: String) -> MimeType? { jsObject[key].fromJSValue() } - @inlinable public func namedItem(name: String) -> MimeType? { + @inlinable final public func namedItem(name: String) -> MimeType? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } @@ -13687,328 +14731,312 @@ public class PluginArray: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func refresh() { + @inlinable final public func refresh() { let this = jsObject _ = this[Strings.refresh].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> Plugin? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> Plugin? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> Plugin? { + @inlinable final public func item(index: UInt32) -> Plugin? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> Plugin? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: String) -> Plugin? { jsObject[key].fromJSValue() } - @inlinable public func namedItem(name: String) -> Plugin? { + @inlinable final public func namedItem(name: String) -> Plugin? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } } public class PopStateEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.PopStateEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.PopStateEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: PopStateEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var state: JSValue + @inlinable public var state: JSValue { jsObject[Strings.state].fromJSValue()! } } -public class PopStateEventInit: BridgedDictionary { - public convenience init(state: JSValue) { +open class PopStateEventInit: EventInit { + + public convenience init(bubbles: Bool? = nil, cancelable: Bool? = nil, composed: Bool? = nil, state: JSValue? = nil) + { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.state] = _toJSValue(state) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _state = ReadWriteAttribute(jsObject: object, name: Strings.state) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var state: JSValue + @inlinable public var state: JSValue { + get { jsObject[Strings.state].fromJSValue()! } + set { jsObject[Strings.state] = _toJSValue(newValue) } + } } - public protocol PopoverInvokerElement: JSBridgedClass {} -public extension PopoverInvokerElement { - @inlinable var popoverTargetElement: Element? { +extension PopoverInvokerElement { + @inlinable public var popoverTargetElement: Element? { get { jsObject[Strings.popoverTargetElement].fromJSValue() } - nonmutating set { jsObject[Strings.popoverTargetElement] = _toJSValue(newValue) } + set { jsObject[Strings.popoverTargetElement] = _toJSValue(newValue) } } - @inlinable var popoverTargetAction: String { + @inlinable public var popoverTargetAction: String { get { jsObject[Strings.popoverTargetAction].fromJSValue()! } - nonmutating set { jsObject[Strings.popoverTargetAction] = _toJSValue(newValue) } + set { jsObject[Strings.popoverTargetAction] = _toJSValue(newValue) } } } - public enum PredefinedColorSpace: JSString, JSValueCompatible { case srgb = "srgb" case displayP3 = "display-p3" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum PremultiplyAlpha: JSString, JSValueCompatible { case none = "none" case premultiply = "premultiply" case `default` = "default" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class ProcessingInstruction: CharacterData { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ProcessingInstruction].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _target = ReadonlyAttribute(jsObject: jsObject, name: Strings.target) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.ProcessingInstruction].function } - @ReadonlyAttribute - public var target: String + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var target: String { jsObject[Strings.target].fromJSValue()! } } public class ProgressEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ProgressEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.ProgressEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _lengthComputable = ReadonlyAttribute(jsObject: jsObject, name: Strings.lengthComputable) - _loaded = ReadonlyAttribute(jsObject: jsObject, name: Strings.loaded) - _total = ReadonlyAttribute(jsObject: jsObject, name: Strings.total) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: ProgressEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var lengthComputable: Bool + @inlinable public var lengthComputable: Bool { jsObject[Strings.lengthComputable].fromJSValue()! } - @ReadonlyAttribute - public var loaded: UInt64 + @inlinable public var loaded: UInt64 { jsObject[Strings.loaded].fromJSValue()! } - @ReadonlyAttribute - public var total: UInt64 + @inlinable public var total: UInt64 { jsObject[Strings.total].fromJSValue()! } } -public class ProgressEventInit: BridgedDictionary { - public convenience init(lengthComputable: Bool, loaded: UInt64, total: UInt64) { +open class ProgressEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + lengthComputable: Bool? = nil, + loaded: UInt64? = nil, + total: UInt64? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.lengthComputable] = _toJSValue(lengthComputable) object[Strings.loaded] = _toJSValue(loaded) object[Strings.total] = _toJSValue(total) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _lengthComputable = ReadWriteAttribute(jsObject: object, name: Strings.lengthComputable) - _loaded = ReadWriteAttribute(jsObject: object, name: Strings.loaded) - _total = ReadWriteAttribute(jsObject: object, name: Strings.total) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var lengthComputable: Bool + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var loaded: UInt64 - - @ReadWriteAttribute - public var total: UInt64 + @inlinable public var lengthComputable: Bool { + get { jsObject[Strings.lengthComputable].fromJSValue()! } + set { jsObject[Strings.lengthComputable] = _toJSValue(newValue) } + } + @inlinable public var loaded: UInt64 { + get { jsObject[Strings.loaded].fromJSValue()! } + set { jsObject[Strings.loaded] = _toJSValue(newValue) } + } + @inlinable public var total: UInt64 { + get { jsObject[Strings.total].fromJSValue()! } + set { jsObject[Strings.total] = _toJSValue(newValue) } + } } - public class PromiseRejectionEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.PromiseRejectionEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _promise = ReadonlyAttribute(jsObject: jsObject, name: Strings.promise) - _reason = ReadonlyAttribute(jsObject: jsObject, name: Strings.reason) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.PromiseRejectionEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: PromiseRejectionEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var promise: JSPromise + @inlinable public var promise: JSPromise { jsObject[Strings.promise].fromJSValue()! } - @ReadonlyAttribute - public var reason: JSValue + @inlinable public var reason: JSValue { jsObject[Strings.reason].fromJSValue()! } } -public class PromiseRejectionEventInit: BridgedDictionary { - public convenience init(promise: JSPromise, reason: JSValue) { +open class PromiseRejectionEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + promise: JSPromise, + reason: JSValue? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.promise] = _toJSValue(promise) object[Strings.reason] = _toJSValue(reason) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _promise = ReadWriteAttribute(jsObject: object, name: Strings.promise) - _reason = ReadWriteAttribute(jsObject: object, name: Strings.reason) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var promise: JSPromise + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var reason: JSValue + @inlinable public var promise: JSPromise { + get { jsObject[Strings.promise].fromJSValue()! } + set { jsObject[Strings.promise] = _toJSValue(newValue) } + } + @inlinable public var reason: JSValue { + get { jsObject[Strings.reason].fromJSValue()! } + set { jsObject[Strings.reason] = _toJSValue(newValue) } + } } +open class QueuingStrategy: JSDictionaryCompatible { + public let jsObject: JSObject -public class QueuingStrategy: BridgedDictionary { - public convenience init(highWaterMark: Double, size: @escaping QueuingStrategySize) { + public convenience init(highWaterMark: Double? = nil, size: QueuingStrategySize? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.highWaterMark] = _toJSValue(highWaterMark) - ClosureAttribute1[Strings.size, in: object] = size - self.init(unsafelyWrapping: object) - } + object[Strings.size] = _toJSValue(size) - public required init(unsafelyWrapping object: JSObject) { - _highWaterMark = ReadWriteAttribute(jsObject: object, name: Strings.highWaterMark) - _size = ClosureAttribute1(jsObject: object, name: Strings.size) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var highWaterMark: Double + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ClosureAttribute1 - public var size: QueuingStrategySize + @inlinable public var highWaterMark: Double { + get { jsObject[Strings.highWaterMark].fromJSValue()! } + set { jsObject[Strings.highWaterMark] = _toJSValue(newValue) } + } + @inlinable public var size: QueuingStrategySize { + get { + let function = jsObject[Strings.size].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.size] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } } +open class QueuingStrategyInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class QueuingStrategyInit: BridgedDictionary { public convenience init(highWaterMark: Double) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.highWaterMark] = _toJSValue(highWaterMark) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _highWaterMark = ReadWriteAttribute(jsObject: object, name: Strings.highWaterMark) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var highWaterMark: Double + @inlinable public var highWaterMark: Double { + get { jsObject[Strings.highWaterMark].fromJSValue()! } + set { jsObject[Strings.highWaterMark] = _toJSValue(newValue) } + } } - public class RadioNodeList: NodeList { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.RadioNodeList].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.RadioNodeList].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } } public class Range: AbstractRange { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Range].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Range].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _commonAncestorContainer = ReadonlyAttribute(jsObject: jsObject, name: Strings.commonAncestorContainer) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var commonAncestorContainer: Node + @inlinable public var commonAncestorContainer: Node { jsObject[Strings.commonAncestorContainer].fromJSValue()! } - @inlinable public func setStart(node: Node, offset: UInt32) { + @inlinable final public func setStart(node: Node, offset: UInt32) { let this = jsObject _ = this[Strings.setStart].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]) } - @inlinable public func setEnd(node: Node, offset: UInt32) { + @inlinable final public func setEnd(node: Node, offset: UInt32) { let this = jsObject _ = this[Strings.setEnd].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]) } - @inlinable public func setStartBefore(node: Node) { + @inlinable final public func setStartBefore(node: Node) { let this = jsObject _ = this[Strings.setStartBefore].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable public func setStartAfter(node: Node) { + @inlinable final public func setStartAfter(node: Node) { let this = jsObject _ = this[Strings.setStartAfter].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable public func setEndBefore(node: Node) { + @inlinable final public func setEndBefore(node: Node) { let this = jsObject _ = this[Strings.setEndBefore].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable public func setEndAfter(node: Node) { + @inlinable final public func setEndAfter(node: Node) { let this = jsObject _ = this[Strings.setEndAfter].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable public func collapse(toStart: Bool? = nil) { + @inlinable final public func collapse(toStart: Bool? = nil) { let this = jsObject _ = this[Strings.collapse].function!(this: this, arguments: [_toJSValue(toStart)]) } - @inlinable public func selectNode(node: Node) { + @inlinable final public func selectNode(node: Node) { let this = jsObject _ = this[Strings.selectNode].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable public func selectNodeContents(node: Node) { + @inlinable final public func selectNodeContents(node: Node) { let this = jsObject _ = this[Strings.selectNodeContents].function!(this: this, arguments: [_toJSValue(node)]) } @@ -14021,203 +15049,223 @@ public class Range: AbstractRange { public static let END_TO_START: UInt16 = 3 - @inlinable public func compareBoundaryPoints(how: UInt16, sourceRange: Range) -> Int16 { + @inlinable final public func compareBoundaryPoints(how: UInt16, sourceRange: Range) -> Int16 { let this = jsObject - return this[Strings.compareBoundaryPoints].function!(this: this, arguments: [_toJSValue(how), _toJSValue(sourceRange)]).fromJSValue()! + return this[Strings.compareBoundaryPoints].function!( + this: this, + arguments: [_toJSValue(how), _toJSValue(sourceRange)] + ).fromJSValue()! } - @inlinable public func deleteContents() { + @inlinable final public func deleteContents() { let this = jsObject _ = this[Strings.deleteContents].function!(this: this, arguments: []) } - @inlinable public func extractContents() -> DocumentFragment { + @inlinable final public func extractContents() -> DocumentFragment { let this = jsObject return this[Strings.extractContents].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func cloneContents() -> DocumentFragment { + @inlinable final public func cloneContents() -> DocumentFragment { let this = jsObject return this[Strings.cloneContents].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func insertNode(node: Node) { + @inlinable final public func insertNode(node: Node) { let this = jsObject _ = this[Strings.insertNode].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable public func surroundContents(newParent: Node) { + @inlinable final public func surroundContents(newParent: Node) { let this = jsObject _ = this[Strings.surroundContents].function!(this: this, arguments: [_toJSValue(newParent)]) } - @inlinable public func cloneRange() -> Self { + @inlinable final public func cloneRange() -> Range { let this = jsObject return this[Strings.cloneRange].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func detach() { + @inlinable final public func detach() { let this = jsObject _ = this[Strings.detach].function!(this: this, arguments: []) } - @inlinable public func isPointInRange(node: Node, offset: UInt32) -> Bool { + @inlinable final public func isPointInRange(node: Node, offset: UInt32) -> Bool { let this = jsObject - return this[Strings.isPointInRange].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]).fromJSValue()! + return this[Strings.isPointInRange].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]) + .fromJSValue()! } - @inlinable public func comparePoint(node: Node, offset: UInt32) -> Int16 { + @inlinable final public func comparePoint(node: Node, offset: UInt32) -> Int16 { let this = jsObject - return this[Strings.comparePoint].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]).fromJSValue()! + return this[Strings.comparePoint].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]) + .fromJSValue()! } - @inlinable public func intersectsNode(node: Node) -> Bool { + @inlinable final public func intersectsNode(node: Node) -> Bool { let this = jsObject return this[Strings.intersectsNode].function!(this: this, arguments: [_toJSValue(node)]).fromJSValue()! } - @inlinable public var description: String { - jsObject[Strings.toString]!().fromJSValue()! - } + @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } - @inlinable public func getClientRects() -> DOMRectList { + @inlinable final public func getClientRects() -> DOMRectList { let this = jsObject return this[Strings.getClientRects].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getBoundingClientRect() -> DOMRect { + @inlinable final public func getBoundingClientRect() -> DOMRect { let this = jsObject return this[Strings.getBoundingClientRect].function!(this: this, arguments: []).fromJSValue()! } } public class ReadableByteStreamController: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableByteStreamController].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.ReadableByteStreamController].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _byobRequest = ReadonlyAttribute(jsObject: jsObject, name: Strings.byobRequest) - _desiredSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.desiredSize) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var byobRequest: ReadableStreamBYOBRequest? + @inlinable public var byobRequest: ReadableStreamBYOBRequest? { jsObject[Strings.byobRequest].fromJSValue() } - @ReadonlyAttribute - public var desiredSize: Double? + @inlinable public var desiredSize: Double? { jsObject[Strings.desiredSize].fromJSValue() } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @inlinable public func enqueue(chunk: ArrayBufferView) { + @inlinable final public func enqueue(chunk: ArrayBufferView) { let this = jsObject _ = this[Strings.enqueue].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable public func error(e: JSValue? = nil) { + @inlinable final public func error(e: JSValue? = nil) { let this = jsObject _ = this[Strings.error].function!(this: this, arguments: [_toJSValue(e)]) } } -public class ReadableStream: JSBridgedClass, AsyncSequence { +public class ReadableStream: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableStream].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _locked = ReadonlyAttribute(jsObject: jsObject, name: Strings.locked) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(underlyingSource: JSObject? = nil, strategy: QueuingStrategy? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(underlyingSource), _toJSValue(strategy)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(underlyingSource), _toJSValue(strategy)]) + ) } - @inlinable public class func from(asyncIterable: JSValue) -> Self { + @inlinable public class func from(asyncIterable: JSValue) -> ReadableStream { let this = constructor! return this[Strings.from].function!(this: this, arguments: [_toJSValue(asyncIterable)]).fromJSValue()! } - @ReadonlyAttribute - public var locked: Bool + @inlinable public var locked: Bool { jsObject[Strings.locked].fromJSValue()! } - @inlinable public func cancel(reason: JSValue? = nil) -> JSPromise { + @inlinable final public func cancel(reason: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func cancel(reason: JSValue? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func cancel( + reason: JSValue? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func getReader(options: ReadableStreamGetReaderOptions? = nil) -> ReadableStreamReader { + @inlinable final public func getReader(options: ReadableStreamGetReaderOptions? = nil) -> ReadableStreamReader { let this = jsObject return this[Strings.getReader].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func pipeThrough(transform: ReadableWritablePair, options: StreamPipeOptions? = nil) -> Self { + @inlinable final public func pipeThrough( + transform: ReadableWritablePair, + options: StreamPipeOptions? = nil + ) -> ReadableStream { let this = jsObject - return this[Strings.pipeThrough].function!(this: this, arguments: [_toJSValue(transform), _toJSValue(options)]).fromJSValue()! + return this[Strings.pipeThrough].function!(this: this, arguments: [_toJSValue(transform), _toJSValue(options)]) + .fromJSValue()! } - @inlinable public func pipeTo(destination: WritableStream, options: StreamPipeOptions? = nil) -> JSPromise { + @inlinable final public func pipeTo(destination: WritableStream, options: StreamPipeOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.pipeTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]).fromJSValue()! + return this[Strings.pipeTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func pipeTo(destination: WritableStream, options: StreamPipeOptions? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.pipeTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func pipeTo( + destination: WritableStream, + options: StreamPipeOptions? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.pipeTo].function!( + this: this, + arguments: [_toJSValue(destination), _toJSValue(options)] + ).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func tee() -> [ReadableStream] { + @inlinable final public func tee() -> [ReadableStream] { let this = jsObject return this[Strings.tee].function!(this: this, arguments: []).fromJSValue()! } - public typealias Element = JSValue - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - public func makeAsyncIterator() -> ValueIterableAsyncIterator { - ValueIterableAsyncIterator(sequence: self) - } + #if canImport(JavaScriptEventLoop) + public typealias Element = JSValue + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) public func makeAsyncIterator() + -> ValueIterableAsyncIterator + { ValueIterableAsyncIterator(sequence: self) } + #endif } +#if canImport(JavaScriptEventLoop) + extension ReadableStream: AsyncSequence {} +#endif + public class ReadableStreamBYOBReader: JSBridgedClass, ReadableStreamGenericReader { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableStreamBYOBReader].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(stream: ReadableStream) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream)])) } - @inlinable public func read(view: ArrayBufferView) -> JSPromise { + @inlinable final public func read(view: ArrayBufferView) -> JSPromise { let this = jsObject return this[Strings.read].function!(this: this, arguments: [_toJSValue(view)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func read(view: ArrayBufferView) async throws -> ReadableStreamReadResult { - let this = jsObject - let _promise: JSPromise = this[Strings.read].function!(this: this, arguments: [_toJSValue(view)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func read( + view: ArrayBufferView + ) async throws(JSException) -> ReadableStreamReadResult { + let this = jsObject + let _promise: JSPromise = this[Strings.read].function!(this: this, arguments: [_toJSValue(view)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func releaseLock() { + @inlinable final public func releaseLock() { let this = jsObject _ = this[Strings.releaseLock].function!(this: this, arguments: []) } @@ -14228,248 +15276,232 @@ public class ReadableStreamBYOBRequest: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _view = ReadonlyAttribute(jsObject: jsObject, name: Strings.view) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var view: ArrayBufferView? + @inlinable public var view: ArrayBufferView? { jsObject[Strings.view].fromJSValue() } - @inlinable public func respond(bytesWritten: UInt64) { + @inlinable final public func respond(bytesWritten: UInt64) { let this = jsObject _ = this[Strings.respond].function!(this: this, arguments: [_toJSValue(bytesWritten)]) } - @inlinable public func respondWithNewView(view: ArrayBufferView) { + @inlinable final public func respondWithNewView(view: ArrayBufferView) { let this = jsObject _ = this[Strings.respondWithNewView].function!(this: this, arguments: [_toJSValue(view)]) } } public class ReadableStreamDefaultController: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableStreamDefaultController].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.ReadableStreamDefaultController].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _desiredSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.desiredSize) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var desiredSize: Double? + @inlinable public var desiredSize: Double? { jsObject[Strings.desiredSize].fromJSValue() } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @inlinable public func enqueue(chunk: JSValue? = nil) { + @inlinable final public func enqueue(chunk: JSValue? = nil) { let this = jsObject _ = this[Strings.enqueue].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable public func error(e: JSValue? = nil) { + @inlinable final public func error(e: JSValue? = nil) { let this = jsObject _ = this[Strings.error].function!(this: this, arguments: [_toJSValue(e)]) } } public class ReadableStreamDefaultReader: JSBridgedClass, ReadableStreamGenericReader { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableStreamDefaultReader].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.ReadableStreamDefaultReader].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(stream: ReadableStream) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream)])) } - @inlinable public func read() -> JSPromise { + @inlinable final public func read() -> JSPromise { let this = jsObject return this[Strings.read].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func read() async throws -> ReadableStreamReadResult { - let this = jsObject - let _promise: JSPromise = this[Strings.read].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func read() + async throws(JSException) -> ReadableStreamReadResult + { + let this = jsObject + let _promise: JSPromise = this[Strings.read].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func releaseLock() { + @inlinable final public func releaseLock() { let this = jsObject _ = this[Strings.releaseLock].function!(this: this, arguments: []) } } public protocol ReadableStreamGenericReader: JSBridgedClass {} -public extension ReadableStreamGenericReader { - @inlinable var closed: JSPromise { jsObject[Strings.closed].fromJSValue()! } +extension ReadableStreamGenericReader { + @inlinable public var closed: JSPromise { jsObject[Strings.closed].fromJSValue()! } - @inlinable func cancel(reason: JSValue? = nil) -> JSPromise { + @inlinable public func cancel(reason: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func cancel(reason: JSValue? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func cancel( + reason: JSValue? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif } +open class ReadableStreamGetReaderOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ReadableStreamGetReaderOptions: BridgedDictionary { - public convenience init(mode: ReadableStreamReaderMode) { + public convenience init(mode: ReadableStreamReaderMode? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.mode] = _toJSValue(mode) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _mode = ReadWriteAttribute(jsObject: object, name: Strings.mode) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var mode: ReadableStreamReaderMode + @inlinable public var mode: ReadableStreamReaderMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } } +open class ReadableStreamIteratorOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ReadableStreamIteratorOptions: BridgedDictionary { - public convenience init(preventCancel: Bool) { + public convenience init(preventCancel: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.preventCancel] = _toJSValue(preventCancel) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _preventCancel = ReadWriteAttribute(jsObject: object, name: Strings.preventCancel) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var preventCancel: Bool + @inlinable public var preventCancel: Bool { + get { jsObject[Strings.preventCancel].fromJSValue()! } + set { jsObject[Strings.preventCancel] = _toJSValue(newValue) } + } } +open class ReadableStreamReadResult: JSDictionaryCompatible { + public let jsObject: JSObject -public class ReadableStreamReadResult: BridgedDictionary { - public convenience init(value: JSValue, done: Bool) { + public convenience init(value: JSValue? = nil, done: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.value] = _toJSValue(value) object[Strings.done] = _toJSValue(done) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _value = ReadWriteAttribute(jsObject: object, name: Strings.value) - _done = ReadWriteAttribute(jsObject: object, name: Strings.done) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var value: JSValue + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var done: Bool + @inlinable public var value: JSValue { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } + @inlinable public var done: Bool { + get { jsObject[Strings.done].fromJSValue()! } + set { jsObject[Strings.done] = _toJSValue(newValue) } + } } - public enum ReadableStreamReaderMode: JSString, JSValueCompatible { case byob = "byob" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ReadableStreamType: JSString, JSValueCompatible { case bytes = "bytes" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class ReadableWritablePair: JSDictionaryCompatible { + public let jsObject: JSObject -public class ReadableWritablePair: BridgedDictionary { public convenience init(readable: ReadableStream, writable: WritableStream) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.readable] = _toJSValue(readable) object[Strings.writable] = _toJSValue(writable) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _readable = ReadWriteAttribute(jsObject: object, name: Strings.readable) - _writable = ReadWriteAttribute(jsObject: object, name: Strings.writable) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var readable: ReadableStream + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var writable: WritableStream + @inlinable public var readable: ReadableStream { + get { jsObject[Strings.readable].fromJSValue()! } + set { jsObject[Strings.readable] = _toJSValue(newValue) } + } + @inlinable public var writable: WritableStream { + get { jsObject[Strings.writable].fromJSValue()! } + set { jsObject[Strings.writable] = _toJSValue(newValue) } + } } - public enum ReadyState: JSString, JSValueCompatible { case closed = "closed" case open = "open" case ended = "ended" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum RecordingState: JSString, JSValueCompatible { case inactive = "inactive" case recording = "recording" case paused = "paused" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ReferrerPolicy: JSString, JSValueCompatible { case _empty = "" case noReferrer = "no-referrer" @@ -14482,123 +15514,89 @@ public enum ReferrerPolicy: JSString, JSValueCompatible { case unsafeUrl = "unsafe-url" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class RegistrationOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class RegistrationOptions: BridgedDictionary { - public convenience init(scope: String, type: WorkerType, updateViaCache: ServiceWorkerUpdateViaCache) { + public convenience init( + scope: String? = nil, + type: WorkerType? = nil, + updateViaCache: ServiceWorkerUpdateViaCache? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.scope] = _toJSValue(scope) object[Strings.type] = _toJSValue(type) object[Strings.updateViaCache] = _toJSValue(updateViaCache) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _scope = ReadWriteAttribute(jsObject: object, name: Strings.scope) - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _updateViaCache = ReadWriteAttribute(jsObject: object, name: Strings.updateViaCache) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var scope: String - - @ReadWriteAttribute - public var type: WorkerType + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var updateViaCache: ServiceWorkerUpdateViaCache + @inlinable public var scope: String { + get { jsObject[Strings.scope].fromJSValue()! } + set { jsObject[Strings.scope] = _toJSValue(newValue) } + } + @inlinable public var type: WorkerType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var updateViaCache: ServiceWorkerUpdateViaCache { + get { jsObject[Strings.updateViaCache].fromJSValue()! } + set { jsObject[Strings.updateViaCache] = _toJSValue(newValue) } + } } - public class Request: JSBridgedClass, Body { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Request].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _method = ReadonlyAttribute(jsObject: jsObject, name: Strings.method) - _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) - _headers = ReadonlyAttribute(jsObject: jsObject, name: Strings.headers) - _destination = ReadonlyAttribute(jsObject: jsObject, name: Strings.destination) - _referrer = ReadonlyAttribute(jsObject: jsObject, name: Strings.referrer) - _referrerPolicy = ReadonlyAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _mode = ReadonlyAttribute(jsObject: jsObject, name: Strings.mode) - _credentials = ReadonlyAttribute(jsObject: jsObject, name: Strings.credentials) - _cache = ReadonlyAttribute(jsObject: jsObject, name: Strings.cache) - _redirect = ReadonlyAttribute(jsObject: jsObject, name: Strings.redirect) - _integrity = ReadonlyAttribute(jsObject: jsObject, name: Strings.integrity) - _keepalive = ReadonlyAttribute(jsObject: jsObject, name: Strings.keepalive) - _isReloadNavigation = ReadonlyAttribute(jsObject: jsObject, name: Strings.isReloadNavigation) - _isHistoryNavigation = ReadonlyAttribute(jsObject: jsObject, name: Strings.isHistoryNavigation) - _signal = ReadonlyAttribute(jsObject: jsObject, name: Strings.signal) - _duplex = ReadonlyAttribute(jsObject: jsObject, name: Strings.duplex) - self.jsObject = jsObject - } - - @inlinable public convenience init(input: RequestInfo, init: RequestInit? = nil) { + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public convenience init(input: RequestInfo, `init`: RequestInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(input), _toJSValue(`init`)])) } - @ReadonlyAttribute - public var method: String + @inlinable public var method: String { jsObject[Strings.method].fromJSValue()! } - @ReadonlyAttribute - public var url: String + @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } - @ReadonlyAttribute - public var headers: Headers + @inlinable public var headers: Headers { jsObject[Strings.headers].fromJSValue()! } - @ReadonlyAttribute - public var destination: RequestDestination + @inlinable public var destination: RequestDestination { jsObject[Strings.destination].fromJSValue()! } - @ReadonlyAttribute - public var referrer: String + @inlinable public var referrer: String { jsObject[Strings.referrer].fromJSValue()! } - @ReadonlyAttribute - public var referrerPolicy: ReferrerPolicy + @inlinable public var referrerPolicy: ReferrerPolicy { jsObject[Strings.referrerPolicy].fromJSValue()! } - @ReadonlyAttribute - public var mode: RequestMode + @inlinable public var mode: RequestMode { jsObject[Strings.mode].fromJSValue()! } - @ReadonlyAttribute - public var credentials: RequestCredentials + @inlinable public var credentials: RequestCredentials { jsObject[Strings.credentials].fromJSValue()! } - @ReadonlyAttribute - public var cache: RequestCache + @inlinable public var cache: RequestCache { jsObject[Strings.cache].fromJSValue()! } - @ReadonlyAttribute - public var redirect: RequestRedirect + @inlinable public var redirect: RequestRedirect { jsObject[Strings.redirect].fromJSValue()! } - @ReadonlyAttribute - public var integrity: String + @inlinable public var integrity: String { jsObject[Strings.integrity].fromJSValue()! } - @ReadonlyAttribute - public var keepalive: Bool + @inlinable public var keepalive: Bool { jsObject[Strings.keepalive].fromJSValue()! } - @ReadonlyAttribute - public var isReloadNavigation: Bool + @inlinable public var isReloadNavigation: Bool { jsObject[Strings.isReloadNavigation].fromJSValue()! } - @ReadonlyAttribute - public var isHistoryNavigation: Bool + @inlinable public var isHistoryNavigation: Bool { jsObject[Strings.isHistoryNavigation].fromJSValue()! } - @ReadonlyAttribute - public var signal: AbortSignal + @inlinable public var signal: AbortSignal { jsObject[Strings.signal].fromJSValue()! } - @ReadonlyAttribute - public var duplex: RequestDuplex + @inlinable public var duplex: RequestDuplex { jsObject[Strings.duplex].fromJSValue()! } - @inlinable public func clone() -> Self { + @inlinable final public func clone() -> Request { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } @@ -14613,38 +15611,28 @@ public enum RequestCache: JSString, JSValueCompatible { case onlyIfCached = "only-if-cached" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum RequestCredentials: JSString, JSValueCompatible { case omit = "omit" case sameOrigin = "same-origin" case include = "include" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum RequestDestination: JSString, JSValueCompatible { case _empty = "" case audio = "audio" @@ -14668,38 +15656,46 @@ public enum RequestDestination: JSString, JSValueCompatible { case xslt = "xslt" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum RequestDuplex: JSString, JSValueCompatible { case half = "half" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class RequestInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class RequestInit: BridgedDictionary { - public convenience init(method: String, headers: HeadersInit, body: BodyInit?, referrer: String, referrerPolicy: ReferrerPolicy, mode: RequestMode, credentials: RequestCredentials, cache: RequestCache, redirect: RequestRedirect, integrity: String, keepalive: Bool, signal: AbortSignal?, duplex: RequestDuplex, priority: RequestPriority, window: JSValue) { + public convenience init( + method: String? = nil, + headers: HeadersInit? = nil, + body: BodyInit?, + referrer: String? = nil, + referrerPolicy: ReferrerPolicy? = nil, + mode: RequestMode? = nil, + credentials: RequestCredentials? = nil, + cache: RequestCache? = nil, + redirect: RequestRedirect? = nil, + integrity: String? = nil, + keepalive: Bool? = nil, + signal: AbortSignal?, + duplex: RequestDuplex? = nil, + priority: RequestPriority? = nil, + window: JSValue? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.method] = _toJSValue(method) object[Strings.headers] = _toJSValue(headers) @@ -14716,74 +15712,73 @@ public class RequestInit: BridgedDictionary { object[Strings.duplex] = _toJSValue(duplex) object[Strings.priority] = _toJSValue(priority) object[Strings.window] = _toJSValue(window) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _method = ReadWriteAttribute(jsObject: object, name: Strings.method) - _headers = ReadWriteAttribute(jsObject: object, name: Strings.headers) - _body = ReadWriteAttribute(jsObject: object, name: Strings.body) - _referrer = ReadWriteAttribute(jsObject: object, name: Strings.referrer) - _referrerPolicy = ReadWriteAttribute(jsObject: object, name: Strings.referrerPolicy) - _mode = ReadWriteAttribute(jsObject: object, name: Strings.mode) - _credentials = ReadWriteAttribute(jsObject: object, name: Strings.credentials) - _cache = ReadWriteAttribute(jsObject: object, name: Strings.cache) - _redirect = ReadWriteAttribute(jsObject: object, name: Strings.redirect) - _integrity = ReadWriteAttribute(jsObject: object, name: Strings.integrity) - _keepalive = ReadWriteAttribute(jsObject: object, name: Strings.keepalive) - _signal = ReadWriteAttribute(jsObject: object, name: Strings.signal) - _duplex = ReadWriteAttribute(jsObject: object, name: Strings.duplex) - _priority = ReadWriteAttribute(jsObject: object, name: Strings.priority) - _window = ReadWriteAttribute(jsObject: object, name: Strings.window) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var method: String - - @ReadWriteAttribute - public var headers: HeadersInit - - @ReadWriteAttribute - public var body: BodyInit? - - @ReadWriteAttribute - public var referrer: String - - @ReadWriteAttribute - public var referrerPolicy: ReferrerPolicy - - @ReadWriteAttribute - public var mode: RequestMode - - @ReadWriteAttribute - public var credentials: RequestCredentials - - @ReadWriteAttribute - public var cache: RequestCache - - @ReadWriteAttribute - public var redirect: RequestRedirect - - @ReadWriteAttribute - public var integrity: String - - @ReadWriteAttribute - public var keepalive: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var signal: AbortSignal? - - @ReadWriteAttribute - public var duplex: RequestDuplex - - @ReadWriteAttribute - public var priority: RequestPriority - - @ReadWriteAttribute - public var window: JSValue + @inlinable public var method: String { + get { jsObject[Strings.method].fromJSValue()! } + set { jsObject[Strings.method] = _toJSValue(newValue) } + } + @inlinable public var headers: HeadersInit { + get { jsObject[Strings.headers].fromJSValue()! } + set { jsObject[Strings.headers] = _toJSValue(newValue) } + } + @inlinable public var body: BodyInit? { + get { jsObject[Strings.body].fromJSValue() } + set { jsObject[Strings.body] = _toJSValue(newValue) } + } + @inlinable public var referrer: String { + get { jsObject[Strings.referrer].fromJSValue()! } + set { jsObject[Strings.referrer] = _toJSValue(newValue) } + } + @inlinable public var referrerPolicy: ReferrerPolicy { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } + @inlinable public var mode: RequestMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } + @inlinable public var credentials: RequestCredentials { + get { jsObject[Strings.credentials].fromJSValue()! } + set { jsObject[Strings.credentials] = _toJSValue(newValue) } + } + @inlinable public var cache: RequestCache { + get { jsObject[Strings.cache].fromJSValue()! } + set { jsObject[Strings.cache] = _toJSValue(newValue) } + } + @inlinable public var redirect: RequestRedirect { + get { jsObject[Strings.redirect].fromJSValue()! } + set { jsObject[Strings.redirect] = _toJSValue(newValue) } + } + @inlinable public var integrity: String { + get { jsObject[Strings.integrity].fromJSValue()! } + set { jsObject[Strings.integrity] = _toJSValue(newValue) } + } + @inlinable public var keepalive: Bool { + get { jsObject[Strings.keepalive].fromJSValue()! } + set { jsObject[Strings.keepalive] = _toJSValue(newValue) } + } + @inlinable public var signal: AbortSignal? { + get { jsObject[Strings.signal].fromJSValue() } + set { jsObject[Strings.signal] = _toJSValue(newValue) } + } + @inlinable public var duplex: RequestDuplex { + get { jsObject[Strings.duplex].fromJSValue()! } + set { jsObject[Strings.duplex] = _toJSValue(newValue) } + } + @inlinable public var priority: RequestPriority { + get { jsObject[Strings.priority].fromJSValue()! } + set { jsObject[Strings.priority] = _toJSValue(newValue) } + } + @inlinable public var window: JSValue { + get { jsObject[Strings.window].fromJSValue()! } + set { jsObject[Strings.window] = _toJSValue(newValue) } + } } - public enum RequestMode: JSString, JSValueCompatible { case navigate = "navigate" case sameOrigin = "same-origin" @@ -14791,57 +15786,42 @@ public enum RequestMode: JSString, JSValueCompatible { case cors = "cors" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum RequestPriority: JSString, JSValueCompatible { case high = "high" case low = "low" case auto = "auto" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum RequestRedirect: JSString, JSValueCompatible { case follow = "follow" case error = "error" case manual = "manual" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ResizeQuality: JSString, JSValueCompatible { case pixelated = "pixelated" case low = "low" @@ -14849,107 +15829,89 @@ public enum ResizeQuality: JSString, JSValueCompatible { case high = "high" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class Response: JSBridgedClass, Body { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Response].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) - _redirected = ReadonlyAttribute(jsObject: jsObject, name: Strings.redirected) - _status = ReadonlyAttribute(jsObject: jsObject, name: Strings.status) - _ok = ReadonlyAttribute(jsObject: jsObject, name: Strings.ok) - _statusText = ReadonlyAttribute(jsObject: jsObject, name: Strings.statusText) - _headers = ReadonlyAttribute(jsObject: jsObject, name: Strings.headers) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(body: BodyInit? = nil, init: ResponseInit? = nil) { + @inlinable public convenience init(body: BodyInit? = nil, `init`: ResponseInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(body), _toJSValue(`init`)])) } - @inlinable public class func error() -> Self { + @inlinable public class func error() -> Response { let this = constructor! return this[Strings.error].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public class func redirect(url: String, status: UInt16? = nil) -> Self { + @inlinable public class func redirect(url: String, status: UInt16? = nil) -> Response { let this = constructor! - return this[Strings.redirect].function!(this: this, arguments: [_toJSValue(url), _toJSValue(status)]).fromJSValue()! + return this[Strings.redirect].function!(this: this, arguments: [_toJSValue(url), _toJSValue(status)]) + .fromJSValue()! } - @inlinable public class func json(data: JSValue, init: ResponseInit? = nil) -> Self { + @inlinable public class func json(data: JSValue, `init`: ResponseInit? = nil) -> Response { let this = constructor! - return this[Strings.json].function!(this: this, arguments: [_toJSValue(data), _toJSValue(`init`)]).fromJSValue()! + return this[Strings.json].function!(this: this, arguments: [_toJSValue(data), _toJSValue(`init`)]) + .fromJSValue()! } - @ReadonlyAttribute - public var type: ResponseType + @inlinable public var type: ResponseType { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var url: String + @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } - @ReadonlyAttribute - public var redirected: Bool + @inlinable public var redirected: Bool { jsObject[Strings.redirected].fromJSValue()! } - @ReadonlyAttribute - public var status: UInt16 + @inlinable public var status: UInt16 { jsObject[Strings.status].fromJSValue()! } - @ReadonlyAttribute - public var ok: Bool + @inlinable public var ok: Bool { jsObject[Strings.ok].fromJSValue()! } - @ReadonlyAttribute - public var statusText: String + @inlinable public var statusText: String { jsObject[Strings.statusText].fromJSValue()! } - @ReadonlyAttribute - public var headers: Headers + @inlinable public var headers: Headers { jsObject[Strings.headers].fromJSValue()! } - @inlinable public func clone() -> Self { + @inlinable final public func clone() -> Response { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } } -public class ResponseInit: BridgedDictionary { - public convenience init(status: UInt16, statusText: String, headers: HeadersInit) { +open class ResponseInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(status: UInt16? = nil, statusText: String? = nil, headers: HeadersInit? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.status] = _toJSValue(status) object[Strings.statusText] = _toJSValue(statusText) object[Strings.headers] = _toJSValue(headers) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _status = ReadWriteAttribute(jsObject: object, name: Strings.status) - _statusText = ReadWriteAttribute(jsObject: object, name: Strings.statusText) - _headers = ReadWriteAttribute(jsObject: object, name: Strings.headers) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var status: UInt16 - - @ReadWriteAttribute - public var statusText: String + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var headers: HeadersInit + @inlinable public var status: UInt16 { + get { jsObject[Strings.status].fromJSValue()! } + set { jsObject[Strings.status] = _toJSValue(newValue) } + } + @inlinable public var statusText: String { + get { jsObject[Strings.statusText].fromJSValue()! } + set { jsObject[Strings.statusText] = _toJSValue(newValue) } + } + @inlinable public var headers: HeadersInit { + get { jsObject[Strings.headers].fromJSValue()! } + set { jsObject[Strings.headers] = _toJSValue(newValue) } + } } - public enum ResponseType: JSString, JSValueCompatible { case basic = "basic" case cors = "cors" @@ -14959,51 +15921,32 @@ public enum ResponseType: JSString, JSValueCompatible { case opaqueredirect = "opaqueredirect" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class Screen: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Screen].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _availWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.availWidth) - _availHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.availHeight) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _colorDepth = ReadonlyAttribute(jsObject: jsObject, name: Strings.colorDepth) - _pixelDepth = ReadonlyAttribute(jsObject: jsObject, name: Strings.pixelDepth) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var availWidth: Int32 + @inlinable public var availWidth: Int32 { jsObject[Strings.availWidth].fromJSValue()! } - @ReadonlyAttribute - public var availHeight: Int32 + @inlinable public var availHeight: Int32 { jsObject[Strings.availHeight].fromJSValue()! } - @ReadonlyAttribute - public var width: Int32 + @inlinable public var width: Int32 { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: Int32 + @inlinable public var height: Int32 { jsObject[Strings.height].fromJSValue()! } - @ReadonlyAttribute - public var colorDepth: UInt32 + @inlinable public var colorDepth: UInt32 { jsObject[Strings.colorDepth].fromJSValue()! } - @ReadonlyAttribute - public var pixelDepth: UInt32 + @inlinable public var pixelDepth: UInt32 { jsObject[Strings.pixelDepth].fromJSValue()! } } public enum ScrollBehavior: JSString, JSValueCompatible { @@ -15012,40 +15955,40 @@ public enum ScrollBehavior: JSString, JSValueCompatible { case smooth = "smooth" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class ScrollIntoViewOptions: ScrollOptions { -public class ScrollIntoViewOptions: BridgedDictionary { - public convenience init(block: ScrollLogicalPosition, inline: ScrollLogicalPosition) { + public convenience init( + behavior: ScrollBehavior? = nil, + block: ScrollLogicalPosition? = nil, + inline: ScrollLogicalPosition? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.behavior] = _toJSValue(behavior) object[Strings.block] = _toJSValue(block) object[Strings.inline] = _toJSValue(inline) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _block = ReadWriteAttribute(jsObject: object, name: Strings.block) - _inline = ReadWriteAttribute(jsObject: object, name: Strings.inline) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var block: ScrollLogicalPosition + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var inline: ScrollLogicalPosition + @inlinable public var block: ScrollLogicalPosition { + get { jsObject[Strings.block].fromJSValue()! } + set { jsObject[Strings.block] = _toJSValue(newValue) } + } + @inlinable public var inline: ScrollLogicalPosition { + get { jsObject[Strings.inline].fromJSValue()! } + set { jsObject[Strings.inline] = _toJSValue(newValue) } + } } - public enum ScrollLogicalPosition: JSString, JSValueCompatible { case start = "start" case center = "center" @@ -15053,74 +15996,66 @@ public enum ScrollLogicalPosition: JSString, JSValueCompatible { case nearest = "nearest" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class ScrollOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ScrollOptions: BridgedDictionary { - public convenience init(behavior: ScrollBehavior) { + public convenience init(behavior: ScrollBehavior? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.behavior] = _toJSValue(behavior) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _behavior = ReadWriteAttribute(jsObject: object, name: Strings.behavior) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var behavior: ScrollBehavior + @inlinable public var behavior: ScrollBehavior { + get { jsObject[Strings.behavior].fromJSValue()! } + set { jsObject[Strings.behavior] = _toJSValue(newValue) } + } } - public enum ScrollRestoration: JSString, JSValueCompatible { case auto = "auto" case manual = "manual" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class ScrollToOptions: ScrollOptions { -public class ScrollToOptions: BridgedDictionary { - public convenience init(left: Double, top: Double) { + public convenience init(behavior: ScrollBehavior? = nil, left: Double? = nil, top: Double? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.behavior] = _toJSValue(behavior) object[Strings.left] = _toJSValue(left) object[Strings.top] = _toJSValue(top) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _left = ReadWriteAttribute(jsObject: object, name: Strings.left) - _top = ReadWriteAttribute(jsObject: object, name: Strings.top) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var left: Double + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var top: Double + @inlinable public var left: Double { + get { jsObject[Strings.left].fromJSValue()! } + set { jsObject[Strings.left] = _toJSValue(newValue) } + } + @inlinable public var top: Double { + get { jsObject[Strings.top].fromJSValue()! } + set { jsObject[Strings.top] = _toJSValue(newValue) } + } } - public enum SelectionMode: JSString, JSValueCompatible { case select = "select" case start = "start" @@ -15128,176 +16063,226 @@ public enum SelectionMode: JSString, JSValueCompatible { case preserve = "preserve" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class ServiceWorker: EventTarget, AbstractWorker { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ServiceWorker].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.ServiceWorker].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _scriptURL = ReadonlyAttribute(jsObject: jsObject, name: Strings.scriptURL) - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _onstatechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstatechange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var scriptURL: String + @inlinable public var scriptURL: String { jsObject[Strings.scriptURL].fromJSValue()! } - @ReadonlyAttribute - public var state: ServiceWorkerState + @inlinable public var state: ServiceWorkerState { jsObject[Strings.state].fromJSValue()! } - @inlinable public func postMessage(message: JSValue, transfer: [JSObject]) { + @inlinable final public func postMessage(message: JSValue, transfer: [JSObject]) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(transfer)]) } - @inlinable public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { + @inlinable final public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(options)]) } - @ClosureAttribute1Optional - public var onstatechange: EventHandler + @inlinable public var onstatechange: EventHandler { + get { + guard let function = jsObject[Strings.onstatechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onstatechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onstatechange] = .null + } + } + } } public class ServiceWorkerContainer: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ServiceWorkerContainer].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _controller = ReadonlyAttribute(jsObject: jsObject, name: Strings.controller) - _ready = ReadonlyAttribute(jsObject: jsObject, name: Strings.ready) - _oncontrollerchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncontrollerchange) - _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) - _onmessageerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessageerror) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.ServiceWorkerContainer].function } - @ReadonlyAttribute - public var controller: ServiceWorker? + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var ready: JSPromise + @inlinable public var controller: ServiceWorker? { jsObject[Strings.controller].fromJSValue() } - @inlinable public func register(scriptURL: String, options: RegistrationOptions? = nil) -> JSPromise { - let this = jsObject - return this[Strings.register].function!(this: this, arguments: [_toJSValue(scriptURL), _toJSValue(options)]).fromJSValue()! - } + @inlinable public var ready: JSPromise { jsObject[Strings.ready].fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func register(scriptURL: String, options: RegistrationOptions? = nil) async throws -> ServiceWorkerRegistration { + @inlinable final public func register(scriptURL: String, options: RegistrationOptions? = nil) -> JSPromise { let this = jsObject - let _promise: JSPromise = this[Strings.register].function!(this: this, arguments: [_toJSValue(scriptURL), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! + return this[Strings.register].function!(this: this, arguments: [_toJSValue(scriptURL), _toJSValue(options)]) + .fromJSValue()! } - @inlinable public func getRegistration(clientURL: String? = nil) -> JSPromise { + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func register( + scriptURL: String, + options: RegistrationOptions? = nil + ) async throws(JSException) -> ServiceWorkerRegistration { + let this = jsObject + let _promise: JSPromise = this[Strings.register].function!( + this: this, + arguments: [_toJSValue(scriptURL), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif + + @inlinable final public func getRegistration(clientURL: String? = nil) -> JSPromise { let this = jsObject return this[Strings.getRegistration].function!(this: this, arguments: [_toJSValue(clientURL)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func getRegistration(clientURL: String? = nil) async throws -> ServiceWorkerRegistration? { - let this = jsObject - let _promise: JSPromise = this[Strings.getRegistration].function!(this: this, arguments: [_toJSValue(clientURL)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getRegistration( + clientURL: String? = nil + ) async throws(JSException) -> ServiceWorkerRegistration? { + let this = jsObject + let _promise: JSPromise = this[Strings.getRegistration].function!( + this: this, + arguments: [_toJSValue(clientURL)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func getRegistrations() -> JSPromise { + @inlinable final public func getRegistrations() -> JSPromise { let this = jsObject return this[Strings.getRegistrations].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func getRegistrations() async throws -> [ServiceWorkerRegistration] { - let this = jsObject - let _promise: JSPromise = this[Strings.getRegistrations].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getRegistrations() + async throws(JSException) -> [ServiceWorkerRegistration] + { + let this = jsObject + let _promise: JSPromise = this[Strings.getRegistrations].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func startMessages() { + @inlinable final public func startMessages() { let this = jsObject _ = this[Strings.startMessages].function!(this: this, arguments: []) } - @ClosureAttribute1Optional - public var oncontrollerchange: EventHandler + @inlinable public var oncontrollerchange: EventHandler { + get { + guard let function = jsObject[Strings.oncontrollerchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncontrollerchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncontrollerchange] = .null + } + } + } - @ClosureAttribute1Optional - public var onmessage: EventHandler + @inlinable public var onmessage: EventHandler { + get { + guard let function = jsObject[Strings.onmessage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessage] = .null + } + } + } - @ClosureAttribute1Optional - public var onmessageerror: EventHandler + @inlinable public var onmessageerror: EventHandler { + get { + guard let function = jsObject[Strings.onmessageerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessageerror] = .null + } + } + } } public class ServiceWorkerRegistration: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ServiceWorkerRegistration].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _installing = ReadonlyAttribute(jsObject: jsObject, name: Strings.installing) - _waiting = ReadonlyAttribute(jsObject: jsObject, name: Strings.waiting) - _active = ReadonlyAttribute(jsObject: jsObject, name: Strings.active) - _navigationPreload = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigationPreload) - _scope = ReadonlyAttribute(jsObject: jsObject, name: Strings.scope) - _updateViaCache = ReadonlyAttribute(jsObject: jsObject, name: Strings.updateViaCache) - _onupdatefound = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onupdatefound) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.ServiceWorkerRegistration].function } - @ReadonlyAttribute - public var installing: ServiceWorker? + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var installing: ServiceWorker? { jsObject[Strings.installing].fromJSValue() } - @ReadonlyAttribute - public var waiting: ServiceWorker? + @inlinable public var waiting: ServiceWorker? { jsObject[Strings.waiting].fromJSValue() } - @ReadonlyAttribute - public var active: ServiceWorker? + @inlinable public var active: ServiceWorker? { jsObject[Strings.active].fromJSValue() } - @ReadonlyAttribute - public var navigationPreload: NavigationPreloadManager + @inlinable public var navigationPreload: NavigationPreloadManager { + jsObject[Strings.navigationPreload].fromJSValue()! + } - @ReadonlyAttribute - public var scope: String + @inlinable public var scope: String { jsObject[Strings.scope].fromJSValue()! } - @ReadonlyAttribute - public var updateViaCache: ServiceWorkerUpdateViaCache + @inlinable public var updateViaCache: ServiceWorkerUpdateViaCache { + jsObject[Strings.updateViaCache].fromJSValue()! + } - @inlinable public func update() -> JSPromise { + @inlinable final public func update() -> JSPromise { let this = jsObject return this[Strings.update].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func update() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.update].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func update() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.update].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func unregister() -> JSPromise { + @inlinable final public func unregister() -> JSPromise { let this = jsObject return this[Strings.unregister].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func unregister() async throws -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.unregister].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func unregister() + async throws(JSException) -> Bool + { + let this = jsObject + let _promise: JSPromise = this[Strings.unregister].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @ClosureAttribute1Optional - public var onupdatefound: EventHandler + @inlinable public var onupdatefound: EventHandler { + get { + guard let function = jsObject[Strings.onupdatefound].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onupdatefound] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onupdatefound] = .null + } + } + } } public enum ServiceWorkerState: JSString, JSValueCompatible { @@ -15309,124 +16294,110 @@ public enum ServiceWorkerState: JSString, JSValueCompatible { case redundant = "redundant" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ServiceWorkerUpdateViaCache: JSString, JSValueCompatible { case imports = "imports" case all = "all" case none = "none" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - open class ShadowRoot: DocumentFragment, DocumentOrShadowRoot { - @inlinable override open class var constructor: JSFunction? { JSObject.global[Strings.ShadowRoot].function } + @inlinable open override class var constructor: JSFunction? { JSObject.global[Strings.ShadowRoot].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _mode = ReadonlyAttribute(jsObject: jsObject, name: Strings.mode) - _delegatesFocus = ReadonlyAttribute(jsObject: jsObject, name: Strings.delegatesFocus) - _slotAssignment = ReadonlyAttribute(jsObject: jsObject, name: Strings.slotAssignment) - _host = ReadonlyAttribute(jsObject: jsObject, name: Strings.host) - _onslotchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onslotchange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var mode: ShadowRootMode + @inlinable public var mode: ShadowRootMode { jsObject[Strings.mode].fromJSValue()! } - @ReadonlyAttribute - public var delegatesFocus: Bool + @inlinable public var delegatesFocus: Bool { jsObject[Strings.delegatesFocus].fromJSValue()! } - @ReadonlyAttribute - public var slotAssignment: SlotAssignmentMode + @inlinable public var slotAssignment: SlotAssignmentMode { jsObject[Strings.slotAssignment].fromJSValue()! } - @ReadonlyAttribute - public var host: Element + @inlinable public var host: Element { jsObject[Strings.host].fromJSValue()! } - @ClosureAttribute1Optional - public var onslotchange: EventHandler + @inlinable public var onslotchange: EventHandler { + get { + guard let function = jsObject[Strings.onslotchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onslotchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onslotchange] = .null + } + } + } } -public class ShadowRootInit: BridgedDictionary { - public convenience init(mode: ShadowRootMode, delegatesFocus: Bool, slotAssignment: SlotAssignmentMode) { +open class ShadowRootInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + mode: ShadowRootMode, + delegatesFocus: Bool? = nil, + slotAssignment: SlotAssignmentMode? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.mode] = _toJSValue(mode) object[Strings.delegatesFocus] = _toJSValue(delegatesFocus) object[Strings.slotAssignment] = _toJSValue(slotAssignment) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _mode = ReadWriteAttribute(jsObject: object, name: Strings.mode) - _delegatesFocus = ReadWriteAttribute(jsObject: object, name: Strings.delegatesFocus) - _slotAssignment = ReadWriteAttribute(jsObject: object, name: Strings.slotAssignment) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var mode: ShadowRootMode + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var delegatesFocus: Bool - - @ReadWriteAttribute - public var slotAssignment: SlotAssignmentMode + @inlinable public var mode: ShadowRootMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } + @inlinable public var delegatesFocus: Bool { + get { jsObject[Strings.delegatesFocus].fromJSValue()! } + set { jsObject[Strings.delegatesFocus] = _toJSValue(newValue) } + } + @inlinable public var slotAssignment: SlotAssignmentMode { + get { jsObject[Strings.slotAssignment].fromJSValue()! } + set { jsObject[Strings.slotAssignment] = _toJSValue(newValue) } + } } - public enum ShadowRootMode: JSString, JSValueCompatible { case open = "open" case closed = "closed" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class SharedWorker: EventTarget, AbstractWorker { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SharedWorker].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SharedWorker].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _port = ReadonlyAttribute(jsObject: jsObject, name: Strings.port) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(scriptURL: String, options: String_or_WorkerOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(scriptURL), _toJSValue(options)])) } - @ReadonlyAttribute - public var port: MessagePort + @inlinable public var port: MessagePort { jsObject[Strings.port].fromJSValue()! } } public enum SlotAssignmentMode: JSString, JSValueCompatible { @@ -15434,404 +16405,469 @@ public enum SlotAssignmentMode: JSString, JSValueCompatible { case named = "named" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol Slottable: JSBridgedClass {} -public extension Slottable { - @inlinable var assignedSlot: HTMLSlotElement? { jsObject[Strings.assignedSlot].fromJSValue() } +extension Slottable { + @inlinable public var assignedSlot: HTMLSlotElement? { jsObject[Strings.assignedSlot].fromJSValue() } } - public class SourceBuffer: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SourceBuffer].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SourceBuffer].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _mode = ReadWriteAttribute(jsObject: jsObject, name: Strings.mode) - _updating = ReadonlyAttribute(jsObject: jsObject, name: Strings.updating) - _buffered = ReadonlyAttribute(jsObject: jsObject, name: Strings.buffered) - _timestampOffset = ReadWriteAttribute(jsObject: jsObject, name: Strings.timestampOffset) - _audioTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioTracks) - _videoTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoTracks) - _textTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.textTracks) - _appendWindowStart = ReadWriteAttribute(jsObject: jsObject, name: Strings.appendWindowStart) - _appendWindowEnd = ReadWriteAttribute(jsObject: jsObject, name: Strings.appendWindowEnd) - _onupdatestart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onupdatestart) - _onupdate = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onupdate) - _onupdateend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onupdateend) - _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) - _onabort = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onabort) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var mode: AppendMode + @inlinable public var mode: AppendMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var updating: Bool + @inlinable public var updating: Bool { jsObject[Strings.updating].fromJSValue()! } - @ReadonlyAttribute - public var buffered: TimeRanges + @inlinable public var buffered: TimeRanges { jsObject[Strings.buffered].fromJSValue()! } - @ReadWriteAttribute - public var timestampOffset: Double + @inlinable public var timestampOffset: Double { + get { jsObject[Strings.timestampOffset].fromJSValue()! } + set { jsObject[Strings.timestampOffset] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var audioTracks: AudioTrackList + @inlinable public var audioTracks: AudioTrackList { jsObject[Strings.audioTracks].fromJSValue()! } - @ReadonlyAttribute - public var videoTracks: VideoTrackList + @inlinable public var videoTracks: VideoTrackList { jsObject[Strings.videoTracks].fromJSValue()! } - @ReadonlyAttribute - public var textTracks: TextTrackList + @inlinable public var textTracks: TextTrackList { jsObject[Strings.textTracks].fromJSValue()! } - @ReadWriteAttribute - public var appendWindowStart: Double + @inlinable public var appendWindowStart: Double { + get { jsObject[Strings.appendWindowStart].fromJSValue()! } + set { jsObject[Strings.appendWindowStart] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var appendWindowEnd: Double + @inlinable public var appendWindowEnd: Double { + get { jsObject[Strings.appendWindowEnd].fromJSValue()! } + set { jsObject[Strings.appendWindowEnd] = _toJSValue(newValue) } + } - @ClosureAttribute1Optional - public var onupdatestart: EventHandler + @inlinable public var onupdatestart: EventHandler { + get { + guard let function = jsObject[Strings.onupdatestart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onupdatestart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onupdatestart] = .null + } + } + } - @ClosureAttribute1Optional - public var onupdate: EventHandler + @inlinable public var onupdate: EventHandler { + get { + guard let function = jsObject[Strings.onupdate].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onupdate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onupdate] = .null + } + } + } - @ClosureAttribute1Optional - public var onupdateend: EventHandler + @inlinable public var onupdateend: EventHandler { + get { + guard let function = jsObject[Strings.onupdateend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onupdateend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onupdateend] = .null + } + } + } - @ClosureAttribute1Optional - public var onerror: EventHandler + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } - @ClosureAttribute1Optional - public var onabort: EventHandler + @inlinable public var onabort: EventHandler { + get { + guard let function = jsObject[Strings.onabort].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onabort] = .null + } + } + } - @inlinable public func appendBuffer(data: BufferSource) { + @inlinable final public func appendBuffer(data: BufferSource) { let this = jsObject _ = this[Strings.appendBuffer].function!(this: this, arguments: [_toJSValue(data)]) } - @inlinable public func abort() { + @inlinable final public func abort() { let this = jsObject _ = this[Strings.abort].function!(this: this, arguments: []) } - @inlinable public func changeType(type: String) { + @inlinable final public func changeType(type: String) { let this = jsObject _ = this[Strings.changeType].function!(this: this, arguments: [_toJSValue(type)]) } - @inlinable public func remove(start: Double, end: Double) { + @inlinable final public func remove(start: Double, end: Double) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end)]) } } public class SourceBufferList: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SourceBufferList].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _onaddsourcebuffer = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddsourcebuffer) - _onremovesourcebuffer = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovesourcebuffer) - super.init(unsafelyWrapping: jsObject) - } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SourceBufferList].function } - @ReadonlyAttribute - public var length: UInt32 + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ClosureAttribute1Optional - public var onaddsourcebuffer: EventHandler + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ClosureAttribute1Optional - public var onremovesourcebuffer: EventHandler + @inlinable public var onaddsourcebuffer: EventHandler { + get { + guard let function = jsObject[Strings.onaddsourcebuffer].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onaddsourcebuffer] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onaddsourcebuffer] = .null + } + } + } - @inlinable public subscript(key: Int) -> SourceBuffer { - jsObject[key].fromJSValue()! + @inlinable public var onremovesourcebuffer: EventHandler { + get { + guard let function = jsObject[Strings.onremovesourcebuffer].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onremovesourcebuffer] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onremovesourcebuffer] = .null + } + } } + + @inlinable public subscript(key: Int) -> SourceBuffer { jsObject[key].fromJSValue()! } } public class StaticRange: AbstractRange { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.StaticRange].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.StaticRange].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(init: StaticRangeInit) { + @inlinable public convenience init(`init`: StaticRangeInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } } -public class StaticRangeInit: BridgedDictionary { +open class StaticRangeInit: JSDictionaryCompatible { + public let jsObject: JSObject + public convenience init(startContainer: Node, startOffset: UInt32, endContainer: Node, endOffset: UInt32) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.startContainer] = _toJSValue(startContainer) object[Strings.startOffset] = _toJSValue(startOffset) object[Strings.endContainer] = _toJSValue(endContainer) object[Strings.endOffset] = _toJSValue(endOffset) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _startContainer = ReadWriteAttribute(jsObject: object, name: Strings.startContainer) - _startOffset = ReadWriteAttribute(jsObject: object, name: Strings.startOffset) - _endContainer = ReadWriteAttribute(jsObject: object, name: Strings.endContainer) - _endOffset = ReadWriteAttribute(jsObject: object, name: Strings.endOffset) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var startContainer: Node - - @ReadWriteAttribute - public var startOffset: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var endContainer: Node - - @ReadWriteAttribute - public var endOffset: UInt32 + @inlinable public var startContainer: Node { + get { jsObject[Strings.startContainer].fromJSValue()! } + set { jsObject[Strings.startContainer] = _toJSValue(newValue) } + } + @inlinable public var startOffset: UInt32 { + get { jsObject[Strings.startOffset].fromJSValue()! } + set { jsObject[Strings.startOffset] = _toJSValue(newValue) } + } + @inlinable public var endContainer: Node { + get { jsObject[Strings.endContainer].fromJSValue()! } + set { jsObject[Strings.endContainer] = _toJSValue(newValue) } + } + @inlinable public var endOffset: UInt32 { + get { jsObject[Strings.endOffset].fromJSValue()! } + set { jsObject[Strings.endOffset] = _toJSValue(newValue) } + } } - public class Storage: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Storage].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public func key(index: UInt32) -> String? { + @inlinable final public func key(index: UInt32) -> String? { let this = jsObject return this[Strings.key].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public func getItem(key: String) -> String? { + @inlinable final public func getItem(key: String) -> String? { let this = jsObject return this[Strings.getItem].function!(this: this, arguments: [_toJSValue(key)]).fromJSValue() } @inlinable public subscript(key: String) -> String? { - get { - jsObject[key].fromJSValue() - } - set { - jsObject[key] = _toJSValue(newValue) - } + get { jsObject[key].fromJSValue() } + set { jsObject[key] = _toJSValue(newValue) } } @inlinable public func removeValue(forKey key: String) { _ = JSObject.global.Reflect.deleteProperty(jsObject, _toJSValue(key)) } - @inlinable public func clear() { + @inlinable final public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } } public class StorageEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.StorageEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.StorageEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _key = ReadonlyAttribute(jsObject: jsObject, name: Strings.key) - _oldValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.oldValue) - _newValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.newValue) - _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) - _storageArea = ReadonlyAttribute(jsObject: jsObject, name: Strings.storageArea) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: StorageEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var key: String? + @inlinable public var key: String? { jsObject[Strings.key].fromJSValue() } - @ReadonlyAttribute - public var oldValue: String? + @inlinable public var oldValue: String? { jsObject[Strings.oldValue].fromJSValue() } - @ReadonlyAttribute - public var newValue: String? + @inlinable public var newValue: String? { jsObject[Strings.newValue].fromJSValue() } - @ReadonlyAttribute - public var url: String + @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } - @ReadonlyAttribute - public var storageArea: Storage? + @inlinable public var storageArea: Storage? { jsObject[Strings.storageArea].fromJSValue() } - @inlinable public func initStorageEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil, key: String? = nil, oldValue: String? = nil, newValue: String? = nil, url: String? = nil, storageArea: Storage? = nil) { + @inlinable final public func initStorageEvent( + type: String, + bubbles: Bool? = nil, + cancelable: Bool? = nil, + key: String? = nil, + oldValue: String? = nil, + newValue: String? = nil, + url: String? = nil, + storageArea: Storage? = nil + ) { let this = jsObject - _ = this[Strings.initStorageEvent].function!(this: this, arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(key), _toJSValue(oldValue), _toJSValue(newValue), _toJSValue(url), _toJSValue(storageArea)]) + _ = this[Strings.initStorageEvent].function!( + this: this, + arguments: [ + _toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(key), _toJSValue(oldValue), + _toJSValue(newValue), _toJSValue(url), _toJSValue(storageArea), + ] + ) } } -public class StorageEventInit: BridgedDictionary { - public convenience init(key: String?, oldValue: String?, newValue: String?, url: String, storageArea: Storage?) { +open class StorageEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + key: String?, + oldValue: String?, + newValue: String?, + url: String? = nil, + storageArea: Storage? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.key] = _toJSValue(key) object[Strings.oldValue] = _toJSValue(oldValue) object[Strings.newValue] = _toJSValue(newValue) object[Strings.url] = _toJSValue(url) object[Strings.storageArea] = _toJSValue(storageArea) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _key = ReadWriteAttribute(jsObject: object, name: Strings.key) - _oldValue = ReadWriteAttribute(jsObject: object, name: Strings.oldValue) - _newValue = ReadWriteAttribute(jsObject: object, name: Strings.newValue) - _url = ReadWriteAttribute(jsObject: object, name: Strings.url) - _storageArea = ReadWriteAttribute(jsObject: object, name: Strings.storageArea) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var key: String? - - @ReadWriteAttribute - public var oldValue: String? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var newValue: String? - - @ReadWriteAttribute - public var url: String - - @ReadWriteAttribute - public var storageArea: Storage? + @inlinable public var key: String? { + get { jsObject[Strings.key].fromJSValue() } + set { jsObject[Strings.key] = _toJSValue(newValue) } + } + @inlinable public var oldValue: String? { + get { jsObject[Strings.oldValue].fromJSValue() } + set { jsObject[Strings.oldValue] = _toJSValue(newValue) } + } + @inlinable public var newValue: String? { + get { jsObject[Strings.newValue].fromJSValue() } + set { jsObject[Strings.newValue] = _toJSValue(newValue) } + } + @inlinable public var url: String { + get { jsObject[Strings.url].fromJSValue()! } + set { jsObject[Strings.url] = _toJSValue(newValue) } + } + @inlinable public var storageArea: Storage? { + get { jsObject[Strings.storageArea].fromJSValue() } + set { jsObject[Strings.storageArea] = _toJSValue(newValue) } + } } +open class StreamPipeOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class StreamPipeOptions: BridgedDictionary { - public convenience init(preventClose: Bool, preventAbort: Bool, preventCancel: Bool, signal: AbortSignal) { + public convenience init( + preventClose: Bool? = nil, + preventAbort: Bool? = nil, + preventCancel: Bool? = nil, + signal: AbortSignal? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.preventClose] = _toJSValue(preventClose) object[Strings.preventAbort] = _toJSValue(preventAbort) object[Strings.preventCancel] = _toJSValue(preventCancel) object[Strings.signal] = _toJSValue(signal) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _preventClose = ReadWriteAttribute(jsObject: object, name: Strings.preventClose) - _preventAbort = ReadWriteAttribute(jsObject: object, name: Strings.preventAbort) - _preventCancel = ReadWriteAttribute(jsObject: object, name: Strings.preventCancel) - _signal = ReadWriteAttribute(jsObject: object, name: Strings.signal) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var preventClose: Bool - - @ReadWriteAttribute - public var preventAbort: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var preventCancel: Bool - - @ReadWriteAttribute - public var signal: AbortSignal + @inlinable public var preventClose: Bool { + get { jsObject[Strings.preventClose].fromJSValue()! } + set { jsObject[Strings.preventClose] = _toJSValue(newValue) } + } + @inlinable public var preventAbort: Bool { + get { jsObject[Strings.preventAbort].fromJSValue()! } + set { jsObject[Strings.preventAbort] = _toJSValue(newValue) } + } + @inlinable public var preventCancel: Bool { + get { jsObject[Strings.preventCancel].fromJSValue()! } + set { jsObject[Strings.preventCancel] = _toJSValue(newValue) } + } + @inlinable public var signal: AbortSignal { + get { jsObject[Strings.signal].fromJSValue()! } + set { jsObject[Strings.signal] = _toJSValue(newValue) } + } } +open class StructuredSerializeOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class StructuredSerializeOptions: BridgedDictionary { - public convenience init(transfer: [JSObject]) { + public convenience init(transfer: [JSObject]? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.transfer] = _toJSValue(transfer) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) - super.init(unsafelyWrapping: object) + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var transfer: [JSObject] { + get { jsObject[Strings.transfer].fromJSValue()! } + set { jsObject[Strings.transfer] = _toJSValue(newValue) } } - - @ReadWriteAttribute - public var transfer: [JSObject] } - public class SubmitEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SubmitEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SubmitEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _submitter = ReadonlyAttribute(jsObject: jsObject, name: Strings.submitter) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: SubmitEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var submitter: HTMLElement? + @inlinable public var submitter: HTMLElement? { jsObject[Strings.submitter].fromJSValue() } } -public class SubmitEventInit: BridgedDictionary { - public convenience init(submitter: HTMLElement?) { +open class SubmitEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + submitter: HTMLElement? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.submitter] = _toJSValue(submitter) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _submitter = ReadWriteAttribute(jsObject: object, name: Strings.submitter) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var submitter: HTMLElement? + @inlinable public var submitter: HTMLElement? { + get { jsObject[Strings.submitter].fromJSValue() } + set { jsObject[Strings.submitter] = _toJSValue(newValue) } + } } +open class SvcOutputMetadata: JSDictionaryCompatible { + public let jsObject: JSObject -public class SvcOutputMetadata: BridgedDictionary { - public convenience init(temporalLayerId: UInt32) { + public convenience init(temporalLayerId: UInt32? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.temporalLayerId] = _toJSValue(temporalLayerId) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _temporalLayerId = ReadWriteAttribute(jsObject: object, name: Strings.temporalLayerId) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var temporalLayerId: UInt32 + @inlinable public var temporalLayerId: UInt32 { + get { jsObject[Strings.temporalLayerId].fromJSValue()! } + set { jsObject[Strings.temporalLayerId] = _toJSValue(newValue) } + } } - public class Text: CharacterData, Slottable, GeometryUtils { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Text].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Text].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _wholeText = ReadonlyAttribute(jsObject: jsObject, name: Strings.wholeText) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(data: String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(data)])) } - @inlinable public func splitText(offset: UInt32) -> Self { + @inlinable final public func splitText(offset: UInt32) -> Text { let this = jsObject return this[Strings.splitText].function!(this: this, arguments: [_toJSValue(offset)]).fromJSValue()! } - @ReadonlyAttribute - public var wholeText: String + @inlinable public var wholeText: String { jsObject[Strings.wholeText].fromJSValue()! } } public class TextMetrics: JSBridgedClass { @@ -15839,151 +16875,140 @@ public class TextMetrics: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _actualBoundingBoxLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.actualBoundingBoxLeft) - _actualBoundingBoxRight = ReadonlyAttribute(jsObject: jsObject, name: Strings.actualBoundingBoxRight) - _fontBoundingBoxAscent = ReadonlyAttribute(jsObject: jsObject, name: Strings.fontBoundingBoxAscent) - _fontBoundingBoxDescent = ReadonlyAttribute(jsObject: jsObject, name: Strings.fontBoundingBoxDescent) - _actualBoundingBoxAscent = ReadonlyAttribute(jsObject: jsObject, name: Strings.actualBoundingBoxAscent) - _actualBoundingBoxDescent = ReadonlyAttribute(jsObject: jsObject, name: Strings.actualBoundingBoxDescent) - _emHeightAscent = ReadonlyAttribute(jsObject: jsObject, name: Strings.emHeightAscent) - _emHeightDescent = ReadonlyAttribute(jsObject: jsObject, name: Strings.emHeightDescent) - _hangingBaseline = ReadonlyAttribute(jsObject: jsObject, name: Strings.hangingBaseline) - _alphabeticBaseline = ReadonlyAttribute(jsObject: jsObject, name: Strings.alphabeticBaseline) - _ideographicBaseline = ReadonlyAttribute(jsObject: jsObject, name: Strings.ideographicBaseline) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var width: Double + @inlinable public var width: Double { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var actualBoundingBoxLeft: Double + @inlinable public var actualBoundingBoxLeft: Double { jsObject[Strings.actualBoundingBoxLeft].fromJSValue()! } - @ReadonlyAttribute - public var actualBoundingBoxRight: Double + @inlinable public var actualBoundingBoxRight: Double { jsObject[Strings.actualBoundingBoxRight].fromJSValue()! } - @ReadonlyAttribute - public var fontBoundingBoxAscent: Double + @inlinable public var fontBoundingBoxAscent: Double { jsObject[Strings.fontBoundingBoxAscent].fromJSValue()! } - @ReadonlyAttribute - public var fontBoundingBoxDescent: Double + @inlinable public var fontBoundingBoxDescent: Double { jsObject[Strings.fontBoundingBoxDescent].fromJSValue()! } - @ReadonlyAttribute - public var actualBoundingBoxAscent: Double + @inlinable public var actualBoundingBoxAscent: Double { jsObject[Strings.actualBoundingBoxAscent].fromJSValue()! } - @ReadonlyAttribute - public var actualBoundingBoxDescent: Double + @inlinable public var actualBoundingBoxDescent: Double { jsObject[Strings.actualBoundingBoxDescent].fromJSValue()! } - @ReadonlyAttribute - public var emHeightAscent: Double + @inlinable public var emHeightAscent: Double { jsObject[Strings.emHeightAscent].fromJSValue()! } - @ReadonlyAttribute - public var emHeightDescent: Double + @inlinable public var emHeightDescent: Double { jsObject[Strings.emHeightDescent].fromJSValue()! } - @ReadonlyAttribute - public var hangingBaseline: Double + @inlinable public var hangingBaseline: Double { jsObject[Strings.hangingBaseline].fromJSValue()! } - @ReadonlyAttribute - public var alphabeticBaseline: Double + @inlinable public var alphabeticBaseline: Double { jsObject[Strings.alphabeticBaseline].fromJSValue()! } - @ReadonlyAttribute - public var ideographicBaseline: Double + @inlinable public var ideographicBaseline: Double { jsObject[Strings.ideographicBaseline].fromJSValue()! } } public class TextTrack: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TextTrack].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TextTrack].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) - _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) - _language = ReadonlyAttribute(jsObject: jsObject, name: Strings.language) - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _inBandMetadataTrackDispatchType = ReadonlyAttribute(jsObject: jsObject, name: Strings.inBandMetadataTrackDispatchType) - _mode = ReadWriteAttribute(jsObject: jsObject, name: Strings.mode) - _cues = ReadonlyAttribute(jsObject: jsObject, name: Strings.cues) - _activeCues = ReadonlyAttribute(jsObject: jsObject, name: Strings.activeCues) - _oncuechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncuechange) - _sourceBuffer = ReadonlyAttribute(jsObject: jsObject, name: Strings.sourceBuffer) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var kind: TextTrackKind + @inlinable public var kind: TextTrackKind { jsObject[Strings.kind].fromJSValue()! } - @ReadonlyAttribute - public var label: String + @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } - @ReadonlyAttribute - public var language: String + @inlinable public var language: String { jsObject[Strings.language].fromJSValue()! } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var inBandMetadataTrackDispatchType: String + @inlinable public var inBandMetadataTrackDispatchType: String { + jsObject[Strings.inBandMetadataTrackDispatchType].fromJSValue()! + } - @ReadWriteAttribute - public var mode: TextTrackMode + @inlinable public var mode: TextTrackMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var cues: TextTrackCueList? + @inlinable public var cues: TextTrackCueList? { jsObject[Strings.cues].fromJSValue() } - @ReadonlyAttribute - public var activeCues: TextTrackCueList? + @inlinable public var activeCues: TextTrackCueList? { jsObject[Strings.activeCues].fromJSValue() } - @inlinable public func addCue(cue: TextTrackCue) { + @inlinable final public func addCue(cue: TextTrackCue) { let this = jsObject _ = this[Strings.addCue].function!(this: this, arguments: [_toJSValue(cue)]) } - @inlinable public func removeCue(cue: TextTrackCue) { + @inlinable final public func removeCue(cue: TextTrackCue) { let this = jsObject _ = this[Strings.removeCue].function!(this: this, arguments: [_toJSValue(cue)]) } - @ClosureAttribute1Optional - public var oncuechange: EventHandler + @inlinable public var oncuechange: EventHandler { + get { + guard let function = jsObject[Strings.oncuechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncuechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncuechange] = .null + } + } + } - @ReadonlyAttribute - public var sourceBuffer: SourceBuffer? + @inlinable public var sourceBuffer: SourceBuffer? { jsObject[Strings.sourceBuffer].fromJSValue() } } public class TextTrackCue: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TextTrackCue].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TextTrackCue].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _track = ReadonlyAttribute(jsObject: jsObject, name: Strings.track) - _id = ReadWriteAttribute(jsObject: jsObject, name: Strings.id) - _startTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.startTime) - _endTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.endTime) - _pauseOnExit = ReadWriteAttribute(jsObject: jsObject, name: Strings.pauseOnExit) - _onenter = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onenter) - _onexit = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onexit) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var track: TextTrack? + @inlinable public var track: TextTrack? { jsObject[Strings.track].fromJSValue() } - @ReadWriteAttribute - public var id: String + @inlinable public var id: String { + get { jsObject[Strings.id].fromJSValue()! } + set { jsObject[Strings.id] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var startTime: Double + @inlinable public var startTime: Double { + get { jsObject[Strings.startTime].fromJSValue()! } + set { jsObject[Strings.startTime] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var endTime: Double + @inlinable public var endTime: Double { + get { jsObject[Strings.endTime].fromJSValue()! } + set { jsObject[Strings.endTime] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var pauseOnExit: Bool + @inlinable public var pauseOnExit: Bool { + get { jsObject[Strings.pauseOnExit].fromJSValue()! } + set { jsObject[Strings.pauseOnExit] = _toJSValue(newValue) } + } - @ClosureAttribute1Optional - public var onenter: EventHandler + @inlinable public var onenter: EventHandler { + get { + guard let function = jsObject[Strings.onenter].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onenter] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onenter] = .null + } + } + } - @ClosureAttribute1Optional - public var onexit: EventHandler + @inlinable public var onexit: EventHandler { + get { + guard let function = jsObject[Strings.onexit].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onexit] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onexit] = .null + } + } + } } public class TextTrackCueList: JSBridgedClass { @@ -15991,19 +17016,13 @@ public class TextTrackCueList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> TextTrackCue { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> TextTrackCue { jsObject[key].fromJSValue()! } - @inlinable public func getCueById(id: String) -> TextTrackCue? { + @inlinable final public func getCueById(id: String) -> TextTrackCue? { let this = jsObject return this[Strings.getCueById].function!(this: this, arguments: [_toJSValue(id)]).fromJSValue() } @@ -16017,50 +17036,69 @@ public enum TextTrackKind: JSString, JSValueCompatible { case metadata = "metadata" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class TextTrackList: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TextTrackList].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TextTrackList].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) - _onaddtrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddtrack) - _onremovetrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovetrack) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> TextTrack { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> TextTrack { jsObject[key].fromJSValue()! } - @inlinable public func getTrackById(id: String) -> TextTrack? { + @inlinable final public func getTrackById(id: String) -> TextTrack? { let this = jsObject return this[Strings.getTrackById].function!(this: this, arguments: [_toJSValue(id)]).fromJSValue() } - @ClosureAttribute1Optional - public var onchange: EventHandler + @inlinable public var onchange: EventHandler { + get { + guard let function = jsObject[Strings.onchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onchange] = .null + } + } + } - @ClosureAttribute1Optional - public var onaddtrack: EventHandler + @inlinable public var onaddtrack: EventHandler { + get { + guard let function = jsObject[Strings.onaddtrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onaddtrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onaddtrack] = .null + } + } + } - @ClosureAttribute1Optional - public var onremovetrack: EventHandler + @inlinable public var onremovetrack: EventHandler { + get { + guard let function = jsObject[Strings.onremovetrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onremovetrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onremovetrack] = .null + } + } + } } public enum TextTrackMode: JSString, JSValueCompatible { @@ -16069,235 +17107,229 @@ public enum TextTrackMode: JSString, JSValueCompatible { case showing = "showing" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class TimeRanges: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TimeRanges].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public func start(index: UInt32) -> Double { + @inlinable final public func start(index: UInt32) -> Double { let this = jsObject return this[Strings.start].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func end(index: UInt32) -> Double { + @inlinable final public func end(index: UInt32) -> Double { let this = jsObject return this[Strings.end].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } } public class ToggleEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ToggleEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.ToggleEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _oldState = ReadonlyAttribute(jsObject: jsObject, name: Strings.oldState) - _newState = ReadonlyAttribute(jsObject: jsObject, name: Strings.newState) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: ToggleEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var oldState: String + @inlinable public var oldState: String { jsObject[Strings.oldState].fromJSValue()! } - @ReadonlyAttribute - public var newState: String + @inlinable public var newState: String { jsObject[Strings.newState].fromJSValue()! } } -public class ToggleEventInit: BridgedDictionary { - public convenience init(oldState: String, newState: String) { +open class ToggleEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + oldState: String? = nil, + newState: String? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.oldState] = _toJSValue(oldState) object[Strings.newState] = _toJSValue(newState) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _oldState = ReadWriteAttribute(jsObject: object, name: Strings.oldState) - _newState = ReadWriteAttribute(jsObject: object, name: Strings.newState) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var oldState: String + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var newState: String + @inlinable public var oldState: String { + get { jsObject[Strings.oldState].fromJSValue()! } + set { jsObject[Strings.oldState] = _toJSValue(newValue) } + } + @inlinable public var newState: String { + get { jsObject[Strings.newState].fromJSValue()! } + set { jsObject[Strings.newState] = _toJSValue(newValue) } + } } - public class Touch: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Touch].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _identifier = ReadonlyAttribute(jsObject: jsObject, name: Strings.identifier) - _target = ReadonlyAttribute(jsObject: jsObject, name: Strings.target) - _screenX = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenX) - _screenY = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenY) - _clientX = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientX) - _clientY = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientY) - _pageX = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageX) - _pageY = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageY) - _radiusX = ReadonlyAttribute(jsObject: jsObject, name: Strings.radiusX) - _radiusY = ReadonlyAttribute(jsObject: jsObject, name: Strings.radiusY) - _rotationAngle = ReadonlyAttribute(jsObject: jsObject, name: Strings.rotationAngle) - _force = ReadonlyAttribute(jsObject: jsObject, name: Strings.force) - _altitudeAngle = ReadonlyAttribute(jsObject: jsObject, name: Strings.altitudeAngle) - _azimuthAngle = ReadonlyAttribute(jsObject: jsObject, name: Strings.azimuthAngle) - _touchType = ReadonlyAttribute(jsObject: jsObject, name: Strings.touchType) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(touchInitDict: TouchInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(touchInitDict)])) } - @ReadonlyAttribute - public var identifier: Int32 + @inlinable public var identifier: Int32 { jsObject[Strings.identifier].fromJSValue()! } - @ReadonlyAttribute - public var target: EventTarget + @inlinable public var target: EventTarget { jsObject[Strings.target].fromJSValue()! } - @ReadonlyAttribute - public var screenX: Double + @inlinable public var screenX: Double { jsObject[Strings.screenX].fromJSValue()! } - @ReadonlyAttribute - public var screenY: Double + @inlinable public var screenY: Double { jsObject[Strings.screenY].fromJSValue()! } - @ReadonlyAttribute - public var clientX: Double + @inlinable public var clientX: Double { jsObject[Strings.clientX].fromJSValue()! } - @ReadonlyAttribute - public var clientY: Double + @inlinable public var clientY: Double { jsObject[Strings.clientY].fromJSValue()! } - @ReadonlyAttribute - public var pageX: Double + @inlinable public var pageX: Double { jsObject[Strings.pageX].fromJSValue()! } - @ReadonlyAttribute - public var pageY: Double + @inlinable public var pageY: Double { jsObject[Strings.pageY].fromJSValue()! } - @ReadonlyAttribute - public var radiusX: Float + @inlinable public var radiusX: Float { jsObject[Strings.radiusX].fromJSValue()! } - @ReadonlyAttribute - public var radiusY: Float + @inlinable public var radiusY: Float { jsObject[Strings.radiusY].fromJSValue()! } - @ReadonlyAttribute - public var rotationAngle: Float + @inlinable public var rotationAngle: Float { jsObject[Strings.rotationAngle].fromJSValue()! } - @ReadonlyAttribute - public var force: Float + @inlinable public var force: Float { jsObject[Strings.force].fromJSValue()! } - @ReadonlyAttribute - public var altitudeAngle: Float + @inlinable public var altitudeAngle: Float { jsObject[Strings.altitudeAngle].fromJSValue()! } - @ReadonlyAttribute - public var azimuthAngle: Float + @inlinable public var azimuthAngle: Float { jsObject[Strings.azimuthAngle].fromJSValue()! } - @ReadonlyAttribute - public var touchType: TouchType + @inlinable public var touchType: TouchType { jsObject[Strings.touchType].fromJSValue()! } } public class TouchEvent: UIEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TouchEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TouchEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _touches = ReadonlyAttribute(jsObject: jsObject, name: Strings.touches) - _targetTouches = ReadonlyAttribute(jsObject: jsObject, name: Strings.targetTouches) - _changedTouches = ReadonlyAttribute(jsObject: jsObject, name: Strings.changedTouches) - _altKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.altKey) - _metaKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.metaKey) - _ctrlKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.ctrlKey) - _shiftKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.shiftKey) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: TouchEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var touches: TouchList + @inlinable public var touches: TouchList { jsObject[Strings.touches].fromJSValue()! } - @ReadonlyAttribute - public var targetTouches: TouchList + @inlinable public var targetTouches: TouchList { jsObject[Strings.targetTouches].fromJSValue()! } - @ReadonlyAttribute - public var changedTouches: TouchList + @inlinable public var changedTouches: TouchList { jsObject[Strings.changedTouches].fromJSValue()! } - @ReadonlyAttribute - public var altKey: Bool + @inlinable public var altKey: Bool { jsObject[Strings.altKey].fromJSValue()! } - @ReadonlyAttribute - public var metaKey: Bool + @inlinable public var metaKey: Bool { jsObject[Strings.metaKey].fromJSValue()! } - @ReadonlyAttribute - public var ctrlKey: Bool + @inlinable public var ctrlKey: Bool { jsObject[Strings.ctrlKey].fromJSValue()! } - @ReadonlyAttribute - public var shiftKey: Bool + @inlinable public var shiftKey: Bool { jsObject[Strings.shiftKey].fromJSValue()! } - @inlinable public subscript(key: String) -> Bool { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: String) -> Bool { jsObject[key].fromJSValue()! } - @inlinable public func getModifierState(keyArg: String) -> Bool { + @inlinable final public func getModifierState(keyArg: String) -> Bool { let this = jsObject return this[Strings.getModifierState].function!(this: this, arguments: [_toJSValue(keyArg)]).fromJSValue()! } } -public class TouchEventInit: BridgedDictionary { - public convenience init(touches: [Touch], targetTouches: [Touch], changedTouches: [Touch]) { +open class TouchEventInit: EventModifierInit { + + public convenience init( + ctrlKey: Bool? = nil, + shiftKey: Bool? = nil, + altKey: Bool? = nil, + metaKey: Bool? = nil, + modifierAltGraph: Bool? = nil, + modifierCapsLock: Bool? = nil, + modifierFn: Bool? = nil, + modifierFnLock: Bool? = nil, + modifierHyper: Bool? = nil, + modifierNumLock: Bool? = nil, + modifierScrollLock: Bool? = nil, + modifierSuper: Bool? = nil, + modifierSymbol: Bool? = nil, + modifierSymbolLock: Bool? = nil, + touches: [Touch]? = nil, + targetTouches: [Touch]? = nil, + changedTouches: [Touch]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.ctrlKey] = _toJSValue(ctrlKey) + object[Strings.shiftKey] = _toJSValue(shiftKey) + object[Strings.altKey] = _toJSValue(altKey) + object[Strings.metaKey] = _toJSValue(metaKey) + object[Strings.modifierAltGraph] = _toJSValue(modifierAltGraph) + object[Strings.modifierCapsLock] = _toJSValue(modifierCapsLock) + object[Strings.modifierFn] = _toJSValue(modifierFn) + object[Strings.modifierFnLock] = _toJSValue(modifierFnLock) + object[Strings.modifierHyper] = _toJSValue(modifierHyper) + object[Strings.modifierNumLock] = _toJSValue(modifierNumLock) + object[Strings.modifierScrollLock] = _toJSValue(modifierScrollLock) + object[Strings.modifierSuper] = _toJSValue(modifierSuper) + object[Strings.modifierSymbol] = _toJSValue(modifierSymbol) + object[Strings.modifierSymbolLock] = _toJSValue(modifierSymbolLock) object[Strings.touches] = _toJSValue(touches) object[Strings.targetTouches] = _toJSValue(targetTouches) object[Strings.changedTouches] = _toJSValue(changedTouches) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _touches = ReadWriteAttribute(jsObject: object, name: Strings.touches) - _targetTouches = ReadWriteAttribute(jsObject: object, name: Strings.targetTouches) - _changedTouches = ReadWriteAttribute(jsObject: object, name: Strings.changedTouches) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var touches: [Touch] - - @ReadWriteAttribute - public var targetTouches: [Touch] + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var changedTouches: [Touch] + @inlinable public var touches: [Touch] { + get { jsObject[Strings.touches].fromJSValue()! } + set { jsObject[Strings.touches] = _toJSValue(newValue) } + } + @inlinable public var targetTouches: [Touch] { + get { jsObject[Strings.targetTouches].fromJSValue()! } + set { jsObject[Strings.targetTouches] = _toJSValue(newValue) } + } + @inlinable public var changedTouches: [Touch] { + get { jsObject[Strings.changedTouches].fromJSValue()! } + set { jsObject[Strings.changedTouches] = _toJSValue(newValue) } + } } +open class TouchInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class TouchInit: BridgedDictionary { - public convenience init(identifier: Int32, target: EventTarget, clientX: Double, clientY: Double, screenX: Double, screenY: Double, pageX: Double, pageY: Double, radiusX: Float, radiusY: Float, rotationAngle: Float, force: Float, altitudeAngle: Double, azimuthAngle: Double, touchType: TouchType) { + public convenience init( + identifier: Int32, + target: EventTarget, + clientX: Double? = nil, + clientY: Double? = nil, + screenX: Double? = nil, + screenY: Double? = nil, + pageX: Double? = nil, + pageY: Double? = nil, + radiusX: Float? = nil, + radiusY: Float? = nil, + rotationAngle: Float? = nil, + force: Float? = nil, + altitudeAngle: Double? = nil, + azimuthAngle: Double? = nil, + touchType: TouchType? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.identifier] = _toJSValue(identifier) object[Strings.target] = _toJSValue(target) @@ -16314,291 +17346,447 @@ public class TouchInit: BridgedDictionary { object[Strings.altitudeAngle] = _toJSValue(altitudeAngle) object[Strings.azimuthAngle] = _toJSValue(azimuthAngle) object[Strings.touchType] = _toJSValue(touchType) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _identifier = ReadWriteAttribute(jsObject: object, name: Strings.identifier) - _target = ReadWriteAttribute(jsObject: object, name: Strings.target) - _clientX = ReadWriteAttribute(jsObject: object, name: Strings.clientX) - _clientY = ReadWriteAttribute(jsObject: object, name: Strings.clientY) - _screenX = ReadWriteAttribute(jsObject: object, name: Strings.screenX) - _screenY = ReadWriteAttribute(jsObject: object, name: Strings.screenY) - _pageX = ReadWriteAttribute(jsObject: object, name: Strings.pageX) - _pageY = ReadWriteAttribute(jsObject: object, name: Strings.pageY) - _radiusX = ReadWriteAttribute(jsObject: object, name: Strings.radiusX) - _radiusY = ReadWriteAttribute(jsObject: object, name: Strings.radiusY) - _rotationAngle = ReadWriteAttribute(jsObject: object, name: Strings.rotationAngle) - _force = ReadWriteAttribute(jsObject: object, name: Strings.force) - _altitudeAngle = ReadWriteAttribute(jsObject: object, name: Strings.altitudeAngle) - _azimuthAngle = ReadWriteAttribute(jsObject: object, name: Strings.azimuthAngle) - _touchType = ReadWriteAttribute(jsObject: object, name: Strings.touchType) - super.init(unsafelyWrapping: object) + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var identifier: Int32 { + get { jsObject[Strings.identifier].fromJSValue()! } + set { jsObject[Strings.identifier] = _toJSValue(newValue) } + } + @inlinable public var target: EventTarget { + get { jsObject[Strings.target].fromJSValue()! } + set { jsObject[Strings.target] = _toJSValue(newValue) } + } + @inlinable public var clientX: Double { + get { jsObject[Strings.clientX].fromJSValue()! } + set { jsObject[Strings.clientX] = _toJSValue(newValue) } + } + @inlinable public var clientY: Double { + get { jsObject[Strings.clientY].fromJSValue()! } + set { jsObject[Strings.clientY] = _toJSValue(newValue) } + } + @inlinable public var screenX: Double { + get { jsObject[Strings.screenX].fromJSValue()! } + set { jsObject[Strings.screenX] = _toJSValue(newValue) } + } + @inlinable public var screenY: Double { + get { jsObject[Strings.screenY].fromJSValue()! } + set { jsObject[Strings.screenY] = _toJSValue(newValue) } + } + @inlinable public var pageX: Double { + get { jsObject[Strings.pageX].fromJSValue()! } + set { jsObject[Strings.pageX] = _toJSValue(newValue) } + } + @inlinable public var pageY: Double { + get { jsObject[Strings.pageY].fromJSValue()! } + set { jsObject[Strings.pageY] = _toJSValue(newValue) } + } + @inlinable public var radiusX: Float { + get { jsObject[Strings.radiusX].fromJSValue()! } + set { jsObject[Strings.radiusX] = _toJSValue(newValue) } + } + @inlinable public var radiusY: Float { + get { jsObject[Strings.radiusY].fromJSValue()! } + set { jsObject[Strings.radiusY] = _toJSValue(newValue) } + } + @inlinable public var rotationAngle: Float { + get { jsObject[Strings.rotationAngle].fromJSValue()! } + set { jsObject[Strings.rotationAngle] = _toJSValue(newValue) } + } + @inlinable public var force: Float { + get { jsObject[Strings.force].fromJSValue()! } + set { jsObject[Strings.force] = _toJSValue(newValue) } + } + @inlinable public var altitudeAngle: Double { + get { jsObject[Strings.altitudeAngle].fromJSValue()! } + set { jsObject[Strings.altitudeAngle] = _toJSValue(newValue) } + } + @inlinable public var azimuthAngle: Double { + get { jsObject[Strings.azimuthAngle].fromJSValue()! } + set { jsObject[Strings.azimuthAngle] = _toJSValue(newValue) } + } + @inlinable public var touchType: TouchType { + get { jsObject[Strings.touchType].fromJSValue()! } + set { jsObject[Strings.touchType] = _toJSValue(newValue) } + } +} +public class TouchList: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TouchList].function } + + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + + @inlinable public subscript(key: Int) -> Touch? { jsObject[key].fromJSValue() } + + @inlinable final public func item(index: UInt32) -> Touch? { + let this = jsObject + return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() + } +} + +public enum TouchType: JSString, JSValueCompatible { + case direct = "direct" + case stylus = "stylus" + + @inlinable public static func construct(from jsValue: JSValue) -> Self? { + if let string = jsValue.jsString { return Self(rawValue: string) } + return nil } - @ReadWriteAttribute - public var identifier: Int32 + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } - @ReadWriteAttribute - public var target: EventTarget + @inlinable public var jsValue: JSValue { rawValue.jsValue } +} +public class TrackEvent: Event { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TrackEvent].function } - @ReadWriteAttribute - public var clientX: Double + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var clientY: Double + @inlinable public convenience init(type: String, eventInitDict: TrackEventInit? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) + } - @ReadWriteAttribute - public var screenX: Double + @inlinable public var track: AudioTrack_or_TextTrack_or_VideoTrack? { jsObject[Strings.track].fromJSValue() } +} - @ReadWriteAttribute - public var screenY: Double +open class TrackEventInit: EventInit { - @ReadWriteAttribute - public var pageX: Double + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + track: AudioTrack_or_TextTrack_or_VideoTrack? + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) + object[Strings.track] = _toJSValue(track) - @ReadWriteAttribute - public var pageY: Double + self.init(unsafelyWrapping: object) + } - @ReadWriteAttribute - public var radiusX: Float + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var radiusY: Float + @inlinable public var track: AudioTrack_or_TextTrack_or_VideoTrack? { + get { jsObject[Strings.track].fromJSValue() } + set { jsObject[Strings.track] = _toJSValue(newValue) } + } +} +public class TransformStream: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TransformStream].function } - @ReadWriteAttribute - public var rotationAngle: Float + public let jsObject: JSObject - @ReadWriteAttribute - public var force: Float + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var altitudeAngle: Double + @inlinable public convenience init( + transformer: JSObject? = nil, + writableStrategy: QueuingStrategy? = nil, + readableStrategy: QueuingStrategy? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(transformer), _toJSValue(writableStrategy), _toJSValue(readableStrategy), + ]) + ) + } - @ReadWriteAttribute - public var azimuthAngle: Double + @inlinable public var readable: ReadableStream { jsObject[Strings.readable].fromJSValue()! } - @ReadWriteAttribute - public var touchType: TouchType + @inlinable public var writable: WritableStream { jsObject[Strings.writable].fromJSValue()! } } -public class TouchList: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TouchList].function } +public class TransformStreamDefaultController: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.TransformStreamDefaultController].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var desiredSize: Double? { jsObject[Strings.desiredSize].fromJSValue() } - @inlinable public subscript(key: Int) -> Touch? { - jsObject[key].fromJSValue() + @inlinable final public func enqueue(chunk: JSValue? = nil) { + let this = jsObject + _ = this[Strings.enqueue].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable public func item(index: UInt32) -> Touch? { + @inlinable final public func error(reason: JSValue? = nil) { let this = jsObject - return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() + _ = this[Strings.error].function!(this: this, arguments: [_toJSValue(reason)]) + } + + @inlinable final public func terminate() { + let this = jsObject + _ = this[Strings.terminate].function!(this: this, arguments: []) } } -public enum TouchType: JSString, JSValueCompatible { - case direct = "direct" - case stylus = "stylus" +open class Transformer: JSDictionaryCompatible { + public let jsObject: JSObject - @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) + public convenience init( + start: TransformerStartCallback? = nil, + transform: TransformerTransformCallback? = nil, + flush: TransformerFlushCallback? = nil, + readableType: JSValue? = nil, + writableType: JSValue? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.start] = _toJSValue(start) + object[Strings.transform] = _toJSValue(transform) + object[Strings.flush] = _toJSValue(flush) + object[Strings.readableType] = _toJSValue(readableType) + object[Strings.writableType] = _toJSValue(writableType) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var start: TransformerStartCallback { + get { + let function = jsObject[Strings.start].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.start] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var transform: TransformerTransformCallback { + get { + let function = jsObject[Strings.transform].function! + return { function(_toJSValue($0), _toJSValue($1)).fromJSValue()! } + } + set { + jsObject[Strings.transform] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!)) }.jsValue } - return nil } + @inlinable public var flush: TransformerFlushCallback { + get { + let function = jsObject[Strings.flush].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.flush] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var readableType: JSValue { + get { jsObject[Strings.readableType].fromJSValue()! } + set { jsObject[Strings.readableType] = _toJSValue(newValue) } + } + @inlinable public var writableType: JSValue { + get { jsObject[Strings.writableType].fromJSValue()! } + set { jsObject[Strings.writableType] = _toJSValue(newValue) } + } +} +public class TreeWalker: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TreeWalker].function } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var root: Node { jsObject[Strings.root].fromJSValue()! } + + @inlinable public var whatToShow: UInt32 { jsObject[Strings.whatToShow].fromJSValue()! } + + // XXX: member 'filter' is ignored + + @inlinable public var currentNode: Node { + get { jsObject[Strings.currentNode].fromJSValue()! } + set { jsObject[Strings.currentNode] = _toJSValue(newValue) } } - @inlinable public var jsValue: JSValue { rawValue.jsValue } -} + @inlinable final public func parentNode() -> Node? { + let this = jsObject + return this[Strings.parentNode].function!(this: this, arguments: []).fromJSValue() + } -public class TrackEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TrackEvent].function } + @inlinable final public func firstChild() -> Node? { + let this = jsObject + return this[Strings.firstChild].function!(this: this, arguments: []).fromJSValue() + } - public required init(unsafelyWrapping jsObject: JSObject) { - _track = ReadonlyAttribute(jsObject: jsObject, name: Strings.track) - super.init(unsafelyWrapping: jsObject) + @inlinable final public func lastChild() -> Node? { + let this = jsObject + return this[Strings.lastChild].function!(this: this, arguments: []).fromJSValue() } - @inlinable public convenience init(type: String, eventInitDict: TrackEventInit? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) + @inlinable final public func previousSibling() -> Node? { + let this = jsObject + return this[Strings.previousSibling].function!(this: this, arguments: []).fromJSValue() + } + + @inlinable final public func nextSibling() -> Node? { + let this = jsObject + return this[Strings.nextSibling].function!(this: this, arguments: []).fromJSValue() + } + + @inlinable final public func previousNode() -> Node? { + let this = jsObject + return this[Strings.previousNode].function!(this: this, arguments: []).fromJSValue() } - @ReadonlyAttribute - public var track: AudioTrack_or_TextTrack_or_VideoTrack? + @inlinable final public func nextNode() -> Node? { + let this = jsObject + return this[Strings.nextNode].function!(this: this, arguments: []).fromJSValue() + } } -public class TrackEventInit: BridgedDictionary { - public convenience init(track: AudioTrack_or_TextTrack_or_VideoTrack?) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.track] = _toJSValue(track) - self.init(unsafelyWrapping: object) +public class TrustedHTML: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedHTML].function } + + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } + + @inlinable final public func toJSON() -> String { + let this = jsObject + return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! + } + + @inlinable public class func fromLiteral(templateStringsArray: JSObject) -> TrustedHTML { + let this = constructor! + return this[Strings.fromLiteral].function!(this: this, arguments: [_toJSValue(templateStringsArray)]) + .fromJSValue()! } +} + +public class TrustedScript: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedScript].function } - public required init(unsafelyWrapping object: JSObject) { - _track = ReadWriteAttribute(jsObject: object, name: Strings.track) - super.init(unsafelyWrapping: object) + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } + + @inlinable final public func toJSON() -> String { + let this = jsObject + return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } - @ReadWriteAttribute - public var track: AudioTrack_or_TextTrack_or_VideoTrack? + @inlinable public class func fromLiteral(templateStringsArray: JSObject) -> TrustedScript { + let this = constructor! + return this[Strings.fromLiteral].function!(this: this, arguments: [_toJSValue(templateStringsArray)]) + .fromJSValue()! + } } -public class TransformStream: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TransformStream].function } +public class TrustedScriptURL: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedScriptURL].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _readable = ReadonlyAttribute(jsObject: jsObject, name: Strings.readable) - _writable = ReadonlyAttribute(jsObject: jsObject, name: Strings.writable) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(transformer: JSObject? = nil, writableStrategy: QueuingStrategy? = nil, readableStrategy: QueuingStrategy? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(transformer), _toJSValue(writableStrategy), _toJSValue(readableStrategy)])) - } + @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } - @ReadonlyAttribute - public var readable: ReadableStream + @inlinable final public func toJSON() -> String { + let this = jsObject + return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! + } - @ReadonlyAttribute - public var writable: WritableStream + @inlinable public class func fromLiteral(templateStringsArray: JSObject) -> TrustedScriptURL { + let this = constructor! + return this[Strings.fromLiteral].function!(this: this, arguments: [_toJSValue(templateStringsArray)]) + .fromJSValue()! + } } -public class TransformStreamDefaultController: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TransformStreamDefaultController].function } +public class TrustedTypePolicy: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedTypePolicy].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _desiredSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.desiredSize) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var desiredSize: Double? + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @inlinable public func enqueue(chunk: JSValue? = nil) { + @inlinable final public func createHTML(input: String, arguments: JSValue...) -> TrustedHTML { let this = jsObject - _ = this[Strings.enqueue].function!(this: this, arguments: [_toJSValue(chunk)]) + return this[Strings.createHTML].function!( + this: this, + arguments: [_toJSValue(input)] + arguments.map(_toJSValue) + ).fromJSValue()! } - @inlinable public func error(reason: JSValue? = nil) { + @inlinable final public func createScript(input: String, arguments: JSValue...) -> TrustedScript { let this = jsObject - _ = this[Strings.error].function!(this: this, arguments: [_toJSValue(reason)]) + return this[Strings.createScript].function!( + this: this, + arguments: [_toJSValue(input)] + arguments.map(_toJSValue) + ).fromJSValue()! } - @inlinable public func terminate() { + @inlinable final public func createScriptURL(input: String, arguments: JSValue...) -> TrustedScriptURL { let this = jsObject - _ = this[Strings.terminate].function!(this: this, arguments: []) - } -} - -public class Transformer: BridgedDictionary { - public convenience init(start: @escaping TransformerStartCallback, transform: @escaping TransformerTransformCallback, flush: @escaping TransformerFlushCallback, readableType: JSValue, writableType: JSValue) { - let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute1[Strings.start, in: object] = start - ClosureAttribute2[Strings.transform, in: object] = transform - ClosureAttribute1[Strings.flush, in: object] = flush - object[Strings.readableType] = _toJSValue(readableType) - object[Strings.writableType] = _toJSValue(writableType) - self.init(unsafelyWrapping: object) - } - - public required init(unsafelyWrapping object: JSObject) { - _start = ClosureAttribute1(jsObject: object, name: Strings.start) - _transform = ClosureAttribute2(jsObject: object, name: Strings.transform) - _flush = ClosureAttribute1(jsObject: object, name: Strings.flush) - _readableType = ReadWriteAttribute(jsObject: object, name: Strings.readableType) - _writableType = ReadWriteAttribute(jsObject: object, name: Strings.writableType) - super.init(unsafelyWrapping: object) + return this[Strings.createScriptURL].function!( + this: this, + arguments: [_toJSValue(input)] + arguments.map(_toJSValue) + ).fromJSValue()! } - - @ClosureAttribute1 - public var start: TransformerStartCallback - - @ClosureAttribute2 - public var transform: TransformerTransformCallback - - @ClosureAttribute1 - public var flush: TransformerFlushCallback - - @ReadWriteAttribute - public var readableType: JSValue - - @ReadWriteAttribute - public var writableType: JSValue } -public class TreeWalker: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TreeWalker].function } +public class TrustedTypePolicyFactory: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedTypePolicyFactory].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _root = ReadonlyAttribute(jsObject: jsObject, name: Strings.root) - _whatToShow = ReadonlyAttribute(jsObject: jsObject, name: Strings.whatToShow) - _currentNode = ReadWriteAttribute(jsObject: jsObject, name: Strings.currentNode) - self.jsObject = jsObject - } - - @ReadonlyAttribute - public var root: Node + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var whatToShow: UInt32 + // XXX: member 'createPolicy' is ignored - // XXX: member 'filter' is ignored - - @ReadWriteAttribute - public var currentNode: Node - - @inlinable public func parentNode() -> Node? { + @inlinable final public func isHTML(value: JSValue) -> Bool { let this = jsObject - return this[Strings.parentNode].function!(this: this, arguments: []).fromJSValue() + return this[Strings.isHTML].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } - @inlinable public func firstChild() -> Node? { + @inlinable final public func isScript(value: JSValue) -> Bool { let this = jsObject - return this[Strings.firstChild].function!(this: this, arguments: []).fromJSValue() + return this[Strings.isScript].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } - @inlinable public func lastChild() -> Node? { + @inlinable final public func isScriptURL(value: JSValue) -> Bool { let this = jsObject - return this[Strings.lastChild].function!(this: this, arguments: []).fromJSValue() + return this[Strings.isScriptURL].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } - @inlinable public func previousSibling() -> Node? { - let this = jsObject - return this[Strings.previousSibling].function!(this: this, arguments: []).fromJSValue() - } + @inlinable public var emptyHTML: TrustedHTML { jsObject[Strings.emptyHTML].fromJSValue()! } - @inlinable public func nextSibling() -> Node? { - let this = jsObject - return this[Strings.nextSibling].function!(this: this, arguments: []).fromJSValue() - } + @inlinable public var emptyScript: TrustedScript { jsObject[Strings.emptyScript].fromJSValue()! } - @inlinable public func previousNode() -> Node? { + @inlinable final public func getAttributeType( + tagName: String, + attribute: String, + elementNs: String? = nil, + attrNs: String? = nil + ) -> String? { let this = jsObject - return this[Strings.previousNode].function!(this: this, arguments: []).fromJSValue() + return this[Strings.getAttributeType].function!( + this: this, + arguments: [_toJSValue(tagName), _toJSValue(attribute), _toJSValue(elementNs), _toJSValue(attrNs)] + ).fromJSValue() } - @inlinable public func nextNode() -> Node? { + @inlinable final public func getPropertyType(tagName: String, property: String, elementNs: String? = nil) -> String? + { let this = jsObject - return this[Strings.nextNode].function!(this: this, arguments: []).fromJSValue() + return this[Strings.getPropertyType].function!( + this: this, + arguments: [_toJSValue(tagName), _toJSValue(property), _toJSValue(elementNs)] + ).fromJSValue() } + + @inlinable public var defaultPolicy: TrustedTypePolicy? { jsObject[Strings.defaultPolicy].fromJSValue() } } public typealias EventHandler = EventHandlerNonNull? @@ -16609,6 +17797,10 @@ public typealias DOMHighResTimeStamp = Double public typealias EpochTimeStamp = UInt64 public typealias PerformanceEntryList = [PerformanceEntry] +public typealias HTMLString = String +public typealias ScriptString = String +public typealias ScriptURLString = String + public typealias MutationCallback = ([MutationRecord], MutationObserver) -> Void public typealias BlobCallback = (Blob?) -> Void public typealias FunctionStringCallback = (String) -> Void @@ -16617,6 +17809,7 @@ public typealias EventHandlerNonNull = (Event) -> JSValue public typealias OnErrorEventHandlerNonNull = (Event_or_String, String, UInt32, UInt32, JSValue) -> JSValue public typealias OnBeforeUnloadEventHandlerNonNull = (Event) -> String? public typealias FrameRequestCallback = (DOMHighResTimeStamp) -> Void +public typealias UpdateCallback = () -> JSPromise public typealias UnderlyingSourceStartCallback = (ReadableStreamController) -> JSValue public typealias UnderlyingSourcePullCallback = (ReadableStreamController) -> JSPromise public typealias UnderlyingSourceCancelCallback = (JSValue) -> JSPromise @@ -16635,183 +17828,457 @@ public typealias VideoFrameOutputCallback = (VideoFrame) -> Void public typealias EncodedAudioChunkOutputCallback = (EncodedAudioChunk, EncodedAudioChunkMetadata) -> Void public typealias EncodedVideoChunkOutputCallback = (EncodedVideoChunk, EncodedVideoChunkMetadata) -> Void public typealias WebCodecsErrorCallback = (DOMException) -> Void -public typealias PerformanceObserverCallback = (PerformanceObserverEntryList, PerformanceObserver, PerformanceObserverCallbackOptions) -> Void +public typealias PerformanceObserverCallback = ( + PerformanceObserverEntryList, PerformanceObserver, PerformanceObserverCallbackOptions +) -> Void +public typealias CreateHTMLCallback = (String, JSValue...) -> String +public typealias CreateScriptCallback = (String, JSValue...) -> String +public typealias CreateScriptURLCallback = (String, JSValue...) -> String public class UIEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.UIEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.UIEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _view = ReadonlyAttribute(jsObject: jsObject, name: Strings.view) - _detail = ReadonlyAttribute(jsObject: jsObject, name: Strings.detail) - _which = ReadonlyAttribute(jsObject: jsObject, name: Strings.which) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: UIEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var view: Window? + @inlinable public var view: Window? { jsObject[Strings.view].fromJSValue() } - @ReadonlyAttribute - public var detail: Int32 + @inlinable public var detail: Int32 { jsObject[Strings.detail].fromJSValue()! } - @inlinable public func initUIEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, viewArg: Window? = nil, detailArg: Int32? = nil) { + @inlinable final public func initUIEvent( + typeArg: String, + bubblesArg: Bool? = nil, + cancelableArg: Bool? = nil, + viewArg: Window? = nil, + detailArg: Int32? = nil + ) { let this = jsObject - _ = this[Strings.initUIEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), _toJSValue(detailArg)]) + _ = this[Strings.initUIEvent].function!( + this: this, + arguments: [ + _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), + _toJSValue(detailArg), + ] + ) } - @ReadonlyAttribute - public var which: UInt32 + @inlinable public var which: UInt32 { jsObject[Strings.which].fromJSValue()! } } -public class UIEventInit: BridgedDictionary { - public convenience init(view: Window?, detail: Int32, which: UInt32) { +open class UIEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + view: Window?, + detail: Int32? = nil, + which: UInt32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.view] = _toJSValue(view) object[Strings.detail] = _toJSValue(detail) object[Strings.which] = _toJSValue(which) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _view = ReadWriteAttribute(jsObject: object, name: Strings.view) - _detail = ReadWriteAttribute(jsObject: object, name: Strings.detail) - _which = ReadWriteAttribute(jsObject: object, name: Strings.which) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var view: Window? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var detail: Int32 - - @ReadWriteAttribute - public var which: UInt32 + @inlinable public var view: Window? { + get { jsObject[Strings.view].fromJSValue() } + set { jsObject[Strings.view] = _toJSValue(newValue) } + } + @inlinable public var detail: Int32 { + get { jsObject[Strings.detail].fromJSValue()! } + set { jsObject[Strings.detail] = _toJSValue(newValue) } + } + @inlinable public var which: UInt32 { + get { jsObject[Strings.which].fromJSValue()! } + set { jsObject[Strings.which] = _toJSValue(newValue) } + } } +open class ULongRange: JSDictionaryCompatible { + public let jsObject: JSObject -public class ULongRange: BridgedDictionary { - public convenience init(max: UInt32, min: UInt32) { + public convenience init(max: UInt32? = nil, min: UInt32? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.max] = _toJSValue(max) object[Strings.min] = _toJSValue(min) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _max = ReadWriteAttribute(jsObject: object, name: Strings.max) - _min = ReadWriteAttribute(jsObject: object, name: Strings.min) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var max: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var min: UInt32 + @inlinable public var max: UInt32 { + get { jsObject[Strings.max].fromJSValue()! } + set { jsObject[Strings.max] = _toJSValue(newValue) } + } + @inlinable public var min: UInt32 { + get { jsObject[Strings.min].fromJSValue()! } + set { jsObject[Strings.min] = _toJSValue(newValue) } + } } +extension URL { -public extension URL { - @inlinable class func createObjectURL(obj: Blob_or_MediaSource) -> String { + @inlinable public class func createObjectURL(obj: Blob_or_MediaSource) -> String { let this = constructor! return this[Strings.createObjectURL].function!(this: this, arguments: [_toJSValue(obj)]).fromJSValue()! } - @inlinable class func revokeObjectURL(url: String) { + @inlinable public class func revokeObjectURL(url: String) { let this = constructor! _ = this[Strings.revokeObjectURL].function!(this: this, arguments: [_toJSValue(url)]) } } -public class UnderlyingSink: BridgedDictionary { - public convenience init(start: @escaping UnderlyingSinkStartCallback, write: @escaping UnderlyingSinkWriteCallback, close: @escaping UnderlyingSinkCloseCallback, abort: @escaping UnderlyingSinkAbortCallback, type: JSValue) { +public class URLPattern: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.URLPattern].function } + + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public convenience init(input: URLPatternInput, baseURL: String, options: URLPatternOptions? = nil) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(input), _toJSValue(baseURL), _toJSValue(options), + ]) + ) + } + + @inlinable public convenience init(input: URLPatternInput? = nil, options: URLPatternOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(input), _toJSValue(options)])) + } + + @inlinable final public func test(input: URLPatternInput? = nil, baseURL: String? = nil) -> Bool { + let this = jsObject + return this[Strings.test].function!(this: this, arguments: [_toJSValue(input), _toJSValue(baseURL)]) + .fromJSValue()! + } + + @inlinable final public func exec(input: URLPatternInput? = nil, baseURL: String? = nil) -> URLPatternResult? { + let this = jsObject + return this[Strings.exec].function!(this: this, arguments: [_toJSValue(input), _toJSValue(baseURL)]) + .fromJSValue() + } + + @inlinable public var `protocol`: String { jsObject[Strings.`protocol`].fromJSValue()! } + + @inlinable public var username: String { jsObject[Strings.username].fromJSValue()! } + + @inlinable public var password: String { jsObject[Strings.password].fromJSValue()! } + + @inlinable public var hostname: String { jsObject[Strings.hostname].fromJSValue()! } + + @inlinable public var port: String { jsObject[Strings.port].fromJSValue()! } + + @inlinable public var pathname: String { jsObject[Strings.pathname].fromJSValue()! } + + @inlinable public var search: String { jsObject[Strings.search].fromJSValue()! } + + @inlinable public var hash: String { jsObject[Strings.hash].fromJSValue()! } +} + +open class URLPatternComponentResult: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(input: String? = nil, groups: JSObject? = nil) { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute1[Strings.start, in: object] = start - ClosureAttribute2[Strings.write, in: object] = write - ClosureAttribute0[Strings.close, in: object] = close - ClosureAttribute1[Strings.abort, in: object] = abort - object[Strings.type] = _toJSValue(type) + object[Strings.input] = _toJSValue(input) + object[Strings.groups] = _toJSValue(groups) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _start = ClosureAttribute1(jsObject: object, name: Strings.start) - _write = ClosureAttribute2(jsObject: object, name: Strings.write) - _close = ClosureAttribute0(jsObject: object, name: Strings.close) - _abort = ClosureAttribute1(jsObject: object, name: Strings.abort) - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ClosureAttribute1 - public var start: UnderlyingSinkStartCallback + @inlinable public var input: String { + get { jsObject[Strings.input].fromJSValue()! } + set { jsObject[Strings.input] = _toJSValue(newValue) } + } + @inlinable public var groups: JSObject { + get { jsObject[Strings.groups].fromJSValue()! } + set { jsObject[Strings.groups] = _toJSValue(newValue) } + } +} +open class URLPatternInit: JSDictionaryCompatible { + public let jsObject: JSObject - @ClosureAttribute2 - public var write: UnderlyingSinkWriteCallback + public convenience init( + `protocol`: String? = nil, + username: String? = nil, + password: String? = nil, + hostname: String? = nil, + port: String? = nil, + pathname: String? = nil, + search: String? = nil, + hash: String? = nil, + baseURL: String? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.`protocol`] = _toJSValue(`protocol`) + object[Strings.username] = _toJSValue(username) + object[Strings.password] = _toJSValue(password) + object[Strings.hostname] = _toJSValue(hostname) + object[Strings.port] = _toJSValue(port) + object[Strings.pathname] = _toJSValue(pathname) + object[Strings.search] = _toJSValue(search) + object[Strings.hash] = _toJSValue(hash) + object[Strings.baseURL] = _toJSValue(baseURL) - @ClosureAttribute0 - public var close: UnderlyingSinkCloseCallback + self.init(unsafelyWrapping: object) + } - @ClosureAttribute1 - public var abort: UnderlyingSinkAbortCallback + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var type: JSValue + @inlinable public var `protocol`: String { + get { jsObject[Strings.`protocol`].fromJSValue()! } + set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } + } + @inlinable public var username: String { + get { jsObject[Strings.username].fromJSValue()! } + set { jsObject[Strings.username] = _toJSValue(newValue) } + } + @inlinable public var password: String { + get { jsObject[Strings.password].fromJSValue()! } + set { jsObject[Strings.password] = _toJSValue(newValue) } + } + @inlinable public var hostname: String { + get { jsObject[Strings.hostname].fromJSValue()! } + set { jsObject[Strings.hostname] = _toJSValue(newValue) } + } + @inlinable public var port: String { + get { jsObject[Strings.port].fromJSValue()! } + set { jsObject[Strings.port] = _toJSValue(newValue) } + } + @inlinable public var pathname: String { + get { jsObject[Strings.pathname].fromJSValue()! } + set { jsObject[Strings.pathname] = _toJSValue(newValue) } + } + @inlinable public var search: String { + get { jsObject[Strings.search].fromJSValue()! } + set { jsObject[Strings.search] = _toJSValue(newValue) } + } + @inlinable public var hash: String { + get { jsObject[Strings.hash].fromJSValue()! } + set { jsObject[Strings.hash] = _toJSValue(newValue) } + } + @inlinable public var baseURL: String { + get { jsObject[Strings.baseURL].fromJSValue()! } + set { jsObject[Strings.baseURL] = _toJSValue(newValue) } + } } +open class URLPatternOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class UnderlyingSource: BridgedDictionary { - public convenience init(start: @escaping UnderlyingSourceStartCallback, pull: @escaping UnderlyingSourcePullCallback, cancel: @escaping UnderlyingSourceCancelCallback, type: ReadableStreamType, autoAllocateChunkSize: UInt64) { + public convenience init(ignoreCase: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute1[Strings.start, in: object] = start - ClosureAttribute1[Strings.pull, in: object] = pull - ClosureAttribute1[Strings.cancel, in: object] = cancel - object[Strings.type] = _toJSValue(type) - object[Strings.autoAllocateChunkSize] = _toJSValue(autoAllocateChunkSize) + object[Strings.ignoreCase] = _toJSValue(ignoreCase) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _start = ClosureAttribute1(jsObject: object, name: Strings.start) - _pull = ClosureAttribute1(jsObject: object, name: Strings.pull) - _cancel = ClosureAttribute1(jsObject: object, name: Strings.cancel) - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _autoAllocateChunkSize = ReadWriteAttribute(jsObject: object, name: Strings.autoAllocateChunkSize) - super.init(unsafelyWrapping: object) + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var ignoreCase: Bool { + get { jsObject[Strings.ignoreCase].fromJSValue()! } + set { jsObject[Strings.ignoreCase] = _toJSValue(newValue) } + } +} +open class URLPatternResult: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + inputs: [URLPatternInput]? = nil, + `protocol`: URLPatternComponentResult? = nil, + username: URLPatternComponentResult? = nil, + password: URLPatternComponentResult? = nil, + hostname: URLPatternComponentResult? = nil, + port: URLPatternComponentResult? = nil, + pathname: URLPatternComponentResult? = nil, + search: URLPatternComponentResult? = nil, + hash: URLPatternComponentResult? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.inputs] = _toJSValue(inputs) + object[Strings.`protocol`] = _toJSValue(`protocol`) + object[Strings.username] = _toJSValue(username) + object[Strings.password] = _toJSValue(password) + object[Strings.hostname] = _toJSValue(hostname) + object[Strings.port] = _toJSValue(port) + object[Strings.pathname] = _toJSValue(pathname) + object[Strings.search] = _toJSValue(search) + object[Strings.hash] = _toJSValue(hash) + + self.init(unsafelyWrapping: object) } - @ClosureAttribute1 - public var start: UnderlyingSourceStartCallback + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var inputs: [URLPatternInput] { + get { jsObject[Strings.inputs].fromJSValue()! } + set { jsObject[Strings.inputs] = _toJSValue(newValue) } + } + @inlinable public var `protocol`: URLPatternComponentResult { + get { jsObject[Strings.`protocol`].fromJSValue()! } + set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } + } + @inlinable public var username: URLPatternComponentResult { + get { jsObject[Strings.username].fromJSValue()! } + set { jsObject[Strings.username] = _toJSValue(newValue) } + } + @inlinable public var password: URLPatternComponentResult { + get { jsObject[Strings.password].fromJSValue()! } + set { jsObject[Strings.password] = _toJSValue(newValue) } + } + @inlinable public var hostname: URLPatternComponentResult { + get { jsObject[Strings.hostname].fromJSValue()! } + set { jsObject[Strings.hostname] = _toJSValue(newValue) } + } + @inlinable public var port: URLPatternComponentResult { + get { jsObject[Strings.port].fromJSValue()! } + set { jsObject[Strings.port] = _toJSValue(newValue) } + } + @inlinable public var pathname: URLPatternComponentResult { + get { jsObject[Strings.pathname].fromJSValue()! } + set { jsObject[Strings.pathname] = _toJSValue(newValue) } + } + @inlinable public var search: URLPatternComponentResult { + get { jsObject[Strings.search].fromJSValue()! } + set { jsObject[Strings.search] = _toJSValue(newValue) } + } + @inlinable public var hash: URLPatternComponentResult { + get { jsObject[Strings.hash].fromJSValue()! } + set { jsObject[Strings.hash] = _toJSValue(newValue) } + } +} +open class UnderlyingSink: JSDictionaryCompatible { + public let jsObject: JSObject - @ClosureAttribute1 - public var pull: UnderlyingSourcePullCallback + public convenience init( + start: UnderlyingSinkStartCallback? = nil, + write: UnderlyingSinkWriteCallback? = nil, + close: UnderlyingSinkCloseCallback? = nil, + abort: UnderlyingSinkAbortCallback? = nil, + type: JSValue? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.start] = _toJSValue(start) + object[Strings.write] = _toJSValue(write) + object[Strings.close] = _toJSValue(close) + object[Strings.abort] = _toJSValue(abort) + object[Strings.type] = _toJSValue(type) - @ClosureAttribute1 - public var cancel: UnderlyingSourceCancelCallback + self.init(unsafelyWrapping: object) + } - @ReadWriteAttribute - public var type: ReadableStreamType + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var autoAllocateChunkSize: UInt64 + @inlinable public var start: UnderlyingSinkStartCallback { + get { + let function = jsObject[Strings.start].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.start] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var write: UnderlyingSinkWriteCallback { + get { + let function = jsObject[Strings.write].function! + return { function(_toJSValue($0), _toJSValue($1)).fromJSValue()! } + } + set { + jsObject[Strings.write] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!)) }.jsValue + } + } + @inlinable public var close: UnderlyingSinkCloseCallback { + get { + let function = jsObject[Strings.close].function! + return { function().fromJSValue()! } + } + set { jsObject[Strings.close] = JSClosure { _ in _toJSValue(newValue()) }.jsValue } + } + @inlinable public var abort: UnderlyingSinkAbortCallback { + get { + let function = jsObject[Strings.abort].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.abort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var type: JSValue { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } } +open class UnderlyingSource: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + start: UnderlyingSourceStartCallback? = nil, + pull: UnderlyingSourcePullCallback? = nil, + cancel: UnderlyingSourceCancelCallback? = nil, + type: ReadableStreamType? = nil, + autoAllocateChunkSize: UInt64? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.start] = _toJSValue(start) + object[Strings.pull] = _toJSValue(pull) + object[Strings.cancel] = _toJSValue(cancel) + object[Strings.type] = _toJSValue(type) + object[Strings.autoAllocateChunkSize] = _toJSValue(autoAllocateChunkSize) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + @inlinable public var start: UnderlyingSourceStartCallback { + get { + let function = jsObject[Strings.start].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.start] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var pull: UnderlyingSourcePullCallback { + get { + let function = jsObject[Strings.pull].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.pull] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var cancel: UnderlyingSourceCancelCallback { + get { + let function = jsObject[Strings.cancel].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.cancel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var type: ReadableStreamType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var autoAllocateChunkSize: UInt64 { + get { jsObject[Strings.autoAllocateChunkSize].fromJSValue()! } + set { jsObject[Strings.autoAllocateChunkSize] = _toJSValue(newValue) } + } +} public class UserActivation: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.UserActivation].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _hasBeenActive = ReadonlyAttribute(jsObject: jsObject, name: Strings.hasBeenActive) - _isActive = ReadonlyAttribute(jsObject: jsObject, name: Strings.isActive) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var hasBeenActive: Bool + @inlinable public var hasBeenActive: Bool { jsObject[Strings.hasBeenActive].fromJSValue()! } - @ReadonlyAttribute - public var isActive: Bool + @inlinable public var isActive: Bool { jsObject[Strings.isActive].fromJSValue()! } } public class ValidityState: JSBridgedClass { @@ -16819,57 +18286,46 @@ public class ValidityState: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _valueMissing = ReadonlyAttribute(jsObject: jsObject, name: Strings.valueMissing) - _typeMismatch = ReadonlyAttribute(jsObject: jsObject, name: Strings.typeMismatch) - _patternMismatch = ReadonlyAttribute(jsObject: jsObject, name: Strings.patternMismatch) - _tooLong = ReadonlyAttribute(jsObject: jsObject, name: Strings.tooLong) - _tooShort = ReadonlyAttribute(jsObject: jsObject, name: Strings.tooShort) - _rangeUnderflow = ReadonlyAttribute(jsObject: jsObject, name: Strings.rangeUnderflow) - _rangeOverflow = ReadonlyAttribute(jsObject: jsObject, name: Strings.rangeOverflow) - _stepMismatch = ReadonlyAttribute(jsObject: jsObject, name: Strings.stepMismatch) - _badInput = ReadonlyAttribute(jsObject: jsObject, name: Strings.badInput) - _customError = ReadonlyAttribute(jsObject: jsObject, name: Strings.customError) - _valid = ReadonlyAttribute(jsObject: jsObject, name: Strings.valid) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var valueMissing: Bool + @inlinable public var valueMissing: Bool { jsObject[Strings.valueMissing].fromJSValue()! } - @ReadonlyAttribute - public var typeMismatch: Bool + @inlinable public var typeMismatch: Bool { jsObject[Strings.typeMismatch].fromJSValue()! } - @ReadonlyAttribute - public var patternMismatch: Bool + @inlinable public var patternMismatch: Bool { jsObject[Strings.patternMismatch].fromJSValue()! } - @ReadonlyAttribute - public var tooLong: Bool + @inlinable public var tooLong: Bool { jsObject[Strings.tooLong].fromJSValue()! } - @ReadonlyAttribute - public var tooShort: Bool + @inlinable public var tooShort: Bool { jsObject[Strings.tooShort].fromJSValue()! } - @ReadonlyAttribute - public var rangeUnderflow: Bool + @inlinable public var rangeUnderflow: Bool { jsObject[Strings.rangeUnderflow].fromJSValue()! } - @ReadonlyAttribute - public var rangeOverflow: Bool + @inlinable public var rangeOverflow: Bool { jsObject[Strings.rangeOverflow].fromJSValue()! } - @ReadonlyAttribute - public var stepMismatch: Bool + @inlinable public var stepMismatch: Bool { jsObject[Strings.stepMismatch].fromJSValue()! } - @ReadonlyAttribute - public var badInput: Bool + @inlinable public var badInput: Bool { jsObject[Strings.badInput].fromJSValue()! } - @ReadonlyAttribute - public var customError: Bool + @inlinable public var customError: Bool { jsObject[Strings.customError].fromJSValue()! } - @ReadonlyAttribute - public var valid: Bool + @inlinable public var valid: Bool { jsObject[Strings.valid].fromJSValue()! } } -public class ValidityStateFlags: BridgedDictionary { - public convenience init(valueMissing: Bool, typeMismatch: Bool, patternMismatch: Bool, tooLong: Bool, tooShort: Bool, rangeUnderflow: Bool, rangeOverflow: Bool, stepMismatch: Bool, badInput: Bool, customError: Bool) { +open class ValidityStateFlags: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + valueMissing: Bool? = nil, + typeMismatch: Bool? = nil, + patternMismatch: Bool? = nil, + tooLong: Bool? = nil, + tooShort: Bool? = nil, + rangeUnderflow: Bool? = nil, + rangeOverflow: Bool? = nil, + stepMismatch: Bool? = nil, + badInput: Bool? = nil, + customError: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.valueMissing] = _toJSValue(valueMissing) object[Strings.typeMismatch] = _toJSValue(typeMismatch) @@ -16881,54 +18337,53 @@ public class ValidityStateFlags: BridgedDictionary { object[Strings.stepMismatch] = _toJSValue(stepMismatch) object[Strings.badInput] = _toJSValue(badInput) object[Strings.customError] = _toJSValue(customError) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _valueMissing = ReadWriteAttribute(jsObject: object, name: Strings.valueMissing) - _typeMismatch = ReadWriteAttribute(jsObject: object, name: Strings.typeMismatch) - _patternMismatch = ReadWriteAttribute(jsObject: object, name: Strings.patternMismatch) - _tooLong = ReadWriteAttribute(jsObject: object, name: Strings.tooLong) - _tooShort = ReadWriteAttribute(jsObject: object, name: Strings.tooShort) - _rangeUnderflow = ReadWriteAttribute(jsObject: object, name: Strings.rangeUnderflow) - _rangeOverflow = ReadWriteAttribute(jsObject: object, name: Strings.rangeOverflow) - _stepMismatch = ReadWriteAttribute(jsObject: object, name: Strings.stepMismatch) - _badInput = ReadWriteAttribute(jsObject: object, name: Strings.badInput) - _customError = ReadWriteAttribute(jsObject: object, name: Strings.customError) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var valueMissing: Bool - - @ReadWriteAttribute - public var typeMismatch: Bool - - @ReadWriteAttribute - public var patternMismatch: Bool - - @ReadWriteAttribute - public var tooLong: Bool - - @ReadWriteAttribute - public var tooShort: Bool - - @ReadWriteAttribute - public var rangeUnderflow: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var rangeOverflow: Bool - - @ReadWriteAttribute - public var stepMismatch: Bool - - @ReadWriteAttribute - public var badInput: Bool - - @ReadWriteAttribute - public var customError: Bool + @inlinable public var valueMissing: Bool { + get { jsObject[Strings.valueMissing].fromJSValue()! } + set { jsObject[Strings.valueMissing] = _toJSValue(newValue) } + } + @inlinable public var typeMismatch: Bool { + get { jsObject[Strings.typeMismatch].fromJSValue()! } + set { jsObject[Strings.typeMismatch] = _toJSValue(newValue) } + } + @inlinable public var patternMismatch: Bool { + get { jsObject[Strings.patternMismatch].fromJSValue()! } + set { jsObject[Strings.patternMismatch] = _toJSValue(newValue) } + } + @inlinable public var tooLong: Bool { + get { jsObject[Strings.tooLong].fromJSValue()! } + set { jsObject[Strings.tooLong] = _toJSValue(newValue) } + } + @inlinable public var tooShort: Bool { + get { jsObject[Strings.tooShort].fromJSValue()! } + set { jsObject[Strings.tooShort] = _toJSValue(newValue) } + } + @inlinable public var rangeUnderflow: Bool { + get { jsObject[Strings.rangeUnderflow].fromJSValue()! } + set { jsObject[Strings.rangeUnderflow] = _toJSValue(newValue) } + } + @inlinable public var rangeOverflow: Bool { + get { jsObject[Strings.rangeOverflow].fromJSValue()! } + set { jsObject[Strings.rangeOverflow] = _toJSValue(newValue) } + } + @inlinable public var stepMismatch: Bool { + get { jsObject[Strings.stepMismatch].fromJSValue()! } + set { jsObject[Strings.stepMismatch] = _toJSValue(newValue) } + } + @inlinable public var badInput: Bool { + get { jsObject[Strings.badInput].fromJSValue()! } + set { jsObject[Strings.badInput] = _toJSValue(newValue) } + } + @inlinable public var customError: Bool { + get { jsObject[Strings.customError].fromJSValue()! } + set { jsObject[Strings.customError] = _toJSValue(newValue) } + } } - public enum VideoColorPrimaries: JSString, JSValueCompatible { case bt709 = "bt709" case bt470bg = "bt470bg" @@ -16937,136 +18392,134 @@ public enum VideoColorPrimaries: JSString, JSValueCompatible { case smpte432 = "smpte432" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class VideoColorSpace: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.VideoColorSpace].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _primaries = ReadonlyAttribute(jsObject: jsObject, name: Strings.primaries) - _transfer = ReadonlyAttribute(jsObject: jsObject, name: Strings.transfer) - _matrix = ReadonlyAttribute(jsObject: jsObject, name: Strings.matrix) - _fullRange = ReadonlyAttribute(jsObject: jsObject, name: Strings.fullRange) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: VideoColorSpaceInit? = nil) { + @inlinable public convenience init(`init`: VideoColorSpaceInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var primaries: VideoColorPrimaries? + @inlinable public var primaries: VideoColorPrimaries? { jsObject[Strings.primaries].fromJSValue() } - @ReadonlyAttribute - public var transfer: VideoTransferCharacteristics? + @inlinable public var transfer: VideoTransferCharacteristics? { jsObject[Strings.transfer].fromJSValue() } - @ReadonlyAttribute - public var matrix: VideoMatrixCoefficients? + @inlinable public var matrix: VideoMatrixCoefficients? { jsObject[Strings.matrix].fromJSValue() } - @ReadonlyAttribute - public var fullRange: Bool? + @inlinable public var fullRange: Bool? { jsObject[Strings.fullRange].fromJSValue() } - @inlinable public func toJSON() -> VideoColorSpaceInit { + @inlinable final public func toJSON() -> VideoColorSpaceInit { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } } -public class VideoColorSpaceInit: BridgedDictionary { - public convenience init(primaries: VideoColorPrimaries?, transfer: VideoTransferCharacteristics?, matrix: VideoMatrixCoefficients?, fullRange: Bool?) { +open class VideoColorSpaceInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + primaries: VideoColorPrimaries?, + transfer: VideoTransferCharacteristics?, + matrix: VideoMatrixCoefficients?, + fullRange: Bool? + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.primaries] = _toJSValue(primaries) object[Strings.transfer] = _toJSValue(transfer) object[Strings.matrix] = _toJSValue(matrix) object[Strings.fullRange] = _toJSValue(fullRange) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _primaries = ReadWriteAttribute(jsObject: object, name: Strings.primaries) - _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) - _matrix = ReadWriteAttribute(jsObject: object, name: Strings.matrix) - _fullRange = ReadWriteAttribute(jsObject: object, name: Strings.fullRange) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var primaries: VideoColorPrimaries? - - @ReadWriteAttribute - public var transfer: VideoTransferCharacteristics? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var matrix: VideoMatrixCoefficients? - - @ReadWriteAttribute - public var fullRange: Bool? + @inlinable public var primaries: VideoColorPrimaries? { + get { jsObject[Strings.primaries].fromJSValue() } + set { jsObject[Strings.primaries] = _toJSValue(newValue) } + } + @inlinable public var transfer: VideoTransferCharacteristics? { + get { jsObject[Strings.transfer].fromJSValue() } + set { jsObject[Strings.transfer] = _toJSValue(newValue) } + } + @inlinable public var matrix: VideoMatrixCoefficients? { + get { jsObject[Strings.matrix].fromJSValue() } + set { jsObject[Strings.matrix] = _toJSValue(newValue) } + } + @inlinable public var fullRange: Bool? { + get { jsObject[Strings.fullRange].fromJSValue() } + set { jsObject[Strings.fullRange] = _toJSValue(newValue) } + } } - public class VideoDecoder: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VideoDecoder].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.VideoDecoder].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _decodeQueueSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.decodeQueueSize) - _ondequeue = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondequeue) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(init: VideoDecoderInit) { + @inlinable public convenience init(`init`: VideoDecoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var state: CodecState + @inlinable public var state: CodecState { jsObject[Strings.state].fromJSValue()! } - @ReadonlyAttribute - public var decodeQueueSize: UInt32 + @inlinable public var decodeQueueSize: UInt32 { jsObject[Strings.decodeQueueSize].fromJSValue()! } - @ClosureAttribute1Optional - public var ondequeue: EventHandler + @inlinable public var ondequeue: EventHandler { + get { + guard let function = jsObject[Strings.ondequeue].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondequeue] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondequeue] = .null + } + } + } - @inlinable public func configure(config: VideoDecoderConfig) { + @inlinable final public func configure(config: VideoDecoderConfig) { let this = jsObject _ = this[Strings.configure].function!(this: this, arguments: [_toJSValue(config)]) } - @inlinable public func decode(chunk: EncodedVideoChunk) { + @inlinable final public func decode(chunk: EncodedVideoChunk) { let this = jsObject _ = this[Strings.decode].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable public func flush() -> JSPromise { + @inlinable final public func flush() -> JSPromise { let this = jsObject return this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func flush() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func flush() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -17076,16 +18529,34 @@ public class VideoDecoder: EventTarget { return this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public class func isConfigSupported(config: VideoDecoderConfig) async throws -> VideoDecoderSupport { - let this = constructor! - let _promise: JSPromise = this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isConfigSupported( + config: VideoDecoderConfig + ) async throws(JSException) -> VideoDecoderSupport { + let this = constructor! + let _promise: JSPromise = this[Strings.isConfigSupported].function!( + this: this, + arguments: [_toJSValue(config)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class VideoDecoderConfig: BridgedDictionary { - public convenience init(codec: String, description: AllowSharedBufferSource, codedWidth: UInt32, codedHeight: UInt32, displayAspectWidth: UInt32, displayAspectHeight: UInt32, colorSpace: VideoColorSpaceInit, hardwareAcceleration: HardwareAcceleration, optimizeForLatency: Bool) { +open class VideoDecoderConfig: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + codec: String, + description: AllowSharedBufferSource? = nil, + codedWidth: UInt32? = nil, + codedHeight: UInt32? = nil, + displayAspectWidth: UInt32? = nil, + displayAspectHeight: UInt32? = nil, + colorSpace: VideoColorSpaceInit? = nil, + hardwareAcceleration: HardwareAcceleration? = nil, + optimizeForLatency: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.codec] = _toJSValue(codec) object[Strings.description] = _toJSValue(description) @@ -17095,144 +18566,170 @@ public class VideoDecoderConfig: BridgedDictionary { object[Strings.displayAspectHeight] = _toJSValue(displayAspectHeight) object[Strings.colorSpace] = _toJSValue(colorSpace) object[Strings.hardwareAcceleration] = _toJSValue(hardwareAcceleration) - object[Strings.optimizeForLatency] = _toJSValue(optimizeForLatency) - self.init(unsafelyWrapping: object) - } - - public required init(unsafelyWrapping object: JSObject) { - _codec = ReadWriteAttribute(jsObject: object, name: Strings.codec) - _description = ReadWriteAttribute(jsObject: object, name: Strings.description) - _codedWidth = ReadWriteAttribute(jsObject: object, name: Strings.codedWidth) - _codedHeight = ReadWriteAttribute(jsObject: object, name: Strings.codedHeight) - _displayAspectWidth = ReadWriteAttribute(jsObject: object, name: Strings.displayAspectWidth) - _displayAspectHeight = ReadWriteAttribute(jsObject: object, name: Strings.displayAspectHeight) - _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) - _hardwareAcceleration = ReadWriteAttribute(jsObject: object, name: Strings.hardwareAcceleration) - _optimizeForLatency = ReadWriteAttribute(jsObject: object, name: Strings.optimizeForLatency) - super.init(unsafelyWrapping: object) - } - - @ReadWriteAttribute - public var codec: String - - @ReadWriteAttribute - public var description: AllowSharedBufferSource - - @ReadWriteAttribute - public var codedWidth: UInt32 - - @ReadWriteAttribute - public var codedHeight: UInt32 - - @ReadWriteAttribute - public var displayAspectWidth: UInt32 - - @ReadWriteAttribute - public var displayAspectHeight: UInt32 + object[Strings.optimizeForLatency] = _toJSValue(optimizeForLatency) - @ReadWriteAttribute - public var colorSpace: VideoColorSpaceInit + self.init(unsafelyWrapping: object) + } - @ReadWriteAttribute - public var hardwareAcceleration: HardwareAcceleration + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var optimizeForLatency: Bool + @inlinable public var codec: String { + get { jsObject[Strings.codec].fromJSValue()! } + set { jsObject[Strings.codec] = _toJSValue(newValue) } + } + @inlinable public var description: AllowSharedBufferSource { + get { jsObject[Strings.description].fromJSValue()! } + set { jsObject[Strings.description] = _toJSValue(newValue) } + } + @inlinable public var codedWidth: UInt32 { + get { jsObject[Strings.codedWidth].fromJSValue()! } + set { jsObject[Strings.codedWidth] = _toJSValue(newValue) } + } + @inlinable public var codedHeight: UInt32 { + get { jsObject[Strings.codedHeight].fromJSValue()! } + set { jsObject[Strings.codedHeight] = _toJSValue(newValue) } + } + @inlinable public var displayAspectWidth: UInt32 { + get { jsObject[Strings.displayAspectWidth].fromJSValue()! } + set { jsObject[Strings.displayAspectWidth] = _toJSValue(newValue) } + } + @inlinable public var displayAspectHeight: UInt32 { + get { jsObject[Strings.displayAspectHeight].fromJSValue()! } + set { jsObject[Strings.displayAspectHeight] = _toJSValue(newValue) } + } + @inlinable public var colorSpace: VideoColorSpaceInit { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } + @inlinable public var hardwareAcceleration: HardwareAcceleration { + get { jsObject[Strings.hardwareAcceleration].fromJSValue()! } + set { jsObject[Strings.hardwareAcceleration] = _toJSValue(newValue) } + } + @inlinable public var optimizeForLatency: Bool { + get { jsObject[Strings.optimizeForLatency].fromJSValue()! } + set { jsObject[Strings.optimizeForLatency] = _toJSValue(newValue) } + } } +open class VideoDecoderInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoDecoderInit: BridgedDictionary { public convenience init(output: @escaping VideoFrameOutputCallback, error: @escaping WebCodecsErrorCallback) { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute1Void[Strings.output, in: object] = output - ClosureAttribute1Void[Strings.error, in: object] = error - self.init(unsafelyWrapping: object) - } + object[Strings.output] = _toJSValue(output) + object[Strings.error] = _toJSValue(error) - public required init(unsafelyWrapping object: JSObject) { - _output = ClosureAttribute1Void(jsObject: object, name: Strings.output) - _error = ClosureAttribute1Void(jsObject: object, name: Strings.error) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ClosureAttribute1Void - public var output: VideoFrameOutputCallback + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ClosureAttribute1Void - public var error: WebCodecsErrorCallback + @inlinable public var output: VideoFrameOutputCallback { + get { + let function = jsObject[Strings.output].function! + return { function(_toJSValue($0)) } + } + set { + jsObject[Strings.output] = + JSClosure { + newValue($0[0].fromJSValue()!) + return .undefined + }.jsValue + } + } + @inlinable public var error: WebCodecsErrorCallback { + get { + let function = jsObject[Strings.error].function! + return { function(_toJSValue($0)) } + } + set { + jsObject[Strings.error] = + JSClosure { + newValue($0[0].fromJSValue()!) + return .undefined + }.jsValue + } + } } +open class VideoDecoderSupport: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoDecoderSupport: BridgedDictionary { - public convenience init(supported: Bool, config: VideoDecoderConfig) { + public convenience init(supported: Bool? = nil, config: VideoDecoderConfig? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.supported] = _toJSValue(supported) object[Strings.config] = _toJSValue(config) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _supported = ReadWriteAttribute(jsObject: object, name: Strings.supported) - _config = ReadWriteAttribute(jsObject: object, name: Strings.config) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var supported: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var config: VideoDecoderConfig + @inlinable public var supported: Bool { + get { jsObject[Strings.supported].fromJSValue()! } + set { jsObject[Strings.supported] = _toJSValue(newValue) } + } + @inlinable public var config: VideoDecoderConfig { + get { jsObject[Strings.config].fromJSValue()! } + set { jsObject[Strings.config] = _toJSValue(newValue) } + } } - public class VideoEncoder: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VideoEncoder].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.VideoEncoder].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _encodeQueueSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.encodeQueueSize) - _ondequeue = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondequeue) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(init: VideoEncoderInit) { + @inlinable public convenience init(`init`: VideoEncoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var state: CodecState + @inlinable public var state: CodecState { jsObject[Strings.state].fromJSValue()! } - @ReadonlyAttribute - public var encodeQueueSize: UInt32 + @inlinable public var encodeQueueSize: UInt32 { jsObject[Strings.encodeQueueSize].fromJSValue()! } - @ClosureAttribute1Optional - public var ondequeue: EventHandler + @inlinable public var ondequeue: EventHandler { + get { + guard let function = jsObject[Strings.ondequeue].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondequeue] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondequeue] = .null + } + } + } - @inlinable public func configure(config: VideoEncoderConfig) { + @inlinable final public func configure(config: VideoEncoderConfig) { let this = jsObject _ = this[Strings.configure].function!(this: this, arguments: [_toJSValue(config)]) } - @inlinable public func encode(frame: VideoFrame, options: VideoEncoderEncodeOptions? = nil) { + @inlinable final public func encode(frame: VideoFrame, options: VideoEncoderEncodeOptions? = nil) { let this = jsObject _ = this[Strings.encode].function!(this: this, arguments: [_toJSValue(frame), _toJSValue(options)]) } - @inlinable public func flush() -> JSPromise { + @inlinable final public func flush() -> JSPromise { let this = jsObject return this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func flush() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func flush() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -17242,12 +18739,18 @@ public class VideoEncoder: EventTarget { return this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public class func isConfigSupported(config: VideoEncoderConfig) async throws -> VideoEncoderSupport { - let this = constructor! - let _promise: JSPromise = this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isConfigSupported( + config: VideoEncoderConfig + ) async throws(JSException) -> VideoEncoderSupport { + let this = constructor! + let _promise: JSPromise = this[Strings.isConfigSupported].function!( + this: this, + arguments: [_toJSValue(config)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } public enum VideoEncoderBitrateMode: JSString, JSValueCompatible { @@ -17256,21 +18759,31 @@ public enum VideoEncoderBitrateMode: JSString, JSValueCompatible { case quantizer = "quantizer" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class VideoEncoderConfig: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoEncoderConfig: BridgedDictionary { - public convenience init(codec: String, width: UInt32, height: UInt32, displayWidth: UInt32, displayHeight: UInt32, bitrate: UInt64, framerate: Double, hardwareAcceleration: HardwareAcceleration, alpha: AlphaOption, scalabilityMode: String, bitrateMode: VideoEncoderBitrateMode, latencyMode: LatencyMode) { + public convenience init( + codec: String, + width: UInt32, + height: UInt32, + displayWidth: UInt32? = nil, + displayHeight: UInt32? = nil, + bitrate: UInt64? = nil, + framerate: Double? = nil, + hardwareAcceleration: HardwareAcceleration? = nil, + alpha: AlphaOption? = nil, + scalabilityMode: String? = nil, + bitrateMode: VideoEncoderBitrateMode? = nil, + latencyMode: LatencyMode? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.codec] = _toJSValue(codec) object[Strings.width] = _toJSValue(width) @@ -17284,120 +18797,141 @@ public class VideoEncoderConfig: BridgedDictionary { object[Strings.scalabilityMode] = _toJSValue(scalabilityMode) object[Strings.bitrateMode] = _toJSValue(bitrateMode) object[Strings.latencyMode] = _toJSValue(latencyMode) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _codec = ReadWriteAttribute(jsObject: object, name: Strings.codec) - _width = ReadWriteAttribute(jsObject: object, name: Strings.width) - _height = ReadWriteAttribute(jsObject: object, name: Strings.height) - _displayWidth = ReadWriteAttribute(jsObject: object, name: Strings.displayWidth) - _displayHeight = ReadWriteAttribute(jsObject: object, name: Strings.displayHeight) - _bitrate = ReadWriteAttribute(jsObject: object, name: Strings.bitrate) - _framerate = ReadWriteAttribute(jsObject: object, name: Strings.framerate) - _hardwareAcceleration = ReadWriteAttribute(jsObject: object, name: Strings.hardwareAcceleration) - _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) - _scalabilityMode = ReadWriteAttribute(jsObject: object, name: Strings.scalabilityMode) - _bitrateMode = ReadWriteAttribute(jsObject: object, name: Strings.bitrateMode) - _latencyMode = ReadWriteAttribute(jsObject: object, name: Strings.latencyMode) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var codec: String - - @ReadWriteAttribute - public var width: UInt32 - - @ReadWriteAttribute - public var height: UInt32 - - @ReadWriteAttribute - public var displayWidth: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var displayHeight: UInt32 - - @ReadWriteAttribute - public var bitrate: UInt64 - - @ReadWriteAttribute - public var framerate: Double - - @ReadWriteAttribute - public var hardwareAcceleration: HardwareAcceleration - - @ReadWriteAttribute - public var alpha: AlphaOption - - @ReadWriteAttribute - public var scalabilityMode: String - - @ReadWriteAttribute - public var bitrateMode: VideoEncoderBitrateMode - - @ReadWriteAttribute - public var latencyMode: LatencyMode + @inlinable public var codec: String { + get { jsObject[Strings.codec].fromJSValue()! } + set { jsObject[Strings.codec] = _toJSValue(newValue) } + } + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } + @inlinable public var displayWidth: UInt32 { + get { jsObject[Strings.displayWidth].fromJSValue()! } + set { jsObject[Strings.displayWidth] = _toJSValue(newValue) } + } + @inlinable public var displayHeight: UInt32 { + get { jsObject[Strings.displayHeight].fromJSValue()! } + set { jsObject[Strings.displayHeight] = _toJSValue(newValue) } + } + @inlinable public var bitrate: UInt64 { + get { jsObject[Strings.bitrate].fromJSValue()! } + set { jsObject[Strings.bitrate] = _toJSValue(newValue) } + } + @inlinable public var framerate: Double { + get { jsObject[Strings.framerate].fromJSValue()! } + set { jsObject[Strings.framerate] = _toJSValue(newValue) } + } + @inlinable public var hardwareAcceleration: HardwareAcceleration { + get { jsObject[Strings.hardwareAcceleration].fromJSValue()! } + set { jsObject[Strings.hardwareAcceleration] = _toJSValue(newValue) } + } + @inlinable public var alpha: AlphaOption { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } + @inlinable public var scalabilityMode: String { + get { jsObject[Strings.scalabilityMode].fromJSValue()! } + set { jsObject[Strings.scalabilityMode] = _toJSValue(newValue) } + } + @inlinable public var bitrateMode: VideoEncoderBitrateMode { + get { jsObject[Strings.bitrateMode].fromJSValue()! } + set { jsObject[Strings.bitrateMode] = _toJSValue(newValue) } + } + @inlinable public var latencyMode: LatencyMode { + get { jsObject[Strings.latencyMode].fromJSValue()! } + set { jsObject[Strings.latencyMode] = _toJSValue(newValue) } + } } +open class VideoEncoderEncodeOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoEncoderEncodeOptions: BridgedDictionary { - public convenience init(keyFrame: Bool) { + public convenience init(keyFrame: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.keyFrame] = _toJSValue(keyFrame) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _keyFrame = ReadWriteAttribute(jsObject: object, name: Strings.keyFrame) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var keyFrame: Bool + @inlinable public var keyFrame: Bool { + get { jsObject[Strings.keyFrame].fromJSValue()! } + set { jsObject[Strings.keyFrame] = _toJSValue(newValue) } + } } +open class VideoEncoderInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoEncoderInit: BridgedDictionary { - public convenience init(output: @escaping EncodedVideoChunkOutputCallback, error: @escaping WebCodecsErrorCallback) { + public convenience init(output: @escaping EncodedVideoChunkOutputCallback, error: @escaping WebCodecsErrorCallback) + { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute2Void[Strings.output, in: object] = output - ClosureAttribute1Void[Strings.error, in: object] = error - self.init(unsafelyWrapping: object) - } + object[Strings.output] = _toJSValue(output) + object[Strings.error] = _toJSValue(error) - public required init(unsafelyWrapping object: JSObject) { - _output = ClosureAttribute2Void(jsObject: object, name: Strings.output) - _error = ClosureAttribute1Void(jsObject: object, name: Strings.error) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ClosureAttribute2Void - public var output: EncodedVideoChunkOutputCallback + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ClosureAttribute1Void - public var error: WebCodecsErrorCallback + @inlinable public var output: EncodedVideoChunkOutputCallback { + get { + let function = jsObject[Strings.output].function! + return { function(_toJSValue($0), _toJSValue($1)) } + } + set { + jsObject[Strings.output] = + JSClosure { + newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!) + return .undefined + }.jsValue + } + } + @inlinable public var error: WebCodecsErrorCallback { + get { + let function = jsObject[Strings.error].function! + return { function(_toJSValue($0)) } + } + set { + jsObject[Strings.error] = + JSClosure { + newValue($0[0].fromJSValue()!) + return .undefined + }.jsValue + } + } } +open class VideoEncoderSupport: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoEncoderSupport: BridgedDictionary { - public convenience init(supported: Bool, config: VideoEncoderConfig) { + public convenience init(supported: Bool? = nil, config: VideoEncoderConfig? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.supported] = _toJSValue(supported) object[Strings.config] = _toJSValue(config) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _supported = ReadWriteAttribute(jsObject: object, name: Strings.supported) - _config = ReadWriteAttribute(jsObject: object, name: Strings.config) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var supported: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var config: VideoEncoderConfig + @inlinable public var supported: Bool { + get { jsObject[Strings.supported].fromJSValue()! } + set { jsObject[Strings.supported] = _toJSValue(newValue) } + } + @inlinable public var config: VideoEncoderConfig { + get { jsObject[Strings.config].fromJSValue()! } + set { jsObject[Strings.config] = _toJSValue(newValue) } + } } - public enum VideoFacingModeEnum: JSString, JSValueCompatible { case user = "user" case environment = "environment" @@ -17405,111 +18939,109 @@ public enum VideoFacingModeEnum: JSString, JSValueCompatible { case right = "right" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class VideoFrame: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.VideoFrame].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _format = ReadonlyAttribute(jsObject: jsObject, name: Strings.format) - _codedWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.codedWidth) - _codedHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.codedHeight) - _codedRect = ReadonlyAttribute(jsObject: jsObject, name: Strings.codedRect) - _visibleRect = ReadonlyAttribute(jsObject: jsObject, name: Strings.visibleRect) - _displayWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.displayWidth) - _displayHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.displayHeight) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) - _colorSpace = ReadonlyAttribute(jsObject: jsObject, name: Strings.colorSpace) - self.jsObject = jsObject - } - - @inlinable public convenience init(image: CanvasImageSource, init: VideoFrameInit? = nil) { + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public convenience init(image: CanvasImageSource, `init`: VideoFrameInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(image), _toJSValue(`init`)])) } - @inlinable public convenience init(data: AllowSharedBufferSource, init: VideoFrameBufferInit) { + @inlinable public convenience init(data: AllowSharedBufferSource, `init`: VideoFrameBufferInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(data), _toJSValue(`init`)])) } - @ReadonlyAttribute - public var format: VideoPixelFormat? + @inlinable public var format: VideoPixelFormat? { jsObject[Strings.format].fromJSValue() } - @ReadonlyAttribute - public var codedWidth: UInt32 + @inlinable public var codedWidth: UInt32 { jsObject[Strings.codedWidth].fromJSValue()! } - @ReadonlyAttribute - public var codedHeight: UInt32 + @inlinable public var codedHeight: UInt32 { jsObject[Strings.codedHeight].fromJSValue()! } - @ReadonlyAttribute - public var codedRect: DOMRectReadOnly? + @inlinable public var codedRect: DOMRectReadOnly? { jsObject[Strings.codedRect].fromJSValue() } - @ReadonlyAttribute - public var visibleRect: DOMRectReadOnly? + @inlinable public var visibleRect: DOMRectReadOnly? { jsObject[Strings.visibleRect].fromJSValue() } - @ReadonlyAttribute - public var displayWidth: UInt32 + @inlinable public var displayWidth: UInt32 { jsObject[Strings.displayWidth].fromJSValue()! } - @ReadonlyAttribute - public var displayHeight: UInt32 + @inlinable public var displayHeight: UInt32 { jsObject[Strings.displayHeight].fromJSValue()! } - @ReadonlyAttribute - public var duration: UInt64? + @inlinable public var duration: UInt64? { jsObject[Strings.duration].fromJSValue() } - @ReadonlyAttribute - public var timestamp: Int64 + @inlinable public var timestamp: Int64 { jsObject[Strings.timestamp].fromJSValue()! } - @ReadonlyAttribute - public var colorSpace: VideoColorSpace + @inlinable public var colorSpace: VideoColorSpace { jsObject[Strings.colorSpace].fromJSValue()! } - @inlinable public func metadata() -> VideoFrameMetadata { + @inlinable final public func metadata() -> VideoFrameMetadata { let this = jsObject return this[Strings.metadata].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func allocationSize(options: VideoFrameCopyToOptions? = nil) -> UInt32 { + @inlinable final public func allocationSize(options: VideoFrameCopyToOptions? = nil) -> UInt32 { let this = jsObject return this[Strings.allocationSize].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func copyTo(destination: AllowSharedBufferSource, options: VideoFrameCopyToOptions? = nil) -> JSPromise { + @inlinable final public func copyTo( + destination: AllowSharedBufferSource, + options: VideoFrameCopyToOptions? = nil + ) -> JSPromise { let this = jsObject - return this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]).fromJSValue()! + return this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func copyTo(destination: AllowSharedBufferSource, options: VideoFrameCopyToOptions? = nil) async throws -> [PlaneLayout] { - let this = jsObject - let _promise: JSPromise = this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func copyTo( + destination: AllowSharedBufferSource, + options: VideoFrameCopyToOptions? = nil + ) async throws(JSException) -> [PlaneLayout] { + let this = jsObject + let _promise: JSPromise = this[Strings.copyTo].function!( + this: this, + arguments: [_toJSValue(destination), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func clone() -> Self { + @inlinable final public func clone() -> VideoFrame { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } } -public class VideoFrameBufferInit: BridgedDictionary { - public convenience init(format: VideoPixelFormat, codedWidth: UInt32, codedHeight: UInt32, timestamp: Int64, duration: UInt64, layout: [PlaneLayout], visibleRect: DOMRectInit, displayWidth: UInt32, displayHeight: UInt32, colorSpace: VideoColorSpaceInit, transfer: [ArrayBuffer]) { +open class VideoFrameBufferInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + format: VideoPixelFormat, + codedWidth: UInt32, + codedHeight: UInt32, + timestamp: Int64, + duration: UInt64? = nil, + layout: [PlaneLayout]? = nil, + visibleRect: DOMRectInit? = nil, + displayWidth: UInt32? = nil, + displayHeight: UInt32? = nil, + colorSpace: VideoColorSpaceInit? = nil, + transfer: [ArrayBuffer]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.format] = _toJSValue(format) object[Strings.codedWidth] = _toJSValue(codedWidth) @@ -17522,81 +19054,91 @@ public class VideoFrameBufferInit: BridgedDictionary { object[Strings.displayHeight] = _toJSValue(displayHeight) object[Strings.colorSpace] = _toJSValue(colorSpace) object[Strings.transfer] = _toJSValue(transfer) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _format = ReadWriteAttribute(jsObject: object, name: Strings.format) - _codedWidth = ReadWriteAttribute(jsObject: object, name: Strings.codedWidth) - _codedHeight = ReadWriteAttribute(jsObject: object, name: Strings.codedHeight) - _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) - _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) - _layout = ReadWriteAttribute(jsObject: object, name: Strings.layout) - _visibleRect = ReadWriteAttribute(jsObject: object, name: Strings.visibleRect) - _displayWidth = ReadWriteAttribute(jsObject: object, name: Strings.displayWidth) - _displayHeight = ReadWriteAttribute(jsObject: object, name: Strings.displayHeight) - _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) - _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var format: VideoPixelFormat - - @ReadWriteAttribute - public var codedWidth: UInt32 - - @ReadWriteAttribute - public var codedHeight: UInt32 - - @ReadWriteAttribute - public var timestamp: Int64 - - @ReadWriteAttribute - public var duration: UInt64 - - @ReadWriteAttribute - public var layout: [PlaneLayout] - - @ReadWriteAttribute - public var visibleRect: DOMRectInit - - @ReadWriteAttribute - public var displayWidth: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var displayHeight: UInt32 - - @ReadWriteAttribute - public var colorSpace: VideoColorSpaceInit - - @ReadWriteAttribute - public var transfer: [ArrayBuffer] + @inlinable public var format: VideoPixelFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } + @inlinable public var codedWidth: UInt32 { + get { jsObject[Strings.codedWidth].fromJSValue()! } + set { jsObject[Strings.codedWidth] = _toJSValue(newValue) } + } + @inlinable public var codedHeight: UInt32 { + get { jsObject[Strings.codedHeight].fromJSValue()! } + set { jsObject[Strings.codedHeight] = _toJSValue(newValue) } + } + @inlinable public var timestamp: Int64 { + get { jsObject[Strings.timestamp].fromJSValue()! } + set { jsObject[Strings.timestamp] = _toJSValue(newValue) } + } + @inlinable public var duration: UInt64 { + get { jsObject[Strings.duration].fromJSValue()! } + set { jsObject[Strings.duration] = _toJSValue(newValue) } + } + @inlinable public var layout: [PlaneLayout] { + get { jsObject[Strings.layout].fromJSValue()! } + set { jsObject[Strings.layout] = _toJSValue(newValue) } + } + @inlinable public var visibleRect: DOMRectInit { + get { jsObject[Strings.visibleRect].fromJSValue()! } + set { jsObject[Strings.visibleRect] = _toJSValue(newValue) } + } + @inlinable public var displayWidth: UInt32 { + get { jsObject[Strings.displayWidth].fromJSValue()! } + set { jsObject[Strings.displayWidth] = _toJSValue(newValue) } + } + @inlinable public var displayHeight: UInt32 { + get { jsObject[Strings.displayHeight].fromJSValue()! } + set { jsObject[Strings.displayHeight] = _toJSValue(newValue) } + } + @inlinable public var colorSpace: VideoColorSpaceInit { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } + @inlinable public var transfer: [ArrayBuffer] { + get { jsObject[Strings.transfer].fromJSValue()! } + set { jsObject[Strings.transfer] = _toJSValue(newValue) } + } } +open class VideoFrameCopyToOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoFrameCopyToOptions: BridgedDictionary { - public convenience init(rect: DOMRectInit, layout: [PlaneLayout]) { + public convenience init(rect: DOMRectInit? = nil, layout: [PlaneLayout]? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.rect] = _toJSValue(rect) object[Strings.layout] = _toJSValue(layout) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _rect = ReadWriteAttribute(jsObject: object, name: Strings.rect) - _layout = ReadWriteAttribute(jsObject: object, name: Strings.layout) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var rect: DOMRectInit + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var layout: [PlaneLayout] + @inlinable public var rect: DOMRectInit { + get { jsObject[Strings.rect].fromJSValue()! } + set { jsObject[Strings.rect] = _toJSValue(newValue) } + } + @inlinable public var layout: [PlaneLayout] { + get { jsObject[Strings.layout].fromJSValue()! } + set { jsObject[Strings.layout] = _toJSValue(newValue) } + } } +open class VideoFrameInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoFrameInit: BridgedDictionary { - public convenience init(duration: UInt64, timestamp: Int64, alpha: AlphaOption, visibleRect: DOMRectInit, displayWidth: UInt32, displayHeight: UInt32, metadata: VideoFrameMetadata) { + public convenience init( + duration: UInt64? = nil, + timestamp: Int64? = nil, + alpha: AlphaOption? = nil, + visibleRect: DOMRectInit? = nil, + displayWidth: UInt32? = nil, + displayHeight: UInt32? = nil, + metadata: VideoFrameMetadata? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.duration] = _toJSValue(duration) object[Strings.timestamp] = _toJSValue(timestamp) @@ -17605,54 +19147,53 @@ public class VideoFrameInit: BridgedDictionary { object[Strings.displayWidth] = _toJSValue(displayWidth) object[Strings.displayHeight] = _toJSValue(displayHeight) object[Strings.metadata] = _toJSValue(metadata) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) - _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) - _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) - _visibleRect = ReadWriteAttribute(jsObject: object, name: Strings.visibleRect) - _displayWidth = ReadWriteAttribute(jsObject: object, name: Strings.displayWidth) - _displayHeight = ReadWriteAttribute(jsObject: object, name: Strings.displayHeight) - _metadata = ReadWriteAttribute(jsObject: object, name: Strings.metadata) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var duration: UInt64 - - @ReadWriteAttribute - public var timestamp: Int64 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var alpha: AlphaOption - - @ReadWriteAttribute - public var visibleRect: DOMRectInit - - @ReadWriteAttribute - public var displayWidth: UInt32 - - @ReadWriteAttribute - public var displayHeight: UInt32 - - @ReadWriteAttribute - public var metadata: VideoFrameMetadata + @inlinable public var duration: UInt64 { + get { jsObject[Strings.duration].fromJSValue()! } + set { jsObject[Strings.duration] = _toJSValue(newValue) } + } + @inlinable public var timestamp: Int64 { + get { jsObject[Strings.timestamp].fromJSValue()! } + set { jsObject[Strings.timestamp] = _toJSValue(newValue) } + } + @inlinable public var alpha: AlphaOption { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } + @inlinable public var visibleRect: DOMRectInit { + get { jsObject[Strings.visibleRect].fromJSValue()! } + set { jsObject[Strings.visibleRect] = _toJSValue(newValue) } + } + @inlinable public var displayWidth: UInt32 { + get { jsObject[Strings.displayWidth].fromJSValue()! } + set { jsObject[Strings.displayWidth] = _toJSValue(newValue) } + } + @inlinable public var displayHeight: UInt32 { + get { jsObject[Strings.displayHeight].fromJSValue()! } + set { jsObject[Strings.displayHeight] = _toJSValue(newValue) } + } + @inlinable public var metadata: VideoFrameMetadata { + get { jsObject[Strings.metadata].fromJSValue()! } + set { jsObject[Strings.metadata] = _toJSValue(newValue) } + } } +open class VideoFrameMetadata: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoFrameMetadata: BridgedDictionary { public convenience init() { let object = JSObject.global[Strings.Object].function!.new() self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - super.init(unsafelyWrapping: object) - } -} + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } +} public enum VideoMatrixCoefficients: JSString, JSValueCompatible { case rgb = "rgb" case bt709 = "bt709" @@ -17661,19 +19202,14 @@ public enum VideoMatrixCoefficients: JSString, JSValueCompatible { case bt2020Ncl = "bt2020-ncl" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum VideoPixelFormat: JSString, JSValueCompatible { case i420 = "I420" case i420A = "I420A" @@ -17686,106 +19222,107 @@ public enum VideoPixelFormat: JSString, JSValueCompatible { case bGRX = "BGRX" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum VideoResizeModeEnum: JSString, JSValueCompatible { case none = "none" case cropAndScale = "crop-and-scale" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class VideoTrack: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.VideoTrack].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) - _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) - _language = ReadonlyAttribute(jsObject: jsObject, name: Strings.language) - _selected = ReadWriteAttribute(jsObject: jsObject, name: Strings.selected) - _sourceBuffer = ReadonlyAttribute(jsObject: jsObject, name: Strings.sourceBuffer) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var kind: String + @inlinable public var kind: String { jsObject[Strings.kind].fromJSValue()! } - @ReadonlyAttribute - public var label: String + @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } - @ReadonlyAttribute - public var language: String + @inlinable public var language: String { jsObject[Strings.language].fromJSValue()! } - @ReadWriteAttribute - public var selected: Bool + @inlinable public var selected: Bool { + get { jsObject[Strings.selected].fromJSValue()! } + set { jsObject[Strings.selected] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var sourceBuffer: SourceBuffer? + @inlinable public var sourceBuffer: SourceBuffer? { jsObject[Strings.sourceBuffer].fromJSValue() } } public class VideoTrackList: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VideoTrackList].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.VideoTrackList].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _selectedIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.selectedIndex) - _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) - _onaddtrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddtrack) - _onremovetrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovetrack) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> VideoTrack { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> VideoTrack { jsObject[key].fromJSValue()! } - @inlinable public func getTrackById(id: String) -> VideoTrack? { + @inlinable final public func getTrackById(id: String) -> VideoTrack? { let this = jsObject return this[Strings.getTrackById].function!(this: this, arguments: [_toJSValue(id)]).fromJSValue() } - @ReadonlyAttribute - public var selectedIndex: Int32 + @inlinable public var selectedIndex: Int32 { jsObject[Strings.selectedIndex].fromJSValue()! } - @ClosureAttribute1Optional - public var onchange: EventHandler + @inlinable public var onchange: EventHandler { + get { + guard let function = jsObject[Strings.onchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onchange] = .null + } + } + } - @ClosureAttribute1Optional - public var onaddtrack: EventHandler + @inlinable public var onaddtrack: EventHandler { + get { + guard let function = jsObject[Strings.onaddtrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onaddtrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onaddtrack] = .null + } + } + } - @ClosureAttribute1Optional - public var onremovetrack: EventHandler + @inlinable public var onremovetrack: EventHandler { + get { + guard let function = jsObject[Strings.onremovetrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onremovetrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onremovetrack] = .null + } + } + } } public enum VideoTransferCharacteristics: JSString, JSValueCompatible { @@ -17797,100 +19334,108 @@ public enum VideoTransferCharacteristics: JSString, JSValueCompatible { case hlg = "hlg" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +public class ViewTransition: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ViewTransition].function } -public class VisibilityStateEntry: PerformanceEntry { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VisibilityStateEntry].function } + public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _entryType = ReadonlyAttribute(jsObject: jsObject, name: Strings.entryType) - _startTime = ReadonlyAttribute(jsObject: jsObject, name: Strings.startTime) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @usableFromInline let _name: ReadonlyAttribute - @inlinable override public var name: String { _name.wrappedValue } + @inlinable public var updateCallbackDone: JSPromise { jsObject[Strings.updateCallbackDone].fromJSValue()! } - @usableFromInline let _entryType: ReadonlyAttribute - @inlinable override public var entryType: String { _entryType.wrappedValue } + @inlinable public var ready: JSPromise { jsObject[Strings.ready].fromJSValue()! } - @usableFromInline let _startTime: ReadonlyAttribute - @inlinable override public var startTime: DOMHighResTimeStamp { _startTime.wrappedValue } + @inlinable public var finished: JSPromise { jsObject[Strings.finished].fromJSValue()! } + + @inlinable final public func skipTransition() { + let this = jsObject + _ = this[Strings.skipTransition].function!(this: this, arguments: []) + } +} + +public class VisibilityStateEntry: PerformanceEntry { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.VisibilityStateEntry].function + } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - // XXX: override of property `duration` removed because the type here is UInt32 but the - // type in the superclass is DOMHighResTimestamp (Double). } public class VisualViewport: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VisualViewport].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.VisualViewport].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _offsetLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetLeft) - _offsetTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetTop) - _pageLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageLeft) - _pageTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageTop) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _scale = ReadonlyAttribute(jsObject: jsObject, name: Strings.scale) - _onresize = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onresize) - _onscroll = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onscroll) - _onscrollend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onscrollend) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var offsetLeft: Double + @inlinable public var offsetLeft: Double { jsObject[Strings.offsetLeft].fromJSValue()! } - @ReadonlyAttribute - public var offsetTop: Double + @inlinable public var offsetTop: Double { jsObject[Strings.offsetTop].fromJSValue()! } - @ReadonlyAttribute - public var pageLeft: Double + @inlinable public var pageLeft: Double { jsObject[Strings.pageLeft].fromJSValue()! } - @ReadonlyAttribute - public var pageTop: Double + @inlinable public var pageTop: Double { jsObject[Strings.pageTop].fromJSValue()! } - @ReadonlyAttribute - public var width: Double + @inlinable public var width: Double { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: Double + @inlinable public var height: Double { jsObject[Strings.height].fromJSValue()! } - @ReadonlyAttribute - public var scale: Double + @inlinable public var scale: Double { jsObject[Strings.scale].fromJSValue()! } - @ClosureAttribute1Optional - public var onresize: EventHandler + @inlinable public var onresize: EventHandler { + get { + guard let function = jsObject[Strings.onresize].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onresize] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onresize] = .null + } + } + } - @ClosureAttribute1Optional - public var onscroll: EventHandler + @inlinable public var onscroll: EventHandler { + get { + guard let function = jsObject[Strings.onscroll].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onscroll] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onscroll] = .null + } + } + } - @ClosureAttribute1Optional - public var onscrollend: EventHandler + @inlinable public var onscrollend: EventHandler { + get { + guard let function = jsObject[Strings.onscrollend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onscrollend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onscrollend] = .null + } + } + } } public class WheelEvent: MouseEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WheelEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.WheelEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _deltaX = ReadonlyAttribute(jsObject: jsObject, name: Strings.deltaX) - _deltaY = ReadonlyAttribute(jsObject: jsObject, name: Strings.deltaY) - _deltaZ = ReadonlyAttribute(jsObject: jsObject, name: Strings.deltaZ) - _deltaMode = ReadonlyAttribute(jsObject: jsObject, name: Strings.deltaMode) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: WheelEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) @@ -17902,845 +19447,1011 @@ public class WheelEvent: MouseEvent { public static let DOM_DELTA_PAGE: UInt32 = 0x02 - @ReadonlyAttribute - public var deltaX: Double + @inlinable public var deltaX: Double { jsObject[Strings.deltaX].fromJSValue()! } - @ReadonlyAttribute - public var deltaY: Double + @inlinable public var deltaY: Double { jsObject[Strings.deltaY].fromJSValue()! } - @ReadonlyAttribute - public var deltaZ: Double + @inlinable public var deltaZ: Double { jsObject[Strings.deltaZ].fromJSValue()! } - @ReadonlyAttribute - public var deltaMode: UInt32 + @inlinable public var deltaMode: UInt32 { jsObject[Strings.deltaMode].fromJSValue()! } } -public class WheelEventInit: BridgedDictionary { - public convenience init(deltaX: Double, deltaY: Double, deltaZ: Double, deltaMode: UInt32) { +open class WheelEventInit: MouseEventInit { + + public convenience init( + screenX: Int32? = nil, + screenY: Int32? = nil, + clientX: Int32? = nil, + clientY: Int32? = nil, + button: Int16? = nil, + buttons: UInt16? = nil, + relatedTarget: EventTarget?, + deltaX: Double? = nil, + deltaY: Double? = nil, + deltaZ: Double? = nil, + deltaMode: UInt32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.screenX] = _toJSValue(screenX) + object[Strings.screenY] = _toJSValue(screenY) + object[Strings.clientX] = _toJSValue(clientX) + object[Strings.clientY] = _toJSValue(clientY) + object[Strings.button] = _toJSValue(button) + object[Strings.buttons] = _toJSValue(buttons) + object[Strings.relatedTarget] = _toJSValue(relatedTarget) object[Strings.deltaX] = _toJSValue(deltaX) object[Strings.deltaY] = _toJSValue(deltaY) object[Strings.deltaZ] = _toJSValue(deltaZ) object[Strings.deltaMode] = _toJSValue(deltaMode) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _deltaX = ReadWriteAttribute(jsObject: object, name: Strings.deltaX) - _deltaY = ReadWriteAttribute(jsObject: object, name: Strings.deltaY) - _deltaZ = ReadWriteAttribute(jsObject: object, name: Strings.deltaZ) - _deltaMode = ReadWriteAttribute(jsObject: object, name: Strings.deltaMode) - super.init(unsafelyWrapping: object) - } - - @ReadWriteAttribute - public var deltaX: Double - - @ReadWriteAttribute - public var deltaY: Double - - @ReadWriteAttribute - public var deltaZ: Double - - @ReadWriteAttribute - public var deltaMode: UInt32 -} - -public class Window: EventTarget, GlobalEventHandlers, WindowEventHandlers, WindowOrWorkerGlobalScope, AnimationFrameProvider, WindowSessionStorage, WindowLocalStorage { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Window].function } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @inlinable public static var global: Window { - Window(unsafelyWrapping: JSObject.global) + @inlinable public var deltaX: Double { + get { jsObject[Strings.deltaX].fromJSValue()! } + set { jsObject[Strings.deltaX] = _toJSValue(newValue) } + } + @inlinable public var deltaY: Double { + get { jsObject[Strings.deltaY].fromJSValue()! } + set { jsObject[Strings.deltaY] = _toJSValue(newValue) } + } + @inlinable public var deltaZ: Double { + get { jsObject[Strings.deltaZ].fromJSValue()! } + set { jsObject[Strings.deltaZ] = _toJSValue(newValue) } } + @inlinable public var deltaMode: UInt32 { + get { jsObject[Strings.deltaMode].fromJSValue()! } + set { jsObject[Strings.deltaMode] = _toJSValue(newValue) } + } +} +public class Window: EventTarget, GlobalEventHandlers, WindowEventHandlers, WindowOrWorkerGlobalScope, + AnimationFrameProvider, WindowSessionStorage, WindowLocalStorage +{ + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Window].function } + + @inlinable public static var global: Window { Window(unsafelyWrapping: JSObject.global) } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - _event = ReadonlyAttribute(jsObject: jsObject, name: Strings.event) - _window = ReadonlyAttribute(jsObject: jsObject, name: Strings.window) - _self = ReadonlyAttribute(jsObject: jsObject, name: Strings._self) - _document = ReadonlyAttribute(jsObject: jsObject, name: Strings.document) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _location = ReadonlyAttribute(jsObject: jsObject, name: Strings.location) - _history = ReadonlyAttribute(jsObject: jsObject, name: Strings.history) - _navigation = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigation) - _customElements = ReadonlyAttribute(jsObject: jsObject, name: Strings.customElements) - _locationbar = ReadonlyAttribute(jsObject: jsObject, name: Strings.locationbar) - _menubar = ReadonlyAttribute(jsObject: jsObject, name: Strings.menubar) - _personalbar = ReadonlyAttribute(jsObject: jsObject, name: Strings.personalbar) - _scrollbars = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollbars) - _statusbar = ReadonlyAttribute(jsObject: jsObject, name: Strings.statusbar) - _toolbar = ReadonlyAttribute(jsObject: jsObject, name: Strings.toolbar) - _status = ReadWriteAttribute(jsObject: jsObject, name: Strings.status) - _closed = ReadonlyAttribute(jsObject: jsObject, name: Strings.closed) - _frames = ReadonlyAttribute(jsObject: jsObject, name: Strings.frames) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _top = ReadonlyAttribute(jsObject: jsObject, name: Strings.top) - _opener = ReadWriteAttribute(jsObject: jsObject, name: Strings.opener) - _parent = ReadonlyAttribute(jsObject: jsObject, name: Strings.parent) - _frameElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.frameElement) - _navigator = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigator) - _clientInformation = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientInformation) - _originAgentCluster = ReadonlyAttribute(jsObject: jsObject, name: Strings.originAgentCluster) - _external = ReadonlyAttribute(jsObject: jsObject, name: Strings.external) - _screen = ReadonlyAttribute(jsObject: jsObject, name: Strings.screen) - _visualViewport = ReadonlyAttribute(jsObject: jsObject, name: Strings.visualViewport) - _innerWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.innerWidth) - _innerHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.innerHeight) - _scrollX = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollX) - _pageXOffset = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageXOffset) - _scrollY = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollY) - _pageYOffset = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageYOffset) - _screenX = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenX) - _screenLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenLeft) - _screenY = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenY) - _screenTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenTop) - _outerWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.outerWidth) - _outerHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.outerHeight) - _devicePixelRatio = ReadonlyAttribute(jsObject: jsObject, name: Strings.devicePixelRatio) - super.init(unsafelyWrapping: jsObject) + @inlinable public var event: Event? { jsObject[Strings.event].fromJSValue()! } + + @inlinable public var window: WindowProxy { jsObject[Strings.window].fromJSValue()! } + + @inlinable public var `self`: WindowProxy { jsObject[Strings._self].fromJSValue()! } + + @inlinable public var document: Document { jsObject[Strings.document].fromJSValue()! } + + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } } - @ReadonlyAttribute - public var event: Event? + @inlinable public var location: Location { jsObject[Strings.location].fromJSValue()! } - @ReadonlyAttribute - public var window: WindowProxy + @inlinable public var history: History { jsObject[Strings.history].fromJSValue()! } - @ReadonlyAttribute - public var `self`: WindowProxy + @inlinable public var navigation: Navigation { jsObject[Strings.navigation].fromJSValue()! } - @ReadonlyAttribute - public var document: Document + @inlinable public var customElements: CustomElementRegistry { jsObject[Strings.customElements].fromJSValue()! } - @ReadWriteAttribute - public var name: String + @inlinable public var locationbar: BarProp { jsObject[Strings.locationbar].fromJSValue()! } - @ReadonlyAttribute - public var location: Location + @inlinable public var menubar: BarProp { jsObject[Strings.menubar].fromJSValue()! } - @ReadonlyAttribute - public var history: History + @inlinable public var personalbar: BarProp { jsObject[Strings.personalbar].fromJSValue()! } - @ReadonlyAttribute - public var navigation: Navigation + @inlinable public var scrollbars: BarProp { jsObject[Strings.scrollbars].fromJSValue()! } - @ReadonlyAttribute - public var customElements: CustomElementRegistry - - @ReadonlyAttribute - public var locationbar: BarProp - - @ReadonlyAttribute - public var menubar: BarProp + @inlinable public var statusbar: BarProp { jsObject[Strings.statusbar].fromJSValue()! } - @ReadonlyAttribute - public var personalbar: BarProp - - @ReadonlyAttribute - public var scrollbars: BarProp - - @ReadonlyAttribute - public var statusbar: BarProp - - @ReadonlyAttribute - public var toolbar: BarProp - - @ReadWriteAttribute - public var status: String - - @inlinable public func close() { + @inlinable public var toolbar: BarProp { jsObject[Strings.toolbar].fromJSValue()! } + + @inlinable public var status: String { + get { jsObject[Strings.status].fromJSValue()! } + set { jsObject[Strings.status] = _toJSValue(newValue) } + } + + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var closed: Bool + @inlinable public var closed: Bool { jsObject[Strings.closed].fromJSValue()! } - @inlinable public func stop() { + @inlinable final public func stop() { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: []) } - @inlinable public func focus() { + @inlinable final public func focus() { let this = jsObject _ = this[Strings.focus].function!(this: this, arguments: []) } - @inlinable public func blur() { + @inlinable final public func blur() { let this = jsObject _ = this[Strings.blur].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var frames: WindowProxy + @inlinable public var frames: WindowProxy { jsObject[Strings.frames].fromJSValue()! } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ReadonlyAttribute - public var top: WindowProxy? + @inlinable public var top: WindowProxy? { jsObject[Strings.top].fromJSValue() } - @ReadWriteAttribute - public var opener: JSValue + @inlinable public var opener: JSValue { + get { jsObject[Strings.opener].fromJSValue()! } + set { jsObject[Strings.opener] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var parent: WindowProxy? + @inlinable public var parent: WindowProxy? { jsObject[Strings.parent].fromJSValue() } - @ReadonlyAttribute - public var frameElement: Element? + @inlinable public var frameElement: Element? { jsObject[Strings.frameElement].fromJSValue() } - @inlinable public func open(url: String? = nil, target: String? = nil, features: String? = nil) -> WindowProxy? { + @inlinable final public func open( + url: String? = nil, + target: String? = nil, + features: String? = nil + ) -> WindowProxy? { let this = jsObject - return this[Strings.open].function!(this: this, arguments: [_toJSValue(url), _toJSValue(target), _toJSValue(features)]).fromJSValue() + return this[Strings.open].function!( + this: this, + arguments: [_toJSValue(url), _toJSValue(target), _toJSValue(features)] + ).fromJSValue() } - @inlinable public subscript(key: String) -> JSObject { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: String) -> JSObject { jsObject[key].fromJSValue()! } - @ReadonlyAttribute - public var navigator: Navigator + @inlinable public var navigator: Navigator { jsObject[Strings.navigator].fromJSValue()! } - @ReadonlyAttribute - public var clientInformation: Navigator + @inlinable public var clientInformation: Navigator { jsObject[Strings.clientInformation].fromJSValue()! } - @ReadonlyAttribute - public var originAgentCluster: Bool + @inlinable public var originAgentCluster: Bool { jsObject[Strings.originAgentCluster].fromJSValue()! } - @inlinable public func alert() { + @inlinable final public func alert() { let this = jsObject _ = this[Strings.alert].function!(this: this, arguments: []) } - @inlinable public func alert(message: String) { + @inlinable final public func alert(message: String) { let this = jsObject _ = this[Strings.alert].function!(this: this, arguments: [_toJSValue(message)]) } - @inlinable public func confirm(message: String? = nil) -> Bool { + @inlinable final public func confirm(message: String? = nil) -> Bool { let this = jsObject return this[Strings.confirm].function!(this: this, arguments: [_toJSValue(message)]).fromJSValue()! } - @inlinable public func prompt(message: String? = nil, default: String? = nil) -> String? { + @inlinable final public func prompt(message: String? = nil, `default`: String? = nil) -> String? { let this = jsObject - return this[Strings.prompt].function!(this: this, arguments: [_toJSValue(message), _toJSValue(`default`)]).fromJSValue() + return this[Strings.prompt].function!(this: this, arguments: [_toJSValue(message), _toJSValue(`default`)]) + .fromJSValue() } - @inlinable public func print() { + @inlinable final public func print() { let this = jsObject _ = this[Strings.print].function!(this: this, arguments: []) } - @inlinable public func postMessage(message: JSValue, targetOrigin: String, transfer: [JSObject]? = nil) { + @inlinable final public func postMessage(message: JSValue, targetOrigin: String, transfer: [JSObject]? = nil) { let this = jsObject - _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(targetOrigin), _toJSValue(transfer)]) + _ = this[Strings.postMessage].function!( + this: this, + arguments: [_toJSValue(message), _toJSValue(targetOrigin), _toJSValue(transfer)] + ) } - @inlinable public func postMessage(message: JSValue, options: WindowPostMessageOptions? = nil) { + @inlinable final public func postMessage(message: JSValue, options: WindowPostMessageOptions? = nil) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(options)]) } - @inlinable public func captureEvents() { + @inlinable final public func captureEvents() { let this = jsObject _ = this[Strings.captureEvents].function!(this: this, arguments: []) } - @inlinable public func releaseEvents() { + @inlinable final public func releaseEvents() { let this = jsObject _ = this[Strings.releaseEvents].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var external: External + @inlinable public var external: External { jsObject[Strings.external].fromJSValue()! } - @inlinable public func matchMedia(query: String) -> MediaQueryList { + @inlinable final public func matchMedia(query: String) -> MediaQueryList { let this = jsObject return this[Strings.matchMedia].function!(this: this, arguments: [_toJSValue(query)]).fromJSValue()! } - @ReadonlyAttribute - public var screen: Screen + @inlinable public var screen: Screen { jsObject[Strings.screen].fromJSValue()! } - @ReadonlyAttribute - public var visualViewport: VisualViewport? + @inlinable public var visualViewport: VisualViewport? { jsObject[Strings.visualViewport].fromJSValue() } - @inlinable public func moveTo(x: Int32, y: Int32) { + @inlinable final public func moveTo(x: Int32, y: Int32) { let this = jsObject _ = this[Strings.moveTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func moveBy(x: Int32, y: Int32) { + @inlinable final public func moveBy(x: Int32, y: Int32) { let this = jsObject _ = this[Strings.moveBy].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func resizeTo(width: Int32, height: Int32) { + @inlinable final public func resizeTo(width: Int32, height: Int32) { let this = jsObject _ = this[Strings.resizeTo].function!(this: this, arguments: [_toJSValue(width), _toJSValue(height)]) } - @inlinable public func resizeBy(x: Int32, y: Int32) { + @inlinable final public func resizeBy(x: Int32, y: Int32) { let this = jsObject _ = this[Strings.resizeBy].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @ReadonlyAttribute - public var innerWidth: Int32 + @inlinable public var innerWidth: Int32 { jsObject[Strings.innerWidth].fromJSValue()! } - @ReadonlyAttribute - public var innerHeight: Int32 + @inlinable public var innerHeight: Int32 { jsObject[Strings.innerHeight].fromJSValue()! } - @ReadonlyAttribute - public var scrollX: Double + @inlinable public var scrollX: Double { jsObject[Strings.scrollX].fromJSValue()! } - @ReadonlyAttribute - public var pageXOffset: Double + @inlinable public var pageXOffset: Double { jsObject[Strings.pageXOffset].fromJSValue()! } - @ReadonlyAttribute - public var scrollY: Double + @inlinable public var scrollY: Double { jsObject[Strings.scrollY].fromJSValue()! } - @ReadonlyAttribute - public var pageYOffset: Double + @inlinable public var pageYOffset: Double { jsObject[Strings.pageYOffset].fromJSValue()! } - @inlinable public func scroll(options: ScrollToOptions? = nil) { + @inlinable final public func scroll(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scroll(x: Double, y: Double) { + @inlinable final public func scroll(x: Double, y: Double) { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func scrollTo(options: ScrollToOptions? = nil) { + @inlinable final public func scrollTo(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scrollTo].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scrollTo(x: Double, y: Double) { + @inlinable final public func scrollTo(x: Double, y: Double) { let this = jsObject _ = this[Strings.scrollTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func scrollBy(options: ScrollToOptions? = nil) { + @inlinable final public func scrollBy(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scrollBy].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scrollBy(x: Double, y: Double) { + @inlinable final public func scrollBy(x: Double, y: Double) { let this = jsObject _ = this[Strings.scrollBy].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @ReadonlyAttribute - public var screenX: Int32 + @inlinable public var screenX: Int32 { jsObject[Strings.screenX].fromJSValue()! } - @ReadonlyAttribute - public var screenLeft: Int32 + @inlinable public var screenLeft: Int32 { jsObject[Strings.screenLeft].fromJSValue()! } - @ReadonlyAttribute - public var screenY: Int32 + @inlinable public var screenY: Int32 { jsObject[Strings.screenY].fromJSValue()! } - @ReadonlyAttribute - public var screenTop: Int32 + @inlinable public var screenTop: Int32 { jsObject[Strings.screenTop].fromJSValue()! } - @ReadonlyAttribute - public var outerWidth: Int32 + @inlinable public var outerWidth: Int32 { jsObject[Strings.outerWidth].fromJSValue()! } - @ReadonlyAttribute - public var outerHeight: Int32 + @inlinable public var outerHeight: Int32 { jsObject[Strings.outerHeight].fromJSValue()! } - @ReadonlyAttribute - public var devicePixelRatio: Double + @inlinable public var devicePixelRatio: Double { jsObject[Strings.devicePixelRatio].fromJSValue()! } } public protocol WindowEventHandlers: JSBridgedClass {} -public extension WindowEventHandlers { - @inlinable var onafterprint: EventHandler { - get { ClosureAttribute1Optional[Strings.onafterprint, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onafterprint, in: jsObject] = newValue } +extension WindowEventHandlers { + @inlinable public var onafterprint: EventHandler { + get { + guard let function = jsObject[Strings.onafterprint].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onafterprint] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onafterprint] = .null + } + } } - @inlinable var onbeforeprint: EventHandler { - get { ClosureAttribute1Optional[Strings.onbeforeprint, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onbeforeprint, in: jsObject] = newValue } + @inlinable public var onbeforeprint: EventHandler { + get { + guard let function = jsObject[Strings.onbeforeprint].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onbeforeprint] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onbeforeprint] = .null + } + } } - @inlinable var onbeforeunload: OnBeforeUnloadEventHandler { - get { ClosureAttribute1Optional[Strings.onbeforeunload, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onbeforeunload, in: jsObject] = newValue } + @inlinable public var onbeforeunload: OnBeforeUnloadEventHandler { + get { + guard let function = jsObject[Strings.onbeforeunload].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onbeforeunload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onbeforeunload] = .null + } + } } - @inlinable var onhashchange: EventHandler { - get { ClosureAttribute1Optional[Strings.onhashchange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onhashchange, in: jsObject] = newValue } + @inlinable public var onhashchange: EventHandler { + get { + guard let function = jsObject[Strings.onhashchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onhashchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onhashchange] = .null + } + } } - @inlinable var onlanguagechange: EventHandler { - get { ClosureAttribute1Optional[Strings.onlanguagechange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onlanguagechange, in: jsObject] = newValue } + @inlinable public var onlanguagechange: EventHandler { + get { + guard let function = jsObject[Strings.onlanguagechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onlanguagechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onlanguagechange] = .null + } + } } - @inlinable var onmessage: EventHandler { - get { ClosureAttribute1Optional[Strings.onmessage, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmessage, in: jsObject] = newValue } + @inlinable public var onmessage: EventHandler { + get { + guard let function = jsObject[Strings.onmessage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessage] = .null + } + } } - @inlinable var onmessageerror: EventHandler { - get { ClosureAttribute1Optional[Strings.onmessageerror, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmessageerror, in: jsObject] = newValue } + @inlinable public var onmessageerror: EventHandler { + get { + guard let function = jsObject[Strings.onmessageerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessageerror] = .null + } + } } - @inlinable var onoffline: EventHandler { - get { ClosureAttribute1Optional[Strings.onoffline, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onoffline, in: jsObject] = newValue } + @inlinable public var onoffline: EventHandler { + get { + guard let function = jsObject[Strings.onoffline].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onoffline] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onoffline] = .null + } + } } - @inlinable var ononline: EventHandler { - get { ClosureAttribute1Optional[Strings.ononline, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ononline, in: jsObject] = newValue } + @inlinable public var ononline: EventHandler { + get { + guard let function = jsObject[Strings.ononline].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ononline] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ononline] = .null + } + } } - @inlinable var onpagehide: EventHandler { - get { ClosureAttribute1Optional[Strings.onpagehide, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onpagehide, in: jsObject] = newValue } + @inlinable public var onpagehide: EventHandler { + get { + guard let function = jsObject[Strings.onpagehide].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpagehide] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpagehide] = .null + } + } } - @inlinable var onpageshow: EventHandler { - get { ClosureAttribute1Optional[Strings.onpageshow, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onpageshow, in: jsObject] = newValue } + @inlinable public var onpageshow: EventHandler { + get { + guard let function = jsObject[Strings.onpageshow].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpageshow] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpageshow] = .null + } + } } - @inlinable var onpopstate: EventHandler { - get { ClosureAttribute1Optional[Strings.onpopstate, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onpopstate, in: jsObject] = newValue } + @inlinable public var onpopstate: EventHandler { + get { + guard let function = jsObject[Strings.onpopstate].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpopstate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpopstate] = .null + } + } } - @inlinable var onrejectionhandled: EventHandler { - get { ClosureAttribute1Optional[Strings.onrejectionhandled, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onrejectionhandled, in: jsObject] = newValue } + @inlinable public var onrejectionhandled: EventHandler { + get { + guard let function = jsObject[Strings.onrejectionhandled].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onrejectionhandled] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onrejectionhandled] = .null + } + } } - @inlinable var onstorage: EventHandler { - get { ClosureAttribute1Optional[Strings.onstorage, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onstorage, in: jsObject] = newValue } + @inlinable public var onstorage: EventHandler { + get { + guard let function = jsObject[Strings.onstorage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onstorage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onstorage] = .null + } + } } - @inlinable var onunhandledrejection: EventHandler { - get { ClosureAttribute1Optional[Strings.onunhandledrejection, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onunhandledrejection, in: jsObject] = newValue } + @inlinable public var onunhandledrejection: EventHandler { + get { + guard let function = jsObject[Strings.onunhandledrejection].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onunhandledrejection] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onunhandledrejection] = .null + } + } } - @inlinable var onunload: EventHandler { - get { ClosureAttribute1Optional[Strings.onunload, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onunload, in: jsObject] = newValue } + @inlinable public var onunload: EventHandler { + get { + guard let function = jsObject[Strings.onunload].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onunload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onunload] = .null + } + } } } - public protocol WindowLocalStorage: JSBridgedClass {} -public extension WindowLocalStorage { - @inlinable var localStorage: Storage { jsObject[Strings.localStorage].fromJSValue()! } +extension WindowLocalStorage { + @inlinable public var localStorage: Storage { jsObject[Strings.localStorage].fromJSValue()! } } - public protocol WindowOrWorkerGlobalScope: JSBridgedClass {} -public extension WindowOrWorkerGlobalScope { - @inlinable var origin: String { jsObject[Strings.origin].fromJSValue()! } +extension WindowOrWorkerGlobalScope { + @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } - @inlinable var isSecureContext: Bool { jsObject[Strings.isSecureContext].fromJSValue()! } + @inlinable public var isSecureContext: Bool { jsObject[Strings.isSecureContext].fromJSValue()! } - @inlinable var crossOriginIsolated: Bool { jsObject[Strings.crossOriginIsolated].fromJSValue()! } + @inlinable public var crossOriginIsolated: Bool { jsObject[Strings.crossOriginIsolated].fromJSValue()! } - @inlinable func reportError(e: JSValue) { + @inlinable public func reportError(e: JSValue) { let this = jsObject _ = this[Strings.reportError].function!(this: this, arguments: [_toJSValue(e)]) } - @inlinable func btoa(data: String) -> String { + @inlinable public func btoa(data: String) -> String { let this = jsObject return this[Strings.btoa].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable func atob(data: String) -> String { + @inlinable public func atob(data: String) -> String { let this = jsObject return this[Strings.atob].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable func setTimeout(handler: TimerHandler, timeout: Int32? = nil, arguments: JSValue...) -> Int32 { + @inlinable public func setTimeout(handler: TimerHandler, timeout: Int32? = nil, arguments: JSValue...) -> Int32 { let this = jsObject - return this[Strings.setTimeout].function!(this: this, arguments: [_toJSValue(handler), _toJSValue(timeout)] + arguments.map(_toJSValue)).fromJSValue()! + return this[Strings.setTimeout].function!( + this: this, + arguments: [_toJSValue(handler), _toJSValue(timeout)] + arguments.map(_toJSValue) + ).fromJSValue()! } - @inlinable func clearTimeout(id: Int32? = nil) { + @inlinable public func clearTimeout(id: Int32? = nil) { let this = jsObject _ = this[Strings.clearTimeout].function!(this: this, arguments: [_toJSValue(id)]) } - @inlinable func setInterval(handler: TimerHandler, timeout: Int32? = nil, arguments: JSValue...) -> Int32 { + @inlinable public func setInterval(handler: TimerHandler, timeout: Int32? = nil, arguments: JSValue...) -> Int32 { let this = jsObject - return this[Strings.setInterval].function!(this: this, arguments: [_toJSValue(handler), _toJSValue(timeout)] + arguments.map(_toJSValue)).fromJSValue()! + return this[Strings.setInterval].function!( + this: this, + arguments: [_toJSValue(handler), _toJSValue(timeout)] + arguments.map(_toJSValue) + ).fromJSValue()! } - @inlinable func clearInterval(id: Int32? = nil) { + @inlinable public func clearInterval(id: Int32? = nil) { let this = jsObject _ = this[Strings.clearInterval].function!(this: this, arguments: [_toJSValue(id)]) } - @inlinable func queueMicrotask(callback: @escaping VoidFunction) { + @inlinable public func queueMicrotask(callback: @escaping VoidFunction) { let this = jsObject _ = this[Strings.queueMicrotask].function!(this: this, arguments: [_toJSValue(callback)]) } - @inlinable func createImageBitmap(image: ImageBitmapSource, options: ImageBitmapOptions? = nil) -> JSPromise { + @inlinable public func createImageBitmap(image: ImageBitmapSource, options: ImageBitmapOptions? = nil) -> JSPromise + { let this = jsObject - return this[Strings.createImageBitmap].function!(this: this, arguments: [_toJSValue(image), _toJSValue(options)]).fromJSValue()! + return this[Strings.createImageBitmap].function!( + this: this, + arguments: [_toJSValue(image), _toJSValue(options)] + ).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func createImageBitmap(image: ImageBitmapSource, options: ImageBitmapOptions? = nil) async throws -> ImageBitmap { - let this = jsObject - let _promise: JSPromise = this[Strings.createImageBitmap].function!(this: this, arguments: [_toJSValue(image), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func createImageBitmap( + image: ImageBitmapSource, + options: ImageBitmapOptions? = nil + ) async throws(JSException) -> ImageBitmap { + let this = jsObject + let _promise: JSPromise = this[Strings.createImageBitmap].function!( + this: this, + arguments: [_toJSValue(image), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable func createImageBitmap(image: ImageBitmapSource, sx: Int32, sy: Int32, sw: Int32, sh: Int32, options: ImageBitmapOptions? = nil) -> JSPromise { + @inlinable public func createImageBitmap( + image: ImageBitmapSource, + sx: Int32, + sy: Int32, + sw: Int32, + sh: Int32, + options: ImageBitmapOptions? = nil + ) -> JSPromise { let this = jsObject - return this[Strings.createImageBitmap].function!(this: this, arguments: [_toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(options)]).fromJSValue()! + return this[Strings.createImageBitmap].function!( + this: this, + arguments: [ + _toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(options), + ] + ).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func createImageBitmap(image: ImageBitmapSource, sx: Int32, sy: Int32, sw: Int32, sh: Int32, options: ImageBitmapOptions? = nil) async throws -> ImageBitmap { - let this = jsObject - let _promise: JSPromise = this[Strings.createImageBitmap].function!(this: this, arguments: [_toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func createImageBitmap( + image: ImageBitmapSource, + sx: Int32, + sy: Int32, + sw: Int32, + sh: Int32, + options: ImageBitmapOptions? = nil + ) async throws(JSException) -> ImageBitmap { + let this = jsObject + let _promise: JSPromise = this[Strings.createImageBitmap].function!( + this: this, + arguments: [ + _toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), + _toJSValue(options), + ] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable func structuredClone(value: JSValue, options: StructuredSerializeOptions? = nil) -> JSValue { + @inlinable public func structuredClone(value: JSValue, options: StructuredSerializeOptions? = nil) -> JSValue { let this = jsObject - return this[Strings.structuredClone].function!(this: this, arguments: [_toJSValue(value), _toJSValue(options)]).fromJSValue()! + return this[Strings.structuredClone].function!(this: this, arguments: [_toJSValue(value), _toJSValue(options)]) + .fromJSValue()! } - @inlinable var performance: Performance { jsObject[Strings.performance].fromJSValue()! } + @inlinable public var performance: Performance { jsObject[Strings.performance].fromJSValue()! } - @inlinable func fetch(input: RequestInfo, init: RequestInit? = nil) -> JSPromise { + @inlinable public func fetch(input: RequestInfo, `init`: RequestInit? = nil) -> JSPromise { let this = jsObject - return this[Strings.fetch].function!(this: this, arguments: [_toJSValue(input), _toJSValue(`init`)]).fromJSValue()! + return this[Strings.fetch].function!(this: this, arguments: [_toJSValue(input), _toJSValue(`init`)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func fetch(input: RequestInfo, init: RequestInit? = nil) async throws -> Response { - let this = jsObject - let _promise: JSPromise = this[Strings.fetch].function!(this: this, arguments: [_toJSValue(input), _toJSValue(`init`)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func fetch( + input: RequestInfo, + `init`: RequestInit? = nil + ) async throws(JSException) -> Response { + let this = jsObject + let _promise: JSPromise = this[Strings.fetch].function!( + this: this, + arguments: [_toJSValue(input), _toJSValue(`init`)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif + + @inlinable public var caches: CacheStorage { jsObject[Strings.caches].fromJSValue()! } - @inlinable var caches: CacheStorage { jsObject[Strings.caches].fromJSValue()! } + @inlinable public var trustedTypes: TrustedTypePolicyFactory { jsObject[Strings.trustedTypes].fromJSValue()! } } +open class WindowPostMessageOptions: StructuredSerializeOptions { -public class WindowPostMessageOptions: BridgedDictionary { - public convenience init(targetOrigin: String) { + public convenience init(transfer: [JSObject]? = nil, targetOrigin: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.transfer] = _toJSValue(transfer) object[Strings.targetOrigin] = _toJSValue(targetOrigin) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _targetOrigin = ReadWriteAttribute(jsObject: object, name: Strings.targetOrigin) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var targetOrigin: String + @inlinable public var targetOrigin: String { + get { jsObject[Strings.targetOrigin].fromJSValue()! } + set { jsObject[Strings.targetOrigin] = _toJSValue(newValue) } + } } - public protocol WindowSessionStorage: JSBridgedClass {} -public extension WindowSessionStorage { - @inlinable var sessionStorage: Storage { jsObject[Strings.sessionStorage].fromJSValue()! } +extension WindowSessionStorage { + @inlinable public var sessionStorage: Storage { jsObject[Strings.sessionStorage].fromJSValue()! } } - public class Worker: EventTarget, AbstractWorker { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Worker].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Worker].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) - _onmessageerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessageerror) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(scriptURL: String, options: WorkerOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(scriptURL), _toJSValue(options)])) } - @inlinable public func terminate() { + @inlinable final public func terminate() { let this = jsObject _ = this[Strings.terminate].function!(this: this, arguments: []) } - @inlinable public func postMessage(message: JSValue, transfer: [JSObject]) { + @inlinable final public func postMessage(message: JSValue, transfer: [JSObject]) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(transfer)]) } - @inlinable public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { + @inlinable final public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(options)]) } - @ClosureAttribute1Optional - public var onmessage: EventHandler + @inlinable public var onmessage: EventHandler { + get { + guard let function = jsObject[Strings.onmessage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessage] = .null + } + } + } - @ClosureAttribute1Optional - public var onmessageerror: EventHandler + @inlinable public var onmessageerror: EventHandler { + get { + guard let function = jsObject[Strings.onmessageerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessageerror] = .null + } + } + } } -public class WorkerOptions: BridgedDictionary { - public convenience init(type: WorkerType, credentials: RequestCredentials, name: String) { +open class WorkerOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(type: WorkerType? = nil, credentials: RequestCredentials? = nil, name: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.credentials] = _toJSValue(credentials) object[Strings.name] = _toJSValue(name) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _credentials = ReadWriteAttribute(jsObject: object, name: Strings.credentials) - _name = ReadWriteAttribute(jsObject: object, name: Strings.name) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: WorkerType + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var credentials: RequestCredentials - - @ReadWriteAttribute - public var name: String + @inlinable public var type: WorkerType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var credentials: RequestCredentials { + get { jsObject[Strings.credentials].fromJSValue()! } + set { jsObject[Strings.credentials] = _toJSValue(newValue) } + } + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } } - public enum WorkerType: JSString, JSValueCompatible { case classic = "classic" case module = "module" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - open class Worklet: JSBridgedClass { @inlinable open class var constructor: JSFunction? { JSObject.global[Strings.Worklet].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func addModule(moduleURL: String, options: WorkletOptions? = nil) -> JSPromise { + @inlinable final public func addModule(moduleURL: String, options: WorkletOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.addModule].function!(this: this, arguments: [_toJSValue(moduleURL), _toJSValue(options)]).fromJSValue()! + return this[Strings.addModule].function!(this: this, arguments: [_toJSValue(moduleURL), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func addModule(moduleURL: String, options: WorkletOptions? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.addModule].function!(this: this, arguments: [_toJSValue(moduleURL), _toJSValue(options)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func addModule( + moduleURL: String, + options: WorkletOptions? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.addModule].function!( + this: this, + arguments: [_toJSValue(moduleURL), _toJSValue(options)] + ).fromJSValue()! + _ = try await _promise.value + } + #endif } -public class WorkletOptions: BridgedDictionary { - public convenience init(credentials: RequestCredentials) { +open class WorkletOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(credentials: RequestCredentials? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.credentials] = _toJSValue(credentials) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _credentials = ReadWriteAttribute(jsObject: object, name: Strings.credentials) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var credentials: RequestCredentials + @inlinable public var credentials: RequestCredentials { + get { jsObject[Strings.credentials].fromJSValue()! } + set { jsObject[Strings.credentials] = _toJSValue(newValue) } + } } - open class WritableStream: JSBridgedClass { @inlinable open class var constructor: JSFunction? { JSObject.global[Strings.WritableStream].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _locked = ReadonlyAttribute(jsObject: jsObject, name: Strings.locked) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(underlyingSink: JSObject? = nil, strategy: QueuingStrategy? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(underlyingSink), _toJSValue(strategy)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(underlyingSink), _toJSValue(strategy)]) + ) } - @ReadonlyAttribute - public var locked: Bool + @inlinable public var locked: Bool { jsObject[Strings.locked].fromJSValue()! } - @inlinable public func abort(reason: JSValue? = nil) -> JSPromise { + @inlinable final public func abort(reason: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func abort(reason: JSValue? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func abort( + reason: JSValue? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func close() -> JSPromise { + @inlinable final public func close() -> JSPromise { let this = jsObject return this[Strings.close].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func close() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func close() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func getWriter() -> WritableStreamDefaultWriter { + @inlinable final public func getWriter() -> WritableStreamDefaultWriter { let this = jsObject return this[Strings.getWriter].function!(this: this, arguments: []).fromJSValue()! } } public class WritableStreamDefaultController: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.WritableStreamDefaultController].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.WritableStreamDefaultController].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _signal = ReadonlyAttribute(jsObject: jsObject, name: Strings.signal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var signal: AbortSignal + @inlinable public var signal: AbortSignal { jsObject[Strings.signal].fromJSValue()! } - @inlinable public func error(e: JSValue? = nil) { + @inlinable final public func error(e: JSValue? = nil) { let this = jsObject _ = this[Strings.error].function!(this: this, arguments: [_toJSValue(e)]) } } public class WritableStreamDefaultWriter: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.WritableStreamDefaultWriter].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.WritableStreamDefaultWriter].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _closed = ReadonlyAttribute(jsObject: jsObject, name: Strings.closed) - _desiredSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.desiredSize) - _ready = ReadonlyAttribute(jsObject: jsObject, name: Strings.ready) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(stream: WritableStream) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream)])) } - @ReadonlyAttribute - public var closed: JSPromise + @inlinable public var closed: JSPromise { jsObject[Strings.closed].fromJSValue()! } - @ReadonlyAttribute - public var desiredSize: Double? + @inlinable public var desiredSize: Double? { jsObject[Strings.desiredSize].fromJSValue() } - @ReadonlyAttribute - public var ready: JSPromise + @inlinable public var ready: JSPromise { jsObject[Strings.ready].fromJSValue()! } - @inlinable public func abort(reason: JSValue? = nil) -> JSPromise { + @inlinable final public func abort(reason: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func abort(reason: JSValue? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func abort( + reason: JSValue? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func close() -> JSPromise { + @inlinable final public func close() -> JSPromise { let this = jsObject return this[Strings.close].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func close() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func close() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func releaseLock() { + @inlinable final public func releaseLock() { let this = jsObject _ = this[Strings.releaseLock].function!(this: this, arguments: []) } - @inlinable public func write(chunk: JSValue? = nil) -> JSPromise { + @inlinable final public func write(chunk: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.write].function!(this: this, arguments: [_toJSValue(chunk)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func write(chunk: JSValue? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.write].function!(this: this, arguments: [_toJSValue(chunk)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func write( + chunk: JSValue? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.write].function!(this: this, arguments: [_toJSValue(chunk)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif } public class XMLDocument: Document { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.XMLDocument].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.XMLDocument].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class XMLHttpRequest: XMLHttpRequestEventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.XMLHttpRequest].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.XMLHttpRequest].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _onreadystatechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onreadystatechange) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _timeout = ReadWriteAttribute(jsObject: jsObject, name: Strings.timeout) - _withCredentials = ReadWriteAttribute(jsObject: jsObject, name: Strings.withCredentials) - _upload = ReadonlyAttribute(jsObject: jsObject, name: Strings.upload) - _responseURL = ReadonlyAttribute(jsObject: jsObject, name: Strings.responseURL) - _status = ReadonlyAttribute(jsObject: jsObject, name: Strings.status) - _statusText = ReadonlyAttribute(jsObject: jsObject, name: Strings.statusText) - _responseType = ReadWriteAttribute(jsObject: jsObject, name: Strings.responseType) - _response = ReadonlyAttribute(jsObject: jsObject, name: Strings.response) - _responseText = ReadonlyAttribute(jsObject: jsObject, name: Strings.responseText) - _responseXML = ReadonlyAttribute(jsObject: jsObject, name: Strings.responseXML) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ClosureAttribute1Optional - public var onreadystatechange: EventHandler + @inlinable public var onreadystatechange: EventHandler { + get { + guard let function = jsObject[Strings.onreadystatechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onreadystatechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onreadystatechange] = .null + } + } + } public static let UNSENT: UInt16 = 0 @@ -18752,114 +20463,193 @@ public class XMLHttpRequest: XMLHttpRequestEventTarget { public static let DONE: UInt16 = 4 - @ReadonlyAttribute - public var readyState: UInt16 + @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } - @inlinable public func open(method: String, url: String) { + @inlinable final public func open(method: String, url: String) { let this = jsObject _ = this[Strings.open].function!(this: this, arguments: [_toJSValue(method), _toJSValue(url)]) } - @inlinable public func open(method: String, url: String, async: Bool, username: String? = nil, password: String? = nil) { + @inlinable final public func open( + method: String, + url: String, + async: Bool, + username: String? = nil, + password: String? = nil + ) { let this = jsObject - _ = this[Strings.open].function!(this: this, arguments: [_toJSValue(method), _toJSValue(url), _toJSValue(async), _toJSValue(username), _toJSValue(password)]) + _ = this[Strings.open].function!( + this: this, + arguments: [ + _toJSValue(method), _toJSValue(url), _toJSValue(async), _toJSValue(username), _toJSValue(password), + ] + ) } - @inlinable public func setRequestHeader(name: String, value: String) { + @inlinable final public func setRequestHeader(name: String, value: String) { let this = jsObject _ = this[Strings.setRequestHeader].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @ReadWriteAttribute - public var timeout: UInt32 + @inlinable public var timeout: UInt32 { + get { jsObject[Strings.timeout].fromJSValue()! } + set { jsObject[Strings.timeout] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var withCredentials: Bool + @inlinable public var withCredentials: Bool { + get { jsObject[Strings.withCredentials].fromJSValue()! } + set { jsObject[Strings.withCredentials] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var upload: XMLHttpRequestUpload + @inlinable public var upload: XMLHttpRequestUpload { jsObject[Strings.upload].fromJSValue()! } - @inlinable public func send(body: Document_or_XMLHttpRequestBodyInit? = nil) { + @inlinable final public func send(body: Document_or_XMLHttpRequestBodyInit? = nil) { let this = jsObject _ = this[Strings.send].function!(this: this, arguments: [_toJSValue(body)]) } - @inlinable public func abort() { + @inlinable final public func abort() { let this = jsObject _ = this[Strings.abort].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var responseURL: String + @inlinable public var responseURL: String { jsObject[Strings.responseURL].fromJSValue()! } - @ReadonlyAttribute - public var status: UInt16 + @inlinable public var status: UInt16 { jsObject[Strings.status].fromJSValue()! } - @ReadonlyAttribute - public var statusText: String + @inlinable public var statusText: String { jsObject[Strings.statusText].fromJSValue()! } - @inlinable public func getResponseHeader(name: String) -> String? { + @inlinable final public func getResponseHeader(name: String) -> String? { let this = jsObject return this[Strings.getResponseHeader].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable public func getAllResponseHeaders() -> String { + @inlinable final public func getAllResponseHeaders() -> String { let this = jsObject return this[Strings.getAllResponseHeaders].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func overrideMimeType(mime: String) { + @inlinable final public func overrideMimeType(mime: String) { let this = jsObject _ = this[Strings.overrideMimeType].function!(this: this, arguments: [_toJSValue(mime)]) } - @ReadWriteAttribute - public var responseType: XMLHttpRequestResponseType + @inlinable public var responseType: XMLHttpRequestResponseType { + get { jsObject[Strings.responseType].fromJSValue()! } + set { jsObject[Strings.responseType] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var response: JSValue + @inlinable public var response: JSValue { jsObject[Strings.response].fromJSValue()! } - @ReadonlyAttribute - public var responseText: String + @inlinable public var responseText: String { jsObject[Strings.responseText].fromJSValue()! } - @ReadonlyAttribute - public var responseXML: Document? + @inlinable public var responseXML: Document? { jsObject[Strings.responseXML].fromJSValue() } } public class XMLHttpRequestEventTarget: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.XMLHttpRequestEventTarget].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _onloadstart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onloadstart) - _onprogress = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onprogress) - _onabort = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onabort) - _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) - _onload = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onload) - _ontimeout = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ontimeout) - _onloadend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onloadend) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.XMLHttpRequestEventTarget].function } - @ClosureAttribute1Optional - public var onloadstart: EventHandler + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var onloadstart: EventHandler { + get { + guard let function = jsObject[Strings.onloadstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadstart] = .null + } + } + } - @ClosureAttribute1Optional - public var onprogress: EventHandler + @inlinable public var onprogress: EventHandler { + get { + guard let function = jsObject[Strings.onprogress].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onprogress] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onprogress] = .null + } + } + } - @ClosureAttribute1Optional - public var onabort: EventHandler + @inlinable public var onabort: EventHandler { + get { + guard let function = jsObject[Strings.onabort].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onabort] = .null + } + } + } - @ClosureAttribute1Optional - public var onerror: EventHandler + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } - @ClosureAttribute1Optional - public var onload: EventHandler + @inlinable public var onload: EventHandler { + get { + guard let function = jsObject[Strings.onload].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onload] = .null + } + } + } - @ClosureAttribute1Optional - public var ontimeout: EventHandler + @inlinable public var ontimeout: EventHandler { + get { + guard let function = jsObject[Strings.ontimeout].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontimeout] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontimeout] = .null + } + } + } - @ClosureAttribute1Optional - public var onloadend: EventHandler + @inlinable public var onloadend: EventHandler { + get { + guard let function = jsObject[Strings.onloadend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadend] = .null + } + } + } } public enum XMLHttpRequestResponseType: JSString, JSValueCompatible { @@ -18871,25 +20661,21 @@ public enum XMLHttpRequestResponseType: JSString, JSValueCompatible { case text = "text" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class XMLHttpRequestUpload: XMLHttpRequestEventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.XMLHttpRequestUpload].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.XMLHttpRequestUpload].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } public class XPathEvaluator: JSBridgedClass, XPathEvaluatorBase { @@ -18897,36 +20683,36 @@ public class XPathEvaluator: JSBridgedClass, XPathEvaluatorBase { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } } public protocol XPathEvaluatorBase: JSBridgedClass {} -public extension XPathEvaluatorBase { +extension XPathEvaluatorBase { // XXX: method 'createExpression' is ignored // XXX: method 'createNSResolver' is ignored // XXX: method 'evaluate' is ignored } - public class XPathExpression: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.XPathExpression].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func evaluate(contextNode: Node, type: UInt16? = nil, result: XPathResult? = nil) -> XPathResult { + @inlinable final public func evaluate( + contextNode: Node, + type: UInt16? = nil, + result: XPathResult? = nil + ) -> XPathResult { let this = jsObject - return this[Strings.evaluate].function!(this: this, arguments: [_toJSValue(contextNode), _toJSValue(type), _toJSValue(result)]).fromJSValue()! + return this[Strings.evaluate].function!( + this: this, + arguments: [_toJSValue(contextNode), _toJSValue(type), _toJSValue(result)] + ).fromJSValue()! } } @@ -18935,16 +20721,7 @@ public class XPathResult: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _resultType = ReadonlyAttribute(jsObject: jsObject, name: Strings.resultType) - _numberValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberValue) - _stringValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.stringValue) - _booleanValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.booleanValue) - _singleNodeValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.singleNodeValue) - _invalidIteratorState = ReadonlyAttribute(jsObject: jsObject, name: Strings.invalidIteratorState) - _snapshotLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.snapshotLength) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } public static let ANY_TYPE: UInt16 = 0 @@ -18966,33 +20743,26 @@ public class XPathResult: JSBridgedClass { public static let FIRST_ORDERED_NODE_TYPE: UInt16 = 9 - @ReadonlyAttribute - public var resultType: UInt16 + @inlinable public var resultType: UInt16 { jsObject[Strings.resultType].fromJSValue()! } - @ReadonlyAttribute - public var numberValue: Double + @inlinable public var numberValue: Double { jsObject[Strings.numberValue].fromJSValue()! } - @ReadonlyAttribute - public var stringValue: String + @inlinable public var stringValue: String { jsObject[Strings.stringValue].fromJSValue()! } - @ReadonlyAttribute - public var booleanValue: Bool + @inlinable public var booleanValue: Bool { jsObject[Strings.booleanValue].fromJSValue()! } - @ReadonlyAttribute - public var singleNodeValue: Node? + @inlinable public var singleNodeValue: Node? { jsObject[Strings.singleNodeValue].fromJSValue() } - @ReadonlyAttribute - public var invalidIteratorState: Bool + @inlinable public var invalidIteratorState: Bool { jsObject[Strings.invalidIteratorState].fromJSValue()! } - @ReadonlyAttribute - public var snapshotLength: UInt32 + @inlinable public var snapshotLength: UInt32 { jsObject[Strings.snapshotLength].fromJSValue()! } - @inlinable public func iterateNext() -> Node? { + @inlinable final public func iterateNext() -> Node? { let this = jsObject return this[Strings.iterateNext].function!(this: this, arguments: []).fromJSValue() } - @inlinable public func snapshotItem(index: UInt32) -> Node? { + @inlinable final public func snapshotItem(index: UInt32) -> Node? { let this = jsObject return this[Strings.snapshotItem].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } @@ -19003,50 +20773,58 @@ public class XSLTProcessor: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public func importStylesheet(style: Node) { + @inlinable final public func importStylesheet(style: Node) { let this = jsObject _ = this[Strings.importStylesheet].function!(this: this, arguments: [_toJSValue(style)]) } - @inlinable public func transformToFragment(source: Node, output: Document) -> DocumentFragment { + @inlinable final public func transformToFragment(source: Node, output: Document) -> DocumentFragment { let this = jsObject - return this[Strings.transformToFragment].function!(this: this, arguments: [_toJSValue(source), _toJSValue(output)]).fromJSValue()! + return this[Strings.transformToFragment].function!( + this: this, + arguments: [_toJSValue(source), _toJSValue(output)] + ).fromJSValue()! } - @inlinable public func transformToDocument(source: Node) -> Document { + @inlinable final public func transformToDocument(source: Node) -> Document { let this = jsObject return this[Strings.transformToDocument].function!(this: this, arguments: [_toJSValue(source)]).fromJSValue()! } - @inlinable public func setParameter(namespaceURI: String, localName: String, value: JSValue) { + @inlinable final public func setParameter(namespaceURI: String, localName: String, value: JSValue) { let this = jsObject - _ = this[Strings.setParameter].function!(this: this, arguments: [_toJSValue(namespaceURI), _toJSValue(localName), _toJSValue(value)]) + _ = this[Strings.setParameter].function!( + this: this, + arguments: [_toJSValue(namespaceURI), _toJSValue(localName), _toJSValue(value)] + ) } - @inlinable public func getParameter(namespaceURI: String, localName: String) -> JSValue { + @inlinable final public func getParameter(namespaceURI: String, localName: String) -> JSValue { let this = jsObject - return this[Strings.getParameter].function!(this: this, arguments: [_toJSValue(namespaceURI), _toJSValue(localName)]).fromJSValue()! + return this[Strings.getParameter].function!( + this: this, + arguments: [_toJSValue(namespaceURI), _toJSValue(localName)] + ).fromJSValue()! } - @inlinable public func removeParameter(namespaceURI: String, localName: String) { + @inlinable final public func removeParameter(namespaceURI: String, localName: String) { let this = jsObject - _ = this[Strings.removeParameter].function!(this: this, arguments: [_toJSValue(namespaceURI), _toJSValue(localName)]) + _ = this[Strings.removeParameter].function!( + this: this, + arguments: [_toJSValue(namespaceURI), _toJSValue(localName)] + ) } - @inlinable public func clearParameters() { + @inlinable final public func clearParameters() { let this = jsObject _ = this[Strings.clearParameters].function!(this: this, arguments: []) } - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } @@ -19054,1720 +20832,1749 @@ public class XSLTProcessor: JSBridgedClass { @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let AbortController: JSString = "AbortController" - @usableFromInline static let AbortSignal: JSString = "AbortSignal" - @usableFromInline static let AbstractRange: JSString = "AbstractRange" - @usableFromInline static let AddSearchProvider: JSString = "AddSearchProvider" - @usableFromInline static let Attr: JSString = "Attr" - @usableFromInline static let AudioData: JSString = "AudioData" - @usableFromInline static let AudioDecoder: JSString = "AudioDecoder" - @usableFromInline static let AudioEncoder: JSString = "AudioEncoder" - @usableFromInline static let AudioTrack: JSString = "AudioTrack" - @usableFromInline static let AudioTrackList: JSString = "AudioTrackList" - @usableFromInline static let BarProp: JSString = "BarProp" - @usableFromInline static let BeforeUnloadEvent: JSString = "BeforeUnloadEvent" - @usableFromInline static let Blob: JSString = "Blob" - @usableFromInline static let BlobEvent: JSString = "BlobEvent" - @usableFromInline static let BroadcastChannel: JSString = "BroadcastChannel" - @usableFromInline static let ByteLengthQueuingStrategy: JSString = "ByteLengthQueuingStrategy" - @usableFromInline static let CDATASection: JSString = "CDATASection" - @usableFromInline static let CSSPseudoElement: JSString = "CSSPseudoElement" - @usableFromInline static let Cache: JSString = "Cache" - @usableFromInline static let CacheStorage: JSString = "CacheStorage" - @usableFromInline static let CanvasGradient: JSString = "CanvasGradient" - @usableFromInline static let CanvasPattern: JSString = "CanvasPattern" - @usableFromInline static let CanvasRenderingContext2D: JSString = "CanvasRenderingContext2D" - @usableFromInline static let CaretPosition: JSString = "CaretPosition" - @usableFromInline static let CharacterData: JSString = "CharacterData" - @usableFromInline static let Comment: JSString = "Comment" - @usableFromInline static let CompositionEvent: JSString = "CompositionEvent" - @usableFromInline static let CountQueuingStrategy: JSString = "CountQueuingStrategy" - @usableFromInline static let CustomElementRegistry: JSString = "CustomElementRegistry" - @usableFromInline static let CustomEvent: JSString = "CustomEvent" - @usableFromInline static let DOMImplementation: JSString = "DOMImplementation" - @usableFromInline static let DOMMatrix: JSString = "DOMMatrix" - @usableFromInline static let DOMMatrixReadOnly: JSString = "DOMMatrixReadOnly" - @usableFromInline static let DOMParser: JSString = "DOMParser" - @usableFromInline static let DOMPoint: JSString = "DOMPoint" - @usableFromInline static let DOMPointReadOnly: JSString = "DOMPointReadOnly" - @usableFromInline static let DOMQuad: JSString = "DOMQuad" - @usableFromInline static let DOMRect: JSString = "DOMRect" - @usableFromInline static let DOMRectList: JSString = "DOMRectList" - @usableFromInline static let DOMRectReadOnly: JSString = "DOMRectReadOnly" - @usableFromInline static let DOMStringList: JSString = "DOMStringList" - @usableFromInline static let DOMStringMap: JSString = "DOMStringMap" - @usableFromInline static let DOMTokenList: JSString = "DOMTokenList" - @usableFromInline static let DataTransfer: JSString = "DataTransfer" - @usableFromInline static let DataTransferItem: JSString = "DataTransferItem" - @usableFromInline static let DataTransferItemList: JSString = "DataTransferItemList" - @usableFromInline static let Document: JSString = "Document" - @usableFromInline static let DocumentFragment: JSString = "DocumentFragment" - @usableFromInline static let DocumentType: JSString = "DocumentType" - @usableFromInline static let DragEvent: JSString = "DragEvent" - @usableFromInline static let Element: JSString = "Element" - @usableFromInline static let ElementInternals: JSString = "ElementInternals" - @usableFromInline static let EncodedAudioChunk: JSString = "EncodedAudioChunk" - @usableFromInline static let EncodedVideoChunk: JSString = "EncodedVideoChunk" - @usableFromInline static let ErrorEvent: JSString = "ErrorEvent" - @usableFromInline static let Event: JSString = "Event" - @usableFromInline static let EventSource: JSString = "EventSource" - @usableFromInline static let EventTarget: JSString = "EventTarget" - @usableFromInline static let External: JSString = "External" - @usableFromInline static let File: JSString = "File" - @usableFromInline static let FileList: JSString = "FileList" - @usableFromInline static let FileReader: JSString = "FileReader" - @usableFromInline static let FocusEvent: JSString = "FocusEvent" - @usableFromInline static let FormData: JSString = "FormData" - @usableFromInline static let FormDataEvent: JSString = "FormDataEvent" - @usableFromInline static let HTMLAllCollection: JSString = "HTMLAllCollection" - @usableFromInline static let HTMLAnchorElement: JSString = "HTMLAnchorElement" - @usableFromInline static let HTMLAreaElement: JSString = "HTMLAreaElement" - @usableFromInline static let HTMLAudioElement: JSString = "HTMLAudioElement" - @usableFromInline static let HTMLBRElement: JSString = "HTMLBRElement" - @usableFromInline static let HTMLBaseElement: JSString = "HTMLBaseElement" - @usableFromInline static let HTMLBodyElement: JSString = "HTMLBodyElement" - @usableFromInline static let HTMLButtonElement: JSString = "HTMLButtonElement" - @usableFromInline static let HTMLCanvasElement: JSString = "HTMLCanvasElement" - @usableFromInline static let HTMLCollection: JSString = "HTMLCollection" - @usableFromInline static let HTMLDListElement: JSString = "HTMLDListElement" - @usableFromInline static let HTMLDataElement: JSString = "HTMLDataElement" - @usableFromInline static let HTMLDataListElement: JSString = "HTMLDataListElement" - @usableFromInline static let HTMLDetailsElement: JSString = "HTMLDetailsElement" - @usableFromInline static let HTMLDialogElement: JSString = "HTMLDialogElement" - @usableFromInline static let HTMLDirectoryElement: JSString = "HTMLDirectoryElement" - @usableFromInline static let HTMLDivElement: JSString = "HTMLDivElement" - @usableFromInline static let HTMLElement: JSString = "HTMLElement" - @usableFromInline static let HTMLEmbedElement: JSString = "HTMLEmbedElement" - @usableFromInline static let HTMLFieldSetElement: JSString = "HTMLFieldSetElement" - @usableFromInline static let HTMLFontElement: JSString = "HTMLFontElement" - @usableFromInline static let HTMLFormControlsCollection: JSString = "HTMLFormControlsCollection" - @usableFromInline static let HTMLFormElement: JSString = "HTMLFormElement" - @usableFromInline static let HTMLFrameElement: JSString = "HTMLFrameElement" - @usableFromInline static let HTMLFrameSetElement: JSString = "HTMLFrameSetElement" - @usableFromInline static let HTMLHRElement: JSString = "HTMLHRElement" - @usableFromInline static let HTMLHeadElement: JSString = "HTMLHeadElement" - @usableFromInline static let HTMLHeadingElement: JSString = "HTMLHeadingElement" - @usableFromInline static let HTMLHtmlElement: JSString = "HTMLHtmlElement" - @usableFromInline static let HTMLIFrameElement: JSString = "HTMLIFrameElement" - @usableFromInline static let HTMLImageElement: JSString = "HTMLImageElement" - @usableFromInline static let HTMLInputElement: JSString = "HTMLInputElement" - @usableFromInline static let HTMLLIElement: JSString = "HTMLLIElement" - @usableFromInline static let HTMLLabelElement: JSString = "HTMLLabelElement" - @usableFromInline static let HTMLLegendElement: JSString = "HTMLLegendElement" - @usableFromInline static let HTMLLinkElement: JSString = "HTMLLinkElement" - @usableFromInline static let HTMLMapElement: JSString = "HTMLMapElement" - @usableFromInline static let HTMLMarqueeElement: JSString = "HTMLMarqueeElement" - @usableFromInline static let HTMLMediaElement: JSString = "HTMLMediaElement" - @usableFromInline static let HTMLMenuElement: JSString = "HTMLMenuElement" - @usableFromInline static let HTMLMetaElement: JSString = "HTMLMetaElement" - @usableFromInline static let HTMLMeterElement: JSString = "HTMLMeterElement" - @usableFromInline static let HTMLModElement: JSString = "HTMLModElement" - @usableFromInline static let HTMLOListElement: JSString = "HTMLOListElement" - @usableFromInline static let HTMLObjectElement: JSString = "HTMLObjectElement" - @usableFromInline static let HTMLOptGroupElement: JSString = "HTMLOptGroupElement" - @usableFromInline static let HTMLOptionElement: JSString = "HTMLOptionElement" - @usableFromInline static let HTMLOptionsCollection: JSString = "HTMLOptionsCollection" - @usableFromInline static let HTMLOutputElement: JSString = "HTMLOutputElement" - @usableFromInline static let HTMLParagraphElement: JSString = "HTMLParagraphElement" - @usableFromInline static let HTMLParamElement: JSString = "HTMLParamElement" - @usableFromInline static let HTMLPictureElement: JSString = "HTMLPictureElement" - @usableFromInline static let HTMLPreElement: JSString = "HTMLPreElement" - @usableFromInline static let HTMLProgressElement: JSString = "HTMLProgressElement" - @usableFromInline static let HTMLQuoteElement: JSString = "HTMLQuoteElement" - @usableFromInline static let HTMLScriptElement: JSString = "HTMLScriptElement" - @usableFromInline static let HTMLSelectElement: JSString = "HTMLSelectElement" - @usableFromInline static let HTMLSlotElement: JSString = "HTMLSlotElement" - @usableFromInline static let HTMLSourceElement: JSString = "HTMLSourceElement" - @usableFromInline static let HTMLSpanElement: JSString = "HTMLSpanElement" - @usableFromInline static let HTMLStyleElement: JSString = "HTMLStyleElement" - @usableFromInline static let HTMLTableCaptionElement: JSString = "HTMLTableCaptionElement" - @usableFromInline static let HTMLTableCellElement: JSString = "HTMLTableCellElement" - @usableFromInline static let HTMLTableColElement: JSString = "HTMLTableColElement" - @usableFromInline static let HTMLTableElement: JSString = "HTMLTableElement" - @usableFromInline static let HTMLTableRowElement: JSString = "HTMLTableRowElement" - @usableFromInline static let HTMLTableSectionElement: JSString = "HTMLTableSectionElement" - @usableFromInline static let HTMLTemplateElement: JSString = "HTMLTemplateElement" - @usableFromInline static let HTMLTextAreaElement: JSString = "HTMLTextAreaElement" - @usableFromInline static let HTMLTimeElement: JSString = "HTMLTimeElement" - @usableFromInline static let HTMLTitleElement: JSString = "HTMLTitleElement" - @usableFromInline static let HTMLTrackElement: JSString = "HTMLTrackElement" - @usableFromInline static let HTMLUListElement: JSString = "HTMLUListElement" - @usableFromInline static let HTMLUnknownElement: JSString = "HTMLUnknownElement" - @usableFromInline static let HTMLVideoElement: JSString = "HTMLVideoElement" - @usableFromInline static let HashChangeEvent: JSString = "HashChangeEvent" - @usableFromInline static let Headers: JSString = "Headers" - @usableFromInline static let History: JSString = "History" - @usableFromInline static let ImageBitmap: JSString = "ImageBitmap" - @usableFromInline static let ImageBitmapRenderingContext: JSString = "ImageBitmapRenderingContext" - @usableFromInline static let ImageData: JSString = "ImageData" - @usableFromInline static let ImageDecoder: JSString = "ImageDecoder" - @usableFromInline static let ImageTrack: JSString = "ImageTrack" - @usableFromInline static let ImageTrackList: JSString = "ImageTrackList" - @usableFromInline static let InputDeviceInfo: JSString = "InputDeviceInfo" - @usableFromInline static let InputEvent: JSString = "InputEvent" - @usableFromInline static let IsSearchProviderInstalled: JSString = "IsSearchProviderInstalled" - @usableFromInline static let KeyboardEvent: JSString = "KeyboardEvent" - @usableFromInline static let Location: JSString = "Location" - @usableFromInline static let MathMLElement: JSString = "MathMLElement" - @usableFromInline static let MediaDeviceInfo: JSString = "MediaDeviceInfo" - @usableFromInline static let MediaDevices: JSString = "MediaDevices" - @usableFromInline static let MediaError: JSString = "MediaError" - @usableFromInline static let MediaQueryList: JSString = "MediaQueryList" - @usableFromInline static let MediaQueryListEvent: JSString = "MediaQueryListEvent" - @usableFromInline static let MediaRecorder: JSString = "MediaRecorder" - @usableFromInline static let MediaSource: JSString = "MediaSource" - @usableFromInline static let MediaSourceHandle: JSString = "MediaSourceHandle" - @usableFromInline static let MediaStream: JSString = "MediaStream" - @usableFromInline static let MediaStreamTrack: JSString = "MediaStreamTrack" - @usableFromInline static let MediaStreamTrackEvent: JSString = "MediaStreamTrackEvent" - @usableFromInline static let MessageChannel: JSString = "MessageChannel" - @usableFromInline static let MessageEvent: JSString = "MessageEvent" - @usableFromInline static let MessagePort: JSString = "MessagePort" - @usableFromInline static let MimeType: JSString = "MimeType" - @usableFromInline static let MimeTypeArray: JSString = "MimeTypeArray" - @usableFromInline static let MouseEvent: JSString = "MouseEvent" - @usableFromInline static let MutationEvent: JSString = "MutationEvent" - @usableFromInline static let MutationObserver: JSString = "MutationObserver" - @usableFromInline static let MutationRecord: JSString = "MutationRecord" - @usableFromInline static let NamedNodeMap: JSString = "NamedNodeMap" - @usableFromInline static let NavigateEvent: JSString = "NavigateEvent" - @usableFromInline static let Navigation: JSString = "Navigation" - @usableFromInline static let NavigationCurrentEntryChangeEvent: JSString = "NavigationCurrentEntryChangeEvent" - @usableFromInline static let NavigationDestination: JSString = "NavigationDestination" - @usableFromInline static let NavigationHistoryEntry: JSString = "NavigationHistoryEntry" - @usableFromInline static let NavigationPreloadManager: JSString = "NavigationPreloadManager" - @usableFromInline static let NavigationTransition: JSString = "NavigationTransition" - @usableFromInline static let Navigator: JSString = "Navigator" - @usableFromInline static let Node: JSString = "Node" - @usableFromInline static let NodeIterator: JSString = "NodeIterator" - @usableFromInline static let NodeList: JSString = "NodeList" - @usableFromInline static let Object: JSString = "Object" - @usableFromInline static let OffscreenCanvas: JSString = "OffscreenCanvas" - @usableFromInline static let OffscreenCanvasRenderingContext2D: JSString = "OffscreenCanvasRenderingContext2D" - @usableFromInline static let OverconstrainedError: JSString = "OverconstrainedError" - @usableFromInline static let PageTransitionEvent: JSString = "PageTransitionEvent" - @usableFromInline static let Path2D: JSString = "Path2D" - @usableFromInline static let Performance: JSString = "Performance" - @usableFromInline static let PerformanceEntry: JSString = "PerformanceEntry" - @usableFromInline static let PerformanceObserver: JSString = "PerformanceObserver" - @usableFromInline static let PerformanceObserverEntryList: JSString = "PerformanceObserverEntryList" - @usableFromInline static let PermissionStatus: JSString = "PermissionStatus" - @usableFromInline static let Permissions: JSString = "Permissions" - @usableFromInline static let Plugin: JSString = "Plugin" - @usableFromInline static let PluginArray: JSString = "PluginArray" - @usableFromInline static let PopStateEvent: JSString = "PopStateEvent" - @usableFromInline static let ProcessingInstruction: JSString = "ProcessingInstruction" - @usableFromInline static let ProgressEvent: JSString = "ProgressEvent" - @usableFromInline static let PromiseRejectionEvent: JSString = "PromiseRejectionEvent" - @usableFromInline static let RadioNodeList: JSString = "RadioNodeList" - @usableFromInline static let Range: JSString = "Range" - @usableFromInline static let ReadableByteStreamController: JSString = "ReadableByteStreamController" - @usableFromInline static let ReadableStream: JSString = "ReadableStream" - @usableFromInline static let ReadableStreamBYOBReader: JSString = "ReadableStreamBYOBReader" - @usableFromInline static let ReadableStreamBYOBRequest: JSString = "ReadableStreamBYOBRequest" - @usableFromInline static let ReadableStreamDefaultController: JSString = "ReadableStreamDefaultController" - @usableFromInline static let ReadableStreamDefaultReader: JSString = "ReadableStreamDefaultReader" - @usableFromInline static let Request: JSString = "Request" - @usableFromInline static let Response: JSString = "Response" - @usableFromInline static let Screen: JSString = "Screen" - @usableFromInline static let ServiceWorker: JSString = "ServiceWorker" - @usableFromInline static let ServiceWorkerContainer: JSString = "ServiceWorkerContainer" - @usableFromInline static let ServiceWorkerRegistration: JSString = "ServiceWorkerRegistration" - @usableFromInline static let ShadowRoot: JSString = "ShadowRoot" - @usableFromInline static let SharedWorker: JSString = "SharedWorker" - @usableFromInline static let SourceBuffer: JSString = "SourceBuffer" - @usableFromInline static let SourceBufferList: JSString = "SourceBufferList" - @usableFromInline static let StaticRange: JSString = "StaticRange" - @usableFromInline static let Storage: JSString = "Storage" - @usableFromInline static let StorageEvent: JSString = "StorageEvent" - @usableFromInline static let SubmitEvent: JSString = "SubmitEvent" - @usableFromInline static let Text: JSString = "Text" - @usableFromInline static let TextMetrics: JSString = "TextMetrics" - @usableFromInline static let TextTrack: JSString = "TextTrack" - @usableFromInline static let TextTrackCue: JSString = "TextTrackCue" - @usableFromInline static let TextTrackCueList: JSString = "TextTrackCueList" - @usableFromInline static let TextTrackList: JSString = "TextTrackList" - @usableFromInline static let TimeRanges: JSString = "TimeRanges" - @usableFromInline static let ToggleEvent: JSString = "ToggleEvent" - @usableFromInline static let Touch: JSString = "Touch" - @usableFromInline static let TouchEvent: JSString = "TouchEvent" - @usableFromInline static let TouchList: JSString = "TouchList" - @usableFromInline static let TrackEvent: JSString = "TrackEvent" - @usableFromInline static let TransformStream: JSString = "TransformStream" - @usableFromInline static let TransformStreamDefaultController: JSString = "TransformStreamDefaultController" - @usableFromInline static let TreeWalker: JSString = "TreeWalker" - @usableFromInline static let UIEvent: JSString = "UIEvent" - @usableFromInline static let URL: JSString = "URL" - @usableFromInline static let UserActivation: JSString = "UserActivation" - @usableFromInline static let ValidityState: JSString = "ValidityState" - @usableFromInline static let VideoColorSpace: JSString = "VideoColorSpace" - @usableFromInline static let VideoDecoder: JSString = "VideoDecoder" - @usableFromInline static let VideoEncoder: JSString = "VideoEncoder" - @usableFromInline static let VideoFrame: JSString = "VideoFrame" - @usableFromInline static let VideoTrack: JSString = "VideoTrack" - @usableFromInline static let VideoTrackList: JSString = "VideoTrackList" - @usableFromInline static let VisibilityStateEntry: JSString = "VisibilityStateEntry" - @usableFromInline static let VisualViewport: JSString = "VisualViewport" - @usableFromInline static let WheelEvent: JSString = "WheelEvent" - @usableFromInline static let Window: JSString = "Window" - @usableFromInline static let Worker: JSString = "Worker" - @usableFromInline static let Worklet: JSString = "Worklet" - @usableFromInline static let WritableStream: JSString = "WritableStream" - @usableFromInline static let WritableStreamDefaultController: JSString = "WritableStreamDefaultController" - @usableFromInline static let WritableStreamDefaultWriter: JSString = "WritableStreamDefaultWriter" - @usableFromInline static let XMLDocument: JSString = "XMLDocument" - @usableFromInline static let XMLHttpRequest: JSString = "XMLHttpRequest" - @usableFromInline static let XMLHttpRequestEventTarget: JSString = "XMLHttpRequestEventTarget" - @usableFromInline static let XMLHttpRequestUpload: JSString = "XMLHttpRequestUpload" - @usableFromInline static let XPathEvaluator: JSString = "XPathEvaluator" - @usableFromInline static let XPathExpression: JSString = "XPathExpression" - @usableFromInline static let XPathResult: JSString = "XPathResult" - @usableFromInline static let XSLTProcessor: JSString = "XSLTProcessor" - @usableFromInline static let a: JSString = "a" - @usableFromInline static let aLink: JSString = "aLink" - @usableFromInline static let abbr: JSString = "abbr" - @usableFromInline static let abort: JSString = "abort" - @usableFromInline static let aborted: JSString = "aborted" - @usableFromInline static let accept: JSString = "accept" - @usableFromInline static let acceptCharset: JSString = "acceptCharset" - @usableFromInline static let accessKey: JSString = "accessKey" - @usableFromInline static let accessKeyLabel: JSString = "accessKeyLabel" - @usableFromInline static let action: JSString = "action" - @usableFromInline static let active: JSString = "active" - @usableFromInline static let activeCues: JSString = "activeCues" - @usableFromInline static let activeElement: JSString = "activeElement" - @usableFromInline static let activeSourceBuffers: JSString = "activeSourceBuffers" - @usableFromInline static let actualBoundingBoxAscent: JSString = "actualBoundingBoxAscent" - @usableFromInline static let actualBoundingBoxDescent: JSString = "actualBoundingBoxDescent" - @usableFromInline static let actualBoundingBoxLeft: JSString = "actualBoundingBoxLeft" - @usableFromInline static let actualBoundingBoxRight: JSString = "actualBoundingBoxRight" - @usableFromInline static let add: JSString = "add" - @usableFromInline static let addAll: JSString = "addAll" - @usableFromInline static let addColorStop: JSString = "addColorStop" - @usableFromInline static let addCue: JSString = "addCue" - @usableFromInline static let addEventListener: JSString = "addEventListener" - @usableFromInline static let addListener: JSString = "addListener" - @usableFromInline static let addModule: JSString = "addModule" - @usableFromInline static let addPath: JSString = "addPath" - @usableFromInline static let addSourceBuffer: JSString = "addSourceBuffer" - @usableFromInline static let addTextTrack: JSString = "addTextTrack" - @usableFromInline static let addTrack: JSString = "addTrack" - @usableFromInline static let addedNodes: JSString = "addedNodes" - @usableFromInline static let adoptNode: JSString = "adoptNode" - @usableFromInline static let advanced: JSString = "advanced" - @usableFromInline static let after: JSString = "after" - @usableFromInline static let alert: JSString = "alert" - @usableFromInline static let align: JSString = "align" - @usableFromInline static let alinkColor: JSString = "alinkColor" - @usableFromInline static let all: JSString = "all" - @usableFromInline static let allocationSize: JSString = "allocationSize" - @usableFromInline static let allow: JSString = "allow" - @usableFromInline static let allowFullscreen: JSString = "allowFullscreen" - @usableFromInline static let alpha: JSString = "alpha" - @usableFromInline static let alphaSideData: JSString = "alphaSideData" - @usableFromInline static let alphabeticBaseline: JSString = "alphabeticBaseline" - @usableFromInline static let alt: JSString = "alt" - @usableFromInline static let altKey: JSString = "altKey" - @usableFromInline static let altitudeAngle: JSString = "altitudeAngle" - @usableFromInline static let ancestorOrigins: JSString = "ancestorOrigins" - @usableFromInline static let anchors: JSString = "anchors" - @usableFromInline static let animated: JSString = "animated" - @usableFromInline static let any: JSString = "any" - @usableFromInline static let appCodeName: JSString = "appCodeName" - @usableFromInline static let appName: JSString = "appName" - @usableFromInline static let appVersion: JSString = "appVersion" - @usableFromInline static let append: JSString = "append" - @usableFromInline static let appendBuffer: JSString = "appendBuffer" - @usableFromInline static let appendChild: JSString = "appendChild" - @usableFromInline static let appendData: JSString = "appendData" - @usableFromInline static let appendWindowEnd: JSString = "appendWindowEnd" - @usableFromInline static let appendWindowStart: JSString = "appendWindowStart" - @usableFromInline static let applets: JSString = "applets" - @usableFromInline static let applyConstraints: JSString = "applyConstraints" - @usableFromInline static let arc: JSString = "arc" - @usableFromInline static let arcTo: JSString = "arcTo" - @usableFromInline static let archive: JSString = "archive" - @usableFromInline static let areas: JSString = "areas" - @usableFromInline static let ariaActiveDescendantElement: JSString = "ariaActiveDescendantElement" - @usableFromInline static let ariaAtomic: JSString = "ariaAtomic" - @usableFromInline static let ariaAutoComplete: JSString = "ariaAutoComplete" - @usableFromInline static let ariaBusy: JSString = "ariaBusy" - @usableFromInline static let ariaChecked: JSString = "ariaChecked" - @usableFromInline static let ariaColCount: JSString = "ariaColCount" - @usableFromInline static let ariaColIndex: JSString = "ariaColIndex" - @usableFromInline static let ariaColIndexText: JSString = "ariaColIndexText" - @usableFromInline static let ariaColSpan: JSString = "ariaColSpan" - @usableFromInline static let ariaControlsElements: JSString = "ariaControlsElements" - @usableFromInline static let ariaCurrent: JSString = "ariaCurrent" - @usableFromInline static let ariaDescribedByElements: JSString = "ariaDescribedByElements" - @usableFromInline static let ariaDescription: JSString = "ariaDescription" - @usableFromInline static let ariaDetailsElements: JSString = "ariaDetailsElements" - @usableFromInline static let ariaDisabled: JSString = "ariaDisabled" - @usableFromInline static let ariaErrorMessageElements: JSString = "ariaErrorMessageElements" - @usableFromInline static let ariaExpanded: JSString = "ariaExpanded" - @usableFromInline static let ariaFlowToElements: JSString = "ariaFlowToElements" - @usableFromInline static let ariaHasPopup: JSString = "ariaHasPopup" - @usableFromInline static let ariaHidden: JSString = "ariaHidden" - @usableFromInline static let ariaInvalid: JSString = "ariaInvalid" - @usableFromInline static let ariaKeyShortcuts: JSString = "ariaKeyShortcuts" - @usableFromInline static let ariaLabel: JSString = "ariaLabel" - @usableFromInline static let ariaLabelledByElements: JSString = "ariaLabelledByElements" - @usableFromInline static let ariaLevel: JSString = "ariaLevel" - @usableFromInline static let ariaLive: JSString = "ariaLive" - @usableFromInline static let ariaModal: JSString = "ariaModal" - @usableFromInline static let ariaMultiLine: JSString = "ariaMultiLine" - @usableFromInline static let ariaMultiSelectable: JSString = "ariaMultiSelectable" - @usableFromInline static let ariaOrientation: JSString = "ariaOrientation" - @usableFromInline static let ariaOwnsElements: JSString = "ariaOwnsElements" - @usableFromInline static let ariaPlaceholder: JSString = "ariaPlaceholder" - @usableFromInline static let ariaPosInSet: JSString = "ariaPosInSet" - @usableFromInline static let ariaPressed: JSString = "ariaPressed" - @usableFromInline static let ariaReadOnly: JSString = "ariaReadOnly" - @usableFromInline static let ariaRequired: JSString = "ariaRequired" - @usableFromInline static let ariaRoleDescription: JSString = "ariaRoleDescription" - @usableFromInline static let ariaRowCount: JSString = "ariaRowCount" - @usableFromInline static let ariaRowIndex: JSString = "ariaRowIndex" - @usableFromInline static let ariaRowIndexText: JSString = "ariaRowIndexText" - @usableFromInline static let ariaRowSpan: JSString = "ariaRowSpan" - @usableFromInline static let ariaSelected: JSString = "ariaSelected" - @usableFromInline static let ariaSetSize: JSString = "ariaSetSize" - @usableFromInline static let ariaSort: JSString = "ariaSort" - @usableFromInline static let ariaValueMax: JSString = "ariaValueMax" - @usableFromInline static let ariaValueMin: JSString = "ariaValueMin" - @usableFromInline static let ariaValueNow: JSString = "ariaValueNow" - @usableFromInline static let ariaValueText: JSString = "ariaValueText" - @usableFromInline static let arrayBuffer: JSString = "arrayBuffer" + @usableFromInline static let `AbortController`: JSString = "AbortController" + @usableFromInline static let `AbortSignal`: JSString = "AbortSignal" + @usableFromInline static let `AbstractRange`: JSString = "AbstractRange" + @usableFromInline static let `AddSearchProvider`: JSString = "AddSearchProvider" + @usableFromInline static let `Attr`: JSString = "Attr" + @usableFromInline static let `AudioData`: JSString = "AudioData" + @usableFromInline static let `AudioDecoder`: JSString = "AudioDecoder" + @usableFromInline static let `AudioEncoder`: JSString = "AudioEncoder" + @usableFromInline static let `AudioTrack`: JSString = "AudioTrack" + @usableFromInline static let `AudioTrackList`: JSString = "AudioTrackList" + @usableFromInline static let `BarProp`: JSString = "BarProp" + @usableFromInline static let `BeforeUnloadEvent`: JSString = "BeforeUnloadEvent" + @usableFromInline static let `Blob`: JSString = "Blob" + @usableFromInline static let `BlobEvent`: JSString = "BlobEvent" + @usableFromInline static let `BroadcastChannel`: JSString = "BroadcastChannel" + @usableFromInline static let `ByteLengthQueuingStrategy`: JSString = "ByteLengthQueuingStrategy" + @usableFromInline static let `CDATASection`: JSString = "CDATASection" + @usableFromInline static let `CSSPseudoElement`: JSString = "CSSPseudoElement" + @usableFromInline static let `Cache`: JSString = "Cache" + @usableFromInline static let `CacheStorage`: JSString = "CacheStorage" + @usableFromInline static let `CanvasGradient`: JSString = "CanvasGradient" + @usableFromInline static let `CanvasPattern`: JSString = "CanvasPattern" + @usableFromInline static let `CanvasRenderingContext2D`: JSString = "CanvasRenderingContext2D" + @usableFromInline static let `CaretPosition`: JSString = "CaretPosition" + @usableFromInline static let `CharacterData`: JSString = "CharacterData" + @usableFromInline static let `Comment`: JSString = "Comment" + @usableFromInline static let `CompositionEvent`: JSString = "CompositionEvent" + @usableFromInline static let `CountQueuingStrategy`: JSString = "CountQueuingStrategy" + @usableFromInline static let `CustomElementRegistry`: JSString = "CustomElementRegistry" + @usableFromInline static let `CustomEvent`: JSString = "CustomEvent" + @usableFromInline static let `DOMImplementation`: JSString = "DOMImplementation" + @usableFromInline static let `DOMMatrix`: JSString = "DOMMatrix" + @usableFromInline static let `DOMMatrixReadOnly`: JSString = "DOMMatrixReadOnly" + @usableFromInline static let `DOMParser`: JSString = "DOMParser" + @usableFromInline static let `DOMPoint`: JSString = "DOMPoint" + @usableFromInline static let `DOMPointReadOnly`: JSString = "DOMPointReadOnly" + @usableFromInline static let `DOMQuad`: JSString = "DOMQuad" + @usableFromInline static let `DOMRect`: JSString = "DOMRect" + @usableFromInline static let `DOMRectList`: JSString = "DOMRectList" + @usableFromInline static let `DOMRectReadOnly`: JSString = "DOMRectReadOnly" + @usableFromInline static let `DOMStringList`: JSString = "DOMStringList" + @usableFromInline static let `DOMStringMap`: JSString = "DOMStringMap" + @usableFromInline static let `DOMTokenList`: JSString = "DOMTokenList" + @usableFromInline static let `DataTransfer`: JSString = "DataTransfer" + @usableFromInline static let `DataTransferItem`: JSString = "DataTransferItem" + @usableFromInline static let `DataTransferItemList`: JSString = "DataTransferItemList" + @usableFromInline static let `Document`: JSString = "Document" + @usableFromInline static let `DocumentFragment`: JSString = "DocumentFragment" + @usableFromInline static let `DocumentType`: JSString = "DocumentType" + @usableFromInline static let `DragEvent`: JSString = "DragEvent" + @usableFromInline static let `Element`: JSString = "Element" + @usableFromInline static let `ElementInternals`: JSString = "ElementInternals" + @usableFromInline static let `EncodedAudioChunk`: JSString = "EncodedAudioChunk" + @usableFromInline static let `EncodedVideoChunk`: JSString = "EncodedVideoChunk" + @usableFromInline static let `ErrorEvent`: JSString = "ErrorEvent" + @usableFromInline static let `Event`: JSString = "Event" + @usableFromInline static let `EventSource`: JSString = "EventSource" + @usableFromInline static let `EventTarget`: JSString = "EventTarget" + @usableFromInline static let `External`: JSString = "External" + @usableFromInline static let `File`: JSString = "File" + @usableFromInline static let `FileList`: JSString = "FileList" + @usableFromInline static let `FileReader`: JSString = "FileReader" + @usableFromInline static let `FocusEvent`: JSString = "FocusEvent" + @usableFromInline static let `FormData`: JSString = "FormData" + @usableFromInline static let `FormDataEvent`: JSString = "FormDataEvent" + @usableFromInline static let `HTMLAllCollection`: JSString = "HTMLAllCollection" + @usableFromInline static let `HTMLAnchorElement`: JSString = "HTMLAnchorElement" + @usableFromInline static let `HTMLAreaElement`: JSString = "HTMLAreaElement" + @usableFromInline static let `HTMLAudioElement`: JSString = "HTMLAudioElement" + @usableFromInline static let `HTMLBRElement`: JSString = "HTMLBRElement" + @usableFromInline static let `HTMLBaseElement`: JSString = "HTMLBaseElement" + @usableFromInline static let `HTMLBodyElement`: JSString = "HTMLBodyElement" + @usableFromInline static let `HTMLButtonElement`: JSString = "HTMLButtonElement" + @usableFromInline static let `HTMLCanvasElement`: JSString = "HTMLCanvasElement" + @usableFromInline static let `HTMLCollection`: JSString = "HTMLCollection" + @usableFromInline static let `HTMLDListElement`: JSString = "HTMLDListElement" + @usableFromInline static let `HTMLDataElement`: JSString = "HTMLDataElement" + @usableFromInline static let `HTMLDataListElement`: JSString = "HTMLDataListElement" + @usableFromInline static let `HTMLDetailsElement`: JSString = "HTMLDetailsElement" + @usableFromInline static let `HTMLDialogElement`: JSString = "HTMLDialogElement" + @usableFromInline static let `HTMLDirectoryElement`: JSString = "HTMLDirectoryElement" + @usableFromInline static let `HTMLDivElement`: JSString = "HTMLDivElement" + @usableFromInline static let `HTMLElement`: JSString = "HTMLElement" + @usableFromInline static let `HTMLEmbedElement`: JSString = "HTMLEmbedElement" + @usableFromInline static let `HTMLFieldSetElement`: JSString = "HTMLFieldSetElement" + @usableFromInline static let `HTMLFontElement`: JSString = "HTMLFontElement" + @usableFromInline static let `HTMLFormControlsCollection`: JSString = "HTMLFormControlsCollection" + @usableFromInline static let `HTMLFormElement`: JSString = "HTMLFormElement" + @usableFromInline static let `HTMLFrameElement`: JSString = "HTMLFrameElement" + @usableFromInline static let `HTMLFrameSetElement`: JSString = "HTMLFrameSetElement" + @usableFromInline static let `HTMLHRElement`: JSString = "HTMLHRElement" + @usableFromInline static let `HTMLHeadElement`: JSString = "HTMLHeadElement" + @usableFromInline static let `HTMLHeadingElement`: JSString = "HTMLHeadingElement" + @usableFromInline static let `HTMLHtmlElement`: JSString = "HTMLHtmlElement" + @usableFromInline static let `HTMLIFrameElement`: JSString = "HTMLIFrameElement" + @usableFromInline static let `HTMLImageElement`: JSString = "HTMLImageElement" + @usableFromInline static let `HTMLInputElement`: JSString = "HTMLInputElement" + @usableFromInline static let `HTMLLIElement`: JSString = "HTMLLIElement" + @usableFromInline static let `HTMLLabelElement`: JSString = "HTMLLabelElement" + @usableFromInline static let `HTMLLegendElement`: JSString = "HTMLLegendElement" + @usableFromInline static let `HTMLLinkElement`: JSString = "HTMLLinkElement" + @usableFromInline static let `HTMLMapElement`: JSString = "HTMLMapElement" + @usableFromInline static let `HTMLMarqueeElement`: JSString = "HTMLMarqueeElement" + @usableFromInline static let `HTMLMediaElement`: JSString = "HTMLMediaElement" + @usableFromInline static let `HTMLMenuElement`: JSString = "HTMLMenuElement" + @usableFromInline static let `HTMLMetaElement`: JSString = "HTMLMetaElement" + @usableFromInline static let `HTMLMeterElement`: JSString = "HTMLMeterElement" + @usableFromInline static let `HTMLModElement`: JSString = "HTMLModElement" + @usableFromInline static let `HTMLOListElement`: JSString = "HTMLOListElement" + @usableFromInline static let `HTMLObjectElement`: JSString = "HTMLObjectElement" + @usableFromInline static let `HTMLOptGroupElement`: JSString = "HTMLOptGroupElement" + @usableFromInline static let `HTMLOptionElement`: JSString = "HTMLOptionElement" + @usableFromInline static let `HTMLOptionsCollection`: JSString = "HTMLOptionsCollection" + @usableFromInline static let `HTMLOutputElement`: JSString = "HTMLOutputElement" + @usableFromInline static let `HTMLParagraphElement`: JSString = "HTMLParagraphElement" + @usableFromInline static let `HTMLParamElement`: JSString = "HTMLParamElement" + @usableFromInline static let `HTMLPictureElement`: JSString = "HTMLPictureElement" + @usableFromInline static let `HTMLPreElement`: JSString = "HTMLPreElement" + @usableFromInline static let `HTMLProgressElement`: JSString = "HTMLProgressElement" + @usableFromInline static let `HTMLQuoteElement`: JSString = "HTMLQuoteElement" + @usableFromInline static let `HTMLScriptElement`: JSString = "HTMLScriptElement" + @usableFromInline static let `HTMLSelectElement`: JSString = "HTMLSelectElement" + @usableFromInline static let `HTMLSlotElement`: JSString = "HTMLSlotElement" + @usableFromInline static let `HTMLSourceElement`: JSString = "HTMLSourceElement" + @usableFromInline static let `HTMLSpanElement`: JSString = "HTMLSpanElement" + @usableFromInline static let `HTMLStyleElement`: JSString = "HTMLStyleElement" + @usableFromInline static let `HTMLTableCaptionElement`: JSString = "HTMLTableCaptionElement" + @usableFromInline static let `HTMLTableCellElement`: JSString = "HTMLTableCellElement" + @usableFromInline static let `HTMLTableColElement`: JSString = "HTMLTableColElement" + @usableFromInline static let `HTMLTableElement`: JSString = "HTMLTableElement" + @usableFromInline static let `HTMLTableRowElement`: JSString = "HTMLTableRowElement" + @usableFromInline static let `HTMLTableSectionElement`: JSString = "HTMLTableSectionElement" + @usableFromInline static let `HTMLTemplateElement`: JSString = "HTMLTemplateElement" + @usableFromInline static let `HTMLTextAreaElement`: JSString = "HTMLTextAreaElement" + @usableFromInline static let `HTMLTimeElement`: JSString = "HTMLTimeElement" + @usableFromInline static let `HTMLTitleElement`: JSString = "HTMLTitleElement" + @usableFromInline static let `HTMLTrackElement`: JSString = "HTMLTrackElement" + @usableFromInline static let `HTMLUListElement`: JSString = "HTMLUListElement" + @usableFromInline static let `HTMLUnknownElement`: JSString = "HTMLUnknownElement" + @usableFromInline static let `HTMLVideoElement`: JSString = "HTMLVideoElement" + @usableFromInline static let `HashChangeEvent`: JSString = "HashChangeEvent" + @usableFromInline static let `Headers`: JSString = "Headers" + @usableFromInline static let `History`: JSString = "History" + @usableFromInline static let `ImageBitmap`: JSString = "ImageBitmap" + @usableFromInline static let `ImageBitmapRenderingContext`: JSString = "ImageBitmapRenderingContext" + @usableFromInline static let `ImageData`: JSString = "ImageData" + @usableFromInline static let `ImageDecoder`: JSString = "ImageDecoder" + @usableFromInline static let `ImageTrack`: JSString = "ImageTrack" + @usableFromInline static let `ImageTrackList`: JSString = "ImageTrackList" + @usableFromInline static let `InputDeviceInfo`: JSString = "InputDeviceInfo" + @usableFromInline static let `InputEvent`: JSString = "InputEvent" + @usableFromInline static let `IsSearchProviderInstalled`: JSString = "IsSearchProviderInstalled" + @usableFromInline static let `KeyboardEvent`: JSString = "KeyboardEvent" + @usableFromInline static let `Location`: JSString = "Location" + @usableFromInline static let `MathMLElement`: JSString = "MathMLElement" + @usableFromInline static let `MediaDeviceInfo`: JSString = "MediaDeviceInfo" + @usableFromInline static let `MediaDevices`: JSString = "MediaDevices" + @usableFromInline static let `MediaError`: JSString = "MediaError" + @usableFromInline static let `MediaQueryList`: JSString = "MediaQueryList" + @usableFromInline static let `MediaQueryListEvent`: JSString = "MediaQueryListEvent" + @usableFromInline static let `MediaRecorder`: JSString = "MediaRecorder" + @usableFromInline static let `MediaSource`: JSString = "MediaSource" + @usableFromInline static let `MediaSourceHandle`: JSString = "MediaSourceHandle" + @usableFromInline static let `MediaStream`: JSString = "MediaStream" + @usableFromInline static let `MediaStreamTrack`: JSString = "MediaStreamTrack" + @usableFromInline static let `MediaStreamTrackEvent`: JSString = "MediaStreamTrackEvent" + @usableFromInline static let `MessageChannel`: JSString = "MessageChannel" + @usableFromInline static let `MessageEvent`: JSString = "MessageEvent" + @usableFromInline static let `MessagePort`: JSString = "MessagePort" + @usableFromInline static let `MimeType`: JSString = "MimeType" + @usableFromInline static let `MimeTypeArray`: JSString = "MimeTypeArray" + @usableFromInline static let `MouseEvent`: JSString = "MouseEvent" + @usableFromInline static let `MutationEvent`: JSString = "MutationEvent" + @usableFromInline static let `MutationObserver`: JSString = "MutationObserver" + @usableFromInline static let `MutationRecord`: JSString = "MutationRecord" + @usableFromInline static let `NamedNodeMap`: JSString = "NamedNodeMap" + @usableFromInline static let `NavigateEvent`: JSString = "NavigateEvent" + @usableFromInline static let `Navigation`: JSString = "Navigation" + @usableFromInline static let `NavigationCurrentEntryChangeEvent`: JSString = "NavigationCurrentEntryChangeEvent" + @usableFromInline static let `NavigationDestination`: JSString = "NavigationDestination" + @usableFromInline static let `NavigationHistoryEntry`: JSString = "NavigationHistoryEntry" + @usableFromInline static let `NavigationPreloadManager`: JSString = "NavigationPreloadManager" + @usableFromInline static let `NavigationTransition`: JSString = "NavigationTransition" + @usableFromInline static let `Navigator`: JSString = "Navigator" + @usableFromInline static let `Node`: JSString = "Node" + @usableFromInline static let `NodeIterator`: JSString = "NodeIterator" + @usableFromInline static let `NodeList`: JSString = "NodeList" + @usableFromInline static let `Object`: JSString = "Object" + @usableFromInline static let `OffscreenCanvas`: JSString = "OffscreenCanvas" + @usableFromInline static let `OffscreenCanvasRenderingContext2D`: JSString = "OffscreenCanvasRenderingContext2D" + @usableFromInline static let `OverconstrainedError`: JSString = "OverconstrainedError" + @usableFromInline static let `PageTransitionEvent`: JSString = "PageTransitionEvent" + @usableFromInline static let `Path2D`: JSString = "Path2D" + @usableFromInline static let `Performance`: JSString = "Performance" + @usableFromInline static let `PerformanceEntry`: JSString = "PerformanceEntry" + @usableFromInline static let `PerformanceObserver`: JSString = "PerformanceObserver" + @usableFromInline static let `PerformanceObserverEntryList`: JSString = "PerformanceObserverEntryList" + @usableFromInline static let `PermissionStatus`: JSString = "PermissionStatus" + @usableFromInline static let `Permissions`: JSString = "Permissions" + @usableFromInline static let `Plugin`: JSString = "Plugin" + @usableFromInline static let `PluginArray`: JSString = "PluginArray" + @usableFromInline static let `PopStateEvent`: JSString = "PopStateEvent" + @usableFromInline static let `ProcessingInstruction`: JSString = "ProcessingInstruction" + @usableFromInline static let `ProgressEvent`: JSString = "ProgressEvent" + @usableFromInline static let `PromiseRejectionEvent`: JSString = "PromiseRejectionEvent" + @usableFromInline static let `RadioNodeList`: JSString = "RadioNodeList" + @usableFromInline static let `Range`: JSString = "Range" + @usableFromInline static let `ReadableByteStreamController`: JSString = "ReadableByteStreamController" + @usableFromInline static let `ReadableStream`: JSString = "ReadableStream" + @usableFromInline static let `ReadableStreamBYOBReader`: JSString = "ReadableStreamBYOBReader" + @usableFromInline static let `ReadableStreamBYOBRequest`: JSString = "ReadableStreamBYOBRequest" + @usableFromInline static let `ReadableStreamDefaultController`: JSString = "ReadableStreamDefaultController" + @usableFromInline static let `ReadableStreamDefaultReader`: JSString = "ReadableStreamDefaultReader" + @usableFromInline static let `Request`: JSString = "Request" + @usableFromInline static let `Response`: JSString = "Response" + @usableFromInline static let `Screen`: JSString = "Screen" + @usableFromInline static let `ServiceWorker`: JSString = "ServiceWorker" + @usableFromInline static let `ServiceWorkerContainer`: JSString = "ServiceWorkerContainer" + @usableFromInline static let `ServiceWorkerRegistration`: JSString = "ServiceWorkerRegistration" + @usableFromInline static let `ShadowRoot`: JSString = "ShadowRoot" + @usableFromInline static let `SharedWorker`: JSString = "SharedWorker" + @usableFromInline static let `SourceBuffer`: JSString = "SourceBuffer" + @usableFromInline static let `SourceBufferList`: JSString = "SourceBufferList" + @usableFromInline static let `StaticRange`: JSString = "StaticRange" + @usableFromInline static let `Storage`: JSString = "Storage" + @usableFromInline static let `StorageEvent`: JSString = "StorageEvent" + @usableFromInline static let `SubmitEvent`: JSString = "SubmitEvent" + @usableFromInline static let `Text`: JSString = "Text" + @usableFromInline static let `TextMetrics`: JSString = "TextMetrics" + @usableFromInline static let `TextTrack`: JSString = "TextTrack" + @usableFromInline static let `TextTrackCue`: JSString = "TextTrackCue" + @usableFromInline static let `TextTrackCueList`: JSString = "TextTrackCueList" + @usableFromInline static let `TextTrackList`: JSString = "TextTrackList" + @usableFromInline static let `TimeRanges`: JSString = "TimeRanges" + @usableFromInline static let `ToggleEvent`: JSString = "ToggleEvent" + @usableFromInline static let `Touch`: JSString = "Touch" + @usableFromInline static let `TouchEvent`: JSString = "TouchEvent" + @usableFromInline static let `TouchList`: JSString = "TouchList" + @usableFromInline static let `TrackEvent`: JSString = "TrackEvent" + @usableFromInline static let `TransformStream`: JSString = "TransformStream" + @usableFromInline static let `TransformStreamDefaultController`: JSString = "TransformStreamDefaultController" + @usableFromInline static let `TreeWalker`: JSString = "TreeWalker" + @usableFromInline static let `TrustedHTML`: JSString = "TrustedHTML" + @usableFromInline static let `TrustedScript`: JSString = "TrustedScript" + @usableFromInline static let `TrustedScriptURL`: JSString = "TrustedScriptURL" + @usableFromInline static let `TrustedTypePolicy`: JSString = "TrustedTypePolicy" + @usableFromInline static let `TrustedTypePolicyFactory`: JSString = "TrustedTypePolicyFactory" + @usableFromInline static let `UIEvent`: JSString = "UIEvent" + @usableFromInline static let `URL`: JSString = "URL" + @usableFromInline static let `URLPattern`: JSString = "URLPattern" + @usableFromInline static let `UserActivation`: JSString = "UserActivation" + @usableFromInline static let `ValidityState`: JSString = "ValidityState" + @usableFromInline static let `VideoColorSpace`: JSString = "VideoColorSpace" + @usableFromInline static let `VideoDecoder`: JSString = "VideoDecoder" + @usableFromInline static let `VideoEncoder`: JSString = "VideoEncoder" + @usableFromInline static let `VideoFrame`: JSString = "VideoFrame" + @usableFromInline static let `VideoTrack`: JSString = "VideoTrack" + @usableFromInline static let `VideoTrackList`: JSString = "VideoTrackList" + @usableFromInline static let `ViewTransition`: JSString = "ViewTransition" + @usableFromInline static let `VisibilityStateEntry`: JSString = "VisibilityStateEntry" + @usableFromInline static let `VisualViewport`: JSString = "VisualViewport" + @usableFromInline static let `WheelEvent`: JSString = "WheelEvent" + @usableFromInline static let `Window`: JSString = "Window" + @usableFromInline static let `Worker`: JSString = "Worker" + @usableFromInline static let `Worklet`: JSString = "Worklet" + @usableFromInline static let `WritableStream`: JSString = "WritableStream" + @usableFromInline static let `WritableStreamDefaultController`: JSString = "WritableStreamDefaultController" + @usableFromInline static let `WritableStreamDefaultWriter`: JSString = "WritableStreamDefaultWriter" + @usableFromInline static let `XMLDocument`: JSString = "XMLDocument" + @usableFromInline static let `XMLHttpRequest`: JSString = "XMLHttpRequest" + @usableFromInline static let `XMLHttpRequestEventTarget`: JSString = "XMLHttpRequestEventTarget" + @usableFromInline static let `XMLHttpRequestUpload`: JSString = "XMLHttpRequestUpload" + @usableFromInline static let `XPathEvaluator`: JSString = "XPathEvaluator" + @usableFromInline static let `XPathExpression`: JSString = "XPathExpression" + @usableFromInline static let `XPathResult`: JSString = "XPathResult" + @usableFromInline static let `XSLTProcessor`: JSString = "XSLTProcessor" + @usableFromInline static let `a`: JSString = "a" + @usableFromInline static let `aLink`: JSString = "aLink" + @usableFromInline static let `abbr`: JSString = "abbr" + @usableFromInline static let `abort`: JSString = "abort" + @usableFromInline static let `aborted`: JSString = "aborted" + @usableFromInline static let `accept`: JSString = "accept" + @usableFromInline static let `acceptCharset`: JSString = "acceptCharset" + @usableFromInline static let `accessKey`: JSString = "accessKey" + @usableFromInline static let `accessKeyLabel`: JSString = "accessKeyLabel" + @usableFromInline static let `action`: JSString = "action" + @usableFromInline static let `active`: JSString = "active" + @usableFromInline static let `activeCues`: JSString = "activeCues" + @usableFromInline static let `activeElement`: JSString = "activeElement" + @usableFromInline static let `activeSourceBuffers`: JSString = "activeSourceBuffers" + @usableFromInline static let `actualBoundingBoxAscent`: JSString = "actualBoundingBoxAscent" + @usableFromInline static let `actualBoundingBoxDescent`: JSString = "actualBoundingBoxDescent" + @usableFromInline static let `actualBoundingBoxLeft`: JSString = "actualBoundingBoxLeft" + @usableFromInline static let `actualBoundingBoxRight`: JSString = "actualBoundingBoxRight" + @usableFromInline static let `add`: JSString = "add" + @usableFromInline static let `addAll`: JSString = "addAll" + @usableFromInline static let `addColorStop`: JSString = "addColorStop" + @usableFromInline static let `addCue`: JSString = "addCue" + @usableFromInline static let `addEventListener`: JSString = "addEventListener" + @usableFromInline static let `addListener`: JSString = "addListener" + @usableFromInline static let `addModule`: JSString = "addModule" + @usableFromInline static let `addPath`: JSString = "addPath" + @usableFromInline static let `addSourceBuffer`: JSString = "addSourceBuffer" + @usableFromInline static let `addTextTrack`: JSString = "addTextTrack" + @usableFromInline static let `addTrack`: JSString = "addTrack" + @usableFromInline static let `addedNodes`: JSString = "addedNodes" + @usableFromInline static let `adoptNode`: JSString = "adoptNode" + @usableFromInline static let `advanced`: JSString = "advanced" + @usableFromInline static let `after`: JSString = "after" + @usableFromInline static let `alert`: JSString = "alert" + @usableFromInline static let `align`: JSString = "align" + @usableFromInline static let `alinkColor`: JSString = "alinkColor" + @usableFromInline static let `all`: JSString = "all" + @usableFromInline static let `allocationSize`: JSString = "allocationSize" + @usableFromInline static let `allow`: JSString = "allow" + @usableFromInline static let `allowFullscreen`: JSString = "allowFullscreen" + @usableFromInline static let `alpha`: JSString = "alpha" + @usableFromInline static let `alphaSideData`: JSString = "alphaSideData" + @usableFromInline static let `alphabeticBaseline`: JSString = "alphabeticBaseline" + @usableFromInline static let `alt`: JSString = "alt" + @usableFromInline static let `altKey`: JSString = "altKey" + @usableFromInline static let `altitudeAngle`: JSString = "altitudeAngle" + @usableFromInline static let `ancestorOrigins`: JSString = "ancestorOrigins" + @usableFromInline static let `anchors`: JSString = "anchors" + @usableFromInline static let `animated`: JSString = "animated" + @usableFromInline static let `any`: JSString = "any" + @usableFromInline static let `appCodeName`: JSString = "appCodeName" + @usableFromInline static let `appName`: JSString = "appName" + @usableFromInline static let `appVersion`: JSString = "appVersion" + @usableFromInline static let `append`: JSString = "append" + @usableFromInline static let `appendBuffer`: JSString = "appendBuffer" + @usableFromInline static let `appendChild`: JSString = "appendChild" + @usableFromInline static let `appendData`: JSString = "appendData" + @usableFromInline static let `appendWindowEnd`: JSString = "appendWindowEnd" + @usableFromInline static let `appendWindowStart`: JSString = "appendWindowStart" + @usableFromInline static let `applets`: JSString = "applets" + @usableFromInline static let `applyConstraints`: JSString = "applyConstraints" + @usableFromInline static let `arc`: JSString = "arc" + @usableFromInline static let `arcTo`: JSString = "arcTo" + @usableFromInline static let `archive`: JSString = "archive" + @usableFromInline static let `areas`: JSString = "areas" + @usableFromInline static let `ariaActiveDescendantElement`: JSString = "ariaActiveDescendantElement" + @usableFromInline static let `ariaAtomic`: JSString = "ariaAtomic" + @usableFromInline static let `ariaAutoComplete`: JSString = "ariaAutoComplete" + @usableFromInline static let `ariaBusy`: JSString = "ariaBusy" + @usableFromInline static let `ariaChecked`: JSString = "ariaChecked" + @usableFromInline static let `ariaColCount`: JSString = "ariaColCount" + @usableFromInline static let `ariaColIndex`: JSString = "ariaColIndex" + @usableFromInline static let `ariaColIndexText`: JSString = "ariaColIndexText" + @usableFromInline static let `ariaColSpan`: JSString = "ariaColSpan" + @usableFromInline static let `ariaControlsElements`: JSString = "ariaControlsElements" + @usableFromInline static let `ariaCurrent`: JSString = "ariaCurrent" + @usableFromInline static let `ariaDescribedByElements`: JSString = "ariaDescribedByElements" + @usableFromInline static let `ariaDescription`: JSString = "ariaDescription" + @usableFromInline static let `ariaDetailsElements`: JSString = "ariaDetailsElements" + @usableFromInline static let `ariaDisabled`: JSString = "ariaDisabled" + @usableFromInline static let `ariaErrorMessageElements`: JSString = "ariaErrorMessageElements" + @usableFromInline static let `ariaExpanded`: JSString = "ariaExpanded" + @usableFromInline static let `ariaFlowToElements`: JSString = "ariaFlowToElements" + @usableFromInline static let `ariaHasPopup`: JSString = "ariaHasPopup" + @usableFromInline static let `ariaHidden`: JSString = "ariaHidden" + @usableFromInline static let `ariaInvalid`: JSString = "ariaInvalid" + @usableFromInline static let `ariaKeyShortcuts`: JSString = "ariaKeyShortcuts" + @usableFromInline static let `ariaLabel`: JSString = "ariaLabel" + @usableFromInline static let `ariaLabelledByElements`: JSString = "ariaLabelledByElements" + @usableFromInline static let `ariaLevel`: JSString = "ariaLevel" + @usableFromInline static let `ariaLive`: JSString = "ariaLive" + @usableFromInline static let `ariaModal`: JSString = "ariaModal" + @usableFromInline static let `ariaMultiLine`: JSString = "ariaMultiLine" + @usableFromInline static let `ariaMultiSelectable`: JSString = "ariaMultiSelectable" + @usableFromInline static let `ariaOrientation`: JSString = "ariaOrientation" + @usableFromInline static let `ariaOwnsElements`: JSString = "ariaOwnsElements" + @usableFromInline static let `ariaPlaceholder`: JSString = "ariaPlaceholder" + @usableFromInline static let `ariaPosInSet`: JSString = "ariaPosInSet" + @usableFromInline static let `ariaPressed`: JSString = "ariaPressed" + @usableFromInline static let `ariaReadOnly`: JSString = "ariaReadOnly" + @usableFromInline static let `ariaRequired`: JSString = "ariaRequired" + @usableFromInline static let `ariaRoleDescription`: JSString = "ariaRoleDescription" + @usableFromInline static let `ariaRowCount`: JSString = "ariaRowCount" + @usableFromInline static let `ariaRowIndex`: JSString = "ariaRowIndex" + @usableFromInline static let `ariaRowIndexText`: JSString = "ariaRowIndexText" + @usableFromInline static let `ariaRowSpan`: JSString = "ariaRowSpan" + @usableFromInline static let `ariaSelected`: JSString = "ariaSelected" + @usableFromInline static let `ariaSetSize`: JSString = "ariaSetSize" + @usableFromInline static let `ariaSort`: JSString = "ariaSort" + @usableFromInline static let `ariaValueMax`: JSString = "ariaValueMax" + @usableFromInline static let `ariaValueMin`: JSString = "ariaValueMin" + @usableFromInline static let `ariaValueNow`: JSString = "ariaValueNow" + @usableFromInline static let `ariaValueText`: JSString = "ariaValueText" + @usableFromInline static let `arrayBuffer`: JSString = "arrayBuffer" @usableFromInline static let `as`: JSString = "as" - @usableFromInline static let aspectRatio: JSString = "aspectRatio" - @usableFromInline static let assign: JSString = "assign" - @usableFromInline static let assignedElements: JSString = "assignedElements" - @usableFromInline static let assignedNodes: JSString = "assignedNodes" - @usableFromInline static let assignedSlot: JSString = "assignedSlot" - @usableFromInline static let async: JSString = "async" - @usableFromInline static let atob: JSString = "atob" - @usableFromInline static let attachInternals: JSString = "attachInternals" - @usableFromInline static let attachShadow: JSString = "attachShadow" - @usableFromInline static let attrChange: JSString = "attrChange" - @usableFromInline static let attrName: JSString = "attrName" - @usableFromInline static let attributeFilter: JSString = "attributeFilter" - @usableFromInline static let attributeName: JSString = "attributeName" - @usableFromInline static let attributeNamespace: JSString = "attributeNamespace" - @usableFromInline static let attributeOldValue: JSString = "attributeOldValue" - @usableFromInline static let attributes: JSString = "attributes" - @usableFromInline static let audio: JSString = "audio" - @usableFromInline static let audioBitrateMode: JSString = "audioBitrateMode" - @usableFromInline static let audioBitsPerSecond: JSString = "audioBitsPerSecond" - @usableFromInline static let audioTracks: JSString = "audioTracks" - @usableFromInline static let autoAllocateChunkSize: JSString = "autoAllocateChunkSize" - @usableFromInline static let autoGainControl: JSString = "autoGainControl" - @usableFromInline static let autocapitalize: JSString = "autocapitalize" - @usableFromInline static let autocomplete: JSString = "autocomplete" - @usableFromInline static let autofocus: JSString = "autofocus" - @usableFromInline static let autoplay: JSString = "autoplay" - @usableFromInline static let availHeight: JSString = "availHeight" - @usableFromInline static let availWidth: JSString = "availWidth" - @usableFromInline static let axis: JSString = "axis" - @usableFromInline static let azimuthAngle: JSString = "azimuthAngle" - @usableFromInline static let b: JSString = "b" - @usableFromInline static let back: JSString = "back" - @usableFromInline static let background: JSString = "background" - @usableFromInline static let badInput: JSString = "badInput" - @usableFromInline static let baseURI: JSString = "baseURI" - @usableFromInline static let before: JSString = "before" - @usableFromInline static let beginPath: JSString = "beginPath" - @usableFromInline static let behavior: JSString = "behavior" - @usableFromInline static let bezierCurveTo: JSString = "bezierCurveTo" - @usableFromInline static let bgColor: JSString = "bgColor" - @usableFromInline static let bitrate: JSString = "bitrate" - @usableFromInline static let bitrateMode: JSString = "bitrateMode" - @usableFromInline static let bitsPerSecond: JSString = "bitsPerSecond" - @usableFromInline static let blob: JSString = "blob" - @usableFromInline static let block: JSString = "block" - @usableFromInline static let blocking: JSString = "blocking" - @usableFromInline static let blur: JSString = "blur" - @usableFromInline static let body: JSString = "body" - @usableFromInline static let bodyUsed: JSString = "bodyUsed" - @usableFromInline static let booleanValue: JSString = "booleanValue" - @usableFromInline static let border: JSString = "border" - @usableFromInline static let bottom: JSString = "bottom" - @usableFromInline static let box: JSString = "box" - @usableFromInline static let btoa: JSString = "btoa" - @usableFromInline static let bubbles: JSString = "bubbles" - @usableFromInline static let buffered: JSString = "buffered" - @usableFromInline static let button: JSString = "button" - @usableFromInline static let buttons: JSString = "buttons" - @usableFromInline static let byobRequest: JSString = "byobRequest" - @usableFromInline static let byteLength: JSString = "byteLength" - @usableFromInline static let c: JSString = "c" - @usableFromInline static let cache: JSString = "cache" - @usableFromInline static let cacheName: JSString = "cacheName" - @usableFromInline static let caches: JSString = "caches" - @usableFromInline static let canConstructInDedicatedWorker: JSString = "canConstructInDedicatedWorker" - @usableFromInline static let canGoBack: JSString = "canGoBack" - @usableFromInline static let canGoForward: JSString = "canGoForward" - @usableFromInline static let canIntercept: JSString = "canIntercept" - @usableFromInline static let canPlayType: JSString = "canPlayType" - @usableFromInline static let cancel: JSString = "cancel" - @usableFromInline static let cancelAnimationFrame: JSString = "cancelAnimationFrame" - @usableFromInline static let cancelBubble: JSString = "cancelBubble" - @usableFromInline static let cancelable: JSString = "cancelable" - @usableFromInline static let canvas: JSString = "canvas" - @usableFromInline static let caption: JSString = "caption" - @usableFromInline static let capture: JSString = "capture" - @usableFromInline static let captureEvents: JSString = "captureEvents" - @usableFromInline static let caretPositionFromPoint: JSString = "caretPositionFromPoint" - @usableFromInline static let cellIndex: JSString = "cellIndex" - @usableFromInline static let cellPadding: JSString = "cellPadding" - @usableFromInline static let cellSpacing: JSString = "cellSpacing" - @usableFromInline static let cells: JSString = "cells" - @usableFromInline static let ch: JSString = "ch" - @usableFromInline static let chOff: JSString = "chOff" - @usableFromInline static let changeType: JSString = "changeType" - @usableFromInline static let changedTouches: JSString = "changedTouches" - @usableFromInline static let channelCount: JSString = "channelCount" - @usableFromInline static let charCode: JSString = "charCode" - @usableFromInline static let characterData: JSString = "characterData" - @usableFromInline static let characterDataOldValue: JSString = "characterDataOldValue" - @usableFromInline static let characterSet: JSString = "characterSet" - @usableFromInline static let charset: JSString = "charset" - @usableFromInline static let checkOpacity: JSString = "checkOpacity" - @usableFromInline static let checkValidity: JSString = "checkValidity" - @usableFromInline static let checkVisibility: JSString = "checkVisibility" - @usableFromInline static let checkVisibilityCSS: JSString = "checkVisibilityCSS" - @usableFromInline static let checked: JSString = "checked" - @usableFromInline static let childElementCount: JSString = "childElementCount" - @usableFromInline static let childList: JSString = "childList" - @usableFromInline static let childNodes: JSString = "childNodes" - @usableFromInline static let children: JSString = "children" - @usableFromInline static let cite: JSString = "cite" - @usableFromInline static let classList: JSString = "classList" - @usableFromInline static let className: JSString = "className" - @usableFromInline static let clear: JSString = "clear" - @usableFromInline static let clearData: JSString = "clearData" - @usableFromInline static let clearInterval: JSString = "clearInterval" - @usableFromInline static let clearLiveSeekableRange: JSString = "clearLiveSeekableRange" - @usableFromInline static let clearParameters: JSString = "clearParameters" - @usableFromInline static let clearRect: JSString = "clearRect" - @usableFromInline static let clearTimeout: JSString = "clearTimeout" - @usableFromInline static let click: JSString = "click" - @usableFromInline static let clientHeight: JSString = "clientHeight" - @usableFromInline static let clientId: JSString = "clientId" - @usableFromInline static let clientInformation: JSString = "clientInformation" - @usableFromInline static let clientLeft: JSString = "clientLeft" - @usableFromInline static let clientTop: JSString = "clientTop" - @usableFromInline static let clientWidth: JSString = "clientWidth" - @usableFromInline static let clientX: JSString = "clientX" - @usableFromInline static let clientY: JSString = "clientY" - @usableFromInline static let clip: JSString = "clip" - @usableFromInline static let clone: JSString = "clone" - @usableFromInline static let cloneContents: JSString = "cloneContents" - @usableFromInline static let cloneNode: JSString = "cloneNode" - @usableFromInline static let cloneRange: JSString = "cloneRange" - @usableFromInline static let close: JSString = "close" - @usableFromInline static let closePath: JSString = "closePath" - @usableFromInline static let closed: JSString = "closed" - @usableFromInline static let closest: JSString = "closest" - @usableFromInline static let code: JSString = "code" - @usableFromInline static let codeBase: JSString = "codeBase" - @usableFromInline static let codeType: JSString = "codeType" - @usableFromInline static let codec: JSString = "codec" - @usableFromInline static let codedHeight: JSString = "codedHeight" - @usableFromInline static let codedRect: JSString = "codedRect" - @usableFromInline static let codedWidth: JSString = "codedWidth" - @usableFromInline static let colSpan: JSString = "colSpan" - @usableFromInline static let collapse: JSString = "collapse" - @usableFromInline static let collapsed: JSString = "collapsed" - @usableFromInline static let colno: JSString = "colno" - @usableFromInline static let color: JSString = "color" - @usableFromInline static let colorDepth: JSString = "colorDepth" - @usableFromInline static let colorSpace: JSString = "colorSpace" - @usableFromInline static let colorSpaceConversion: JSString = "colorSpaceConversion" - @usableFromInline static let cols: JSString = "cols" - @usableFromInline static let commit: JSString = "commit" - @usableFromInline static let committed: JSString = "committed" - @usableFromInline static let commonAncestorContainer: JSString = "commonAncestorContainer" - @usableFromInline static let compact: JSString = "compact" - @usableFromInline static let compareBoundaryPoints: JSString = "compareBoundaryPoints" - @usableFromInline static let compareDocumentPosition: JSString = "compareDocumentPosition" - @usableFromInline static let comparePoint: JSString = "comparePoint" - @usableFromInline static let compatMode: JSString = "compatMode" - @usableFromInline static let complete: JSString = "complete" - @usableFromInline static let completeFramesOnly: JSString = "completeFramesOnly" - @usableFromInline static let completed: JSString = "completed" - @usableFromInline static let composed: JSString = "composed" - @usableFromInline static let composedPath: JSString = "composedPath" - @usableFromInline static let config: JSString = "config" - @usableFromInline static let configure: JSString = "configure" - @usableFromInline static let confirm: JSString = "confirm" - @usableFromInline static let constraint: JSString = "constraint" - @usableFromInline static let contains: JSString = "contains" - @usableFromInline static let content: JSString = "content" - @usableFromInline static let contentDocument: JSString = "contentDocument" - @usableFromInline static let contentEditable: JSString = "contentEditable" - @usableFromInline static let contentType: JSString = "contentType" - @usableFromInline static let contentWindow: JSString = "contentWindow" - @usableFromInline static let control: JSString = "control" - @usableFromInline static let controller: JSString = "controller" - @usableFromInline static let controls: JSString = "controls" - @usableFromInline static let convertPointFromNode: JSString = "convertPointFromNode" - @usableFromInline static let convertQuadFromNode: JSString = "convertQuadFromNode" - @usableFromInline static let convertRectFromNode: JSString = "convertRectFromNode" - @usableFromInline static let convertToBlob: JSString = "convertToBlob" - @usableFromInline static let cookie: JSString = "cookie" - @usableFromInline static let cookieEnabled: JSString = "cookieEnabled" - @usableFromInline static let coords: JSString = "coords" - @usableFromInline static let copyTo: JSString = "copyTo" - @usableFromInline static let createAttribute: JSString = "createAttribute" - @usableFromInline static let createAttributeNS: JSString = "createAttributeNS" - @usableFromInline static let createCDATASection: JSString = "createCDATASection" - @usableFromInline static let createCaption: JSString = "createCaption" - @usableFromInline static let createComment: JSString = "createComment" - @usableFromInline static let createConicGradient: JSString = "createConicGradient" - @usableFromInline static let createDocument: JSString = "createDocument" - @usableFromInline static let createDocumentFragment: JSString = "createDocumentFragment" - @usableFromInline static let createDocumentType: JSString = "createDocumentType" - @usableFromInline static let createElement: JSString = "createElement" - @usableFromInline static let createElementNS: JSString = "createElementNS" - @usableFromInline static let createEvent: JSString = "createEvent" - @usableFromInline static let createHTMLDocument: JSString = "createHTMLDocument" - @usableFromInline static let createImageBitmap: JSString = "createImageBitmap" - @usableFromInline static let createImageData: JSString = "createImageData" - @usableFromInline static let createLinearGradient: JSString = "createLinearGradient" - @usableFromInline static let createObjectURL: JSString = "createObjectURL" - @usableFromInline static let createPattern: JSString = "createPattern" - @usableFromInline static let createProcessingInstruction: JSString = "createProcessingInstruction" - @usableFromInline static let createRadialGradient: JSString = "createRadialGradient" - @usableFromInline static let createRange: JSString = "createRange" - @usableFromInline static let createTBody: JSString = "createTBody" - @usableFromInline static let createTFoot: JSString = "createTFoot" - @usableFromInline static let createTHead: JSString = "createTHead" - @usableFromInline static let createTextNode: JSString = "createTextNode" - @usableFromInline static let credentials: JSString = "credentials" - @usableFromInline static let crossOrigin: JSString = "crossOrigin" - @usableFromInline static let crossOriginIsolated: JSString = "crossOriginIsolated" - @usableFromInline static let ctrlKey: JSString = "ctrlKey" - @usableFromInline static let cues: JSString = "cues" - @usableFromInline static let currentEntry: JSString = "currentEntry" - @usableFromInline static let currentNode: JSString = "currentNode" - @usableFromInline static let currentScript: JSString = "currentScript" - @usableFromInline static let currentSrc: JSString = "currentSrc" - @usableFromInline static let currentTarget: JSString = "currentTarget" - @usableFromInline static let currentTime: JSString = "currentTime" - @usableFromInline static let customElements: JSString = "customElements" - @usableFromInline static let customError: JSString = "customError" - @usableFromInline static let d: JSString = "d" - @usableFromInline static let data: JSString = "data" - @usableFromInline static let dataTransfer: JSString = "dataTransfer" - @usableFromInline static let dataset: JSString = "dataset" - @usableFromInline static let dateTime: JSString = "dateTime" - @usableFromInline static let declare: JSString = "declare" - @usableFromInline static let decode: JSString = "decode" - @usableFromInline static let decodeQueueSize: JSString = "decodeQueueSize" - @usableFromInline static let decoderConfig: JSString = "decoderConfig" - @usableFromInline static let decoding: JSString = "decoding" + @usableFromInline static let `aspectRatio`: JSString = "aspectRatio" + @usableFromInline static let `assign`: JSString = "assign" + @usableFromInline static let `assignedElements`: JSString = "assignedElements" + @usableFromInline static let `assignedNodes`: JSString = "assignedNodes" + @usableFromInline static let `assignedSlot`: JSString = "assignedSlot" + @usableFromInline static let `async`: JSString = "async" + @usableFromInline static let `atob`: JSString = "atob" + @usableFromInline static let `attachInternals`: JSString = "attachInternals" + @usableFromInline static let `attachShadow`: JSString = "attachShadow" + @usableFromInline static let `attrChange`: JSString = "attrChange" + @usableFromInline static let `attrName`: JSString = "attrName" + @usableFromInline static let `attributeFilter`: JSString = "attributeFilter" + @usableFromInline static let `attributeName`: JSString = "attributeName" + @usableFromInline static let `attributeNamespace`: JSString = "attributeNamespace" + @usableFromInline static let `attributeOldValue`: JSString = "attributeOldValue" + @usableFromInline static let `attributes`: JSString = "attributes" + @usableFromInline static let `audio`: JSString = "audio" + @usableFromInline static let `audioBitrateMode`: JSString = "audioBitrateMode" + @usableFromInline static let `audioBitsPerSecond`: JSString = "audioBitsPerSecond" + @usableFromInline static let `audioTracks`: JSString = "audioTracks" + @usableFromInline static let `autoAllocateChunkSize`: JSString = "autoAllocateChunkSize" + @usableFromInline static let `autoGainControl`: JSString = "autoGainControl" + @usableFromInline static let `autocapitalize`: JSString = "autocapitalize" + @usableFromInline static let `autocomplete`: JSString = "autocomplete" + @usableFromInline static let `autofocus`: JSString = "autofocus" + @usableFromInline static let `autoplay`: JSString = "autoplay" + @usableFromInline static let `availHeight`: JSString = "availHeight" + @usableFromInline static let `availWidth`: JSString = "availWidth" + @usableFromInline static let `axis`: JSString = "axis" + @usableFromInline static let `azimuthAngle`: JSString = "azimuthAngle" + @usableFromInline static let `b`: JSString = "b" + @usableFromInline static let `back`: JSString = "back" + @usableFromInline static let `background`: JSString = "background" + @usableFromInline static let `badInput`: JSString = "badInput" + @usableFromInline static let `baseURI`: JSString = "baseURI" + @usableFromInline static let `baseURL`: JSString = "baseURL" + @usableFromInline static let `before`: JSString = "before" + @usableFromInline static let `beginPath`: JSString = "beginPath" + @usableFromInline static let `behavior`: JSString = "behavior" + @usableFromInline static let `bezierCurveTo`: JSString = "bezierCurveTo" + @usableFromInline static let `bgColor`: JSString = "bgColor" + @usableFromInline static let `bitrate`: JSString = "bitrate" + @usableFromInline static let `bitrateMode`: JSString = "bitrateMode" + @usableFromInline static let `bitsPerSecond`: JSString = "bitsPerSecond" + @usableFromInline static let `blob`: JSString = "blob" + @usableFromInline static let `block`: JSString = "block" + @usableFromInline static let `blocking`: JSString = "blocking" + @usableFromInline static let `blur`: JSString = "blur" + @usableFromInline static let `body`: JSString = "body" + @usableFromInline static let `bodyUsed`: JSString = "bodyUsed" + @usableFromInline static let `booleanValue`: JSString = "booleanValue" + @usableFromInline static let `border`: JSString = "border" + @usableFromInline static let `bottom`: JSString = "bottom" + @usableFromInline static let `box`: JSString = "box" + @usableFromInline static let `btoa`: JSString = "btoa" + @usableFromInline static let `bubbles`: JSString = "bubbles" + @usableFromInline static let `buffered`: JSString = "buffered" + @usableFromInline static let `button`: JSString = "button" + @usableFromInline static let `buttons`: JSString = "buttons" + @usableFromInline static let `byobRequest`: JSString = "byobRequest" + @usableFromInline static let `byteLength`: JSString = "byteLength" + @usableFromInline static let `c`: JSString = "c" + @usableFromInline static let `cache`: JSString = "cache" + @usableFromInline static let `cacheName`: JSString = "cacheName" + @usableFromInline static let `caches`: JSString = "caches" + @usableFromInline static let `canConstructInDedicatedWorker`: JSString = "canConstructInDedicatedWorker" + @usableFromInline static let `canGoBack`: JSString = "canGoBack" + @usableFromInline static let `canGoForward`: JSString = "canGoForward" + @usableFromInline static let `canIntercept`: JSString = "canIntercept" + @usableFromInline static let `canPlayType`: JSString = "canPlayType" + @usableFromInline static let `cancel`: JSString = "cancel" + @usableFromInline static let `cancelAnimationFrame`: JSString = "cancelAnimationFrame" + @usableFromInline static let `cancelBubble`: JSString = "cancelBubble" + @usableFromInline static let `cancelable`: JSString = "cancelable" + @usableFromInline static let `canvas`: JSString = "canvas" + @usableFromInline static let `caption`: JSString = "caption" + @usableFromInline static let `capture`: JSString = "capture" + @usableFromInline static let `captureEvents`: JSString = "captureEvents" + @usableFromInline static let `caretPositionFromPoint`: JSString = "caretPositionFromPoint" + @usableFromInline static let `cellIndex`: JSString = "cellIndex" + @usableFromInline static let `cellPadding`: JSString = "cellPadding" + @usableFromInline static let `cellSpacing`: JSString = "cellSpacing" + @usableFromInline static let `cells`: JSString = "cells" + @usableFromInline static let `ch`: JSString = "ch" + @usableFromInline static let `chOff`: JSString = "chOff" + @usableFromInline static let `changeType`: JSString = "changeType" + @usableFromInline static let `changedTouches`: JSString = "changedTouches" + @usableFromInline static let `channelCount`: JSString = "channelCount" + @usableFromInline static let `charCode`: JSString = "charCode" + @usableFromInline static let `characterData`: JSString = "characterData" + @usableFromInline static let `characterDataOldValue`: JSString = "characterDataOldValue" + @usableFromInline static let `characterSet`: JSString = "characterSet" + @usableFromInline static let `charset`: JSString = "charset" + @usableFromInline static let `checkOpacity`: JSString = "checkOpacity" + @usableFromInline static let `checkValidity`: JSString = "checkValidity" + @usableFromInline static let `checkVisibility`: JSString = "checkVisibility" + @usableFromInline static let `checkVisibilityCSS`: JSString = "checkVisibilityCSS" + @usableFromInline static let `checked`: JSString = "checked" + @usableFromInline static let `childElementCount`: JSString = "childElementCount" + @usableFromInline static let `childList`: JSString = "childList" + @usableFromInline static let `childNodes`: JSString = "childNodes" + @usableFromInline static let `children`: JSString = "children" + @usableFromInline static let `cite`: JSString = "cite" + @usableFromInline static let `classList`: JSString = "classList" + @usableFromInline static let `className`: JSString = "className" + @usableFromInline static let `clear`: JSString = "clear" + @usableFromInline static let `clearData`: JSString = "clearData" + @usableFromInline static let `clearInterval`: JSString = "clearInterval" + @usableFromInline static let `clearLiveSeekableRange`: JSString = "clearLiveSeekableRange" + @usableFromInline static let `clearParameters`: JSString = "clearParameters" + @usableFromInline static let `clearRect`: JSString = "clearRect" + @usableFromInline static let `clearTimeout`: JSString = "clearTimeout" + @usableFromInline static let `click`: JSString = "click" + @usableFromInline static let `clientHeight`: JSString = "clientHeight" + @usableFromInline static let `clientId`: JSString = "clientId" + @usableFromInline static let `clientInformation`: JSString = "clientInformation" + @usableFromInline static let `clientLeft`: JSString = "clientLeft" + @usableFromInline static let `clientTop`: JSString = "clientTop" + @usableFromInline static let `clientWidth`: JSString = "clientWidth" + @usableFromInline static let `clientX`: JSString = "clientX" + @usableFromInline static let `clientY`: JSString = "clientY" + @usableFromInline static let `clip`: JSString = "clip" + @usableFromInline static let `clone`: JSString = "clone" + @usableFromInline static let `cloneContents`: JSString = "cloneContents" + @usableFromInline static let `cloneNode`: JSString = "cloneNode" + @usableFromInline static let `cloneRange`: JSString = "cloneRange" + @usableFromInline static let `close`: JSString = "close" + @usableFromInline static let `closePath`: JSString = "closePath" + @usableFromInline static let `closed`: JSString = "closed" + @usableFromInline static let `closest`: JSString = "closest" + @usableFromInline static let `code`: JSString = "code" + @usableFromInline static let `codeBase`: JSString = "codeBase" + @usableFromInline static let `codeType`: JSString = "codeType" + @usableFromInline static let `codec`: JSString = "codec" + @usableFromInline static let `codedHeight`: JSString = "codedHeight" + @usableFromInline static let `codedRect`: JSString = "codedRect" + @usableFromInline static let `codedWidth`: JSString = "codedWidth" + @usableFromInline static let `colSpan`: JSString = "colSpan" + @usableFromInline static let `collapse`: JSString = "collapse" + @usableFromInline static let `collapsed`: JSString = "collapsed" + @usableFromInline static let `colno`: JSString = "colno" + @usableFromInline static let `color`: JSString = "color" + @usableFromInline static let `colorDepth`: JSString = "colorDepth" + @usableFromInline static let `colorSpace`: JSString = "colorSpace" + @usableFromInline static let `colorSpaceConversion`: JSString = "colorSpaceConversion" + @usableFromInline static let `cols`: JSString = "cols" + @usableFromInline static let `commit`: JSString = "commit" + @usableFromInline static let `committed`: JSString = "committed" + @usableFromInline static let `commonAncestorContainer`: JSString = "commonAncestorContainer" + @usableFromInline static let `compact`: JSString = "compact" + @usableFromInline static let `compareBoundaryPoints`: JSString = "compareBoundaryPoints" + @usableFromInline static let `compareDocumentPosition`: JSString = "compareDocumentPosition" + @usableFromInline static let `comparePoint`: JSString = "comparePoint" + @usableFromInline static let `compatMode`: JSString = "compatMode" + @usableFromInline static let `complete`: JSString = "complete" + @usableFromInline static let `completeFramesOnly`: JSString = "completeFramesOnly" + @usableFromInline static let `completed`: JSString = "completed" + @usableFromInline static let `composed`: JSString = "composed" + @usableFromInline static let `composedPath`: JSString = "composedPath" + @usableFromInline static let `config`: JSString = "config" + @usableFromInline static let `configure`: JSString = "configure" + @usableFromInline static let `confirm`: JSString = "confirm" + @usableFromInline static let `constraint`: JSString = "constraint" + @usableFromInline static let `contains`: JSString = "contains" + @usableFromInline static let `content`: JSString = "content" + @usableFromInline static let `contentDocument`: JSString = "contentDocument" + @usableFromInline static let `contentEditable`: JSString = "contentEditable" + @usableFromInline static let `contentType`: JSString = "contentType" + @usableFromInline static let `contentWindow`: JSString = "contentWindow" + @usableFromInline static let `control`: JSString = "control" + @usableFromInline static let `controller`: JSString = "controller" + @usableFromInline static let `controls`: JSString = "controls" + @usableFromInline static let `convertPointFromNode`: JSString = "convertPointFromNode" + @usableFromInline static let `convertQuadFromNode`: JSString = "convertQuadFromNode" + @usableFromInline static let `convertRectFromNode`: JSString = "convertRectFromNode" + @usableFromInline static let `convertToBlob`: JSString = "convertToBlob" + @usableFromInline static let `cookie`: JSString = "cookie" + @usableFromInline static let `cookieEnabled`: JSString = "cookieEnabled" + @usableFromInline static let `coords`: JSString = "coords" + @usableFromInline static let `copyTo`: JSString = "copyTo" + @usableFromInline static let `createAttribute`: JSString = "createAttribute" + @usableFromInline static let `createAttributeNS`: JSString = "createAttributeNS" + @usableFromInline static let `createCDATASection`: JSString = "createCDATASection" + @usableFromInline static let `createCaption`: JSString = "createCaption" + @usableFromInline static let `createComment`: JSString = "createComment" + @usableFromInline static let `createConicGradient`: JSString = "createConicGradient" + @usableFromInline static let `createDocument`: JSString = "createDocument" + @usableFromInline static let `createDocumentFragment`: JSString = "createDocumentFragment" + @usableFromInline static let `createDocumentType`: JSString = "createDocumentType" + @usableFromInline static let `createElement`: JSString = "createElement" + @usableFromInline static let `createElementNS`: JSString = "createElementNS" + @usableFromInline static let `createEvent`: JSString = "createEvent" + @usableFromInline static let `createHTML`: JSString = "createHTML" + @usableFromInline static let `createHTMLDocument`: JSString = "createHTMLDocument" + @usableFromInline static let `createImageBitmap`: JSString = "createImageBitmap" + @usableFromInline static let `createImageData`: JSString = "createImageData" + @usableFromInline static let `createLinearGradient`: JSString = "createLinearGradient" + @usableFromInline static let `createObjectURL`: JSString = "createObjectURL" + @usableFromInline static let `createPattern`: JSString = "createPattern" + @usableFromInline static let `createProcessingInstruction`: JSString = "createProcessingInstruction" + @usableFromInline static let `createRadialGradient`: JSString = "createRadialGradient" + @usableFromInline static let `createRange`: JSString = "createRange" + @usableFromInline static let `createScript`: JSString = "createScript" + @usableFromInline static let `createScriptURL`: JSString = "createScriptURL" + @usableFromInline static let `createTBody`: JSString = "createTBody" + @usableFromInline static let `createTFoot`: JSString = "createTFoot" + @usableFromInline static let `createTHead`: JSString = "createTHead" + @usableFromInline static let `createTextNode`: JSString = "createTextNode" + @usableFromInline static let `credentials`: JSString = "credentials" + @usableFromInline static let `crossOrigin`: JSString = "crossOrigin" + @usableFromInline static let `crossOriginIsolated`: JSString = "crossOriginIsolated" + @usableFromInline static let `ctrlKey`: JSString = "ctrlKey" + @usableFromInline static let `cues`: JSString = "cues" + @usableFromInline static let `currentEntry`: JSString = "currentEntry" + @usableFromInline static let `currentNode`: JSString = "currentNode" + @usableFromInline static let `currentScript`: JSString = "currentScript" + @usableFromInline static let `currentSrc`: JSString = "currentSrc" + @usableFromInline static let `currentTarget`: JSString = "currentTarget" + @usableFromInline static let `currentTime`: JSString = "currentTime" + @usableFromInline static let `customElements`: JSString = "customElements" + @usableFromInline static let `customError`: JSString = "customError" + @usableFromInline static let `d`: JSString = "d" + @usableFromInline static let `data`: JSString = "data" + @usableFromInline static let `dataTransfer`: JSString = "dataTransfer" + @usableFromInline static let `dataset`: JSString = "dataset" + @usableFromInline static let `dateTime`: JSString = "dateTime" + @usableFromInline static let `declare`: JSString = "declare" + @usableFromInline static let `decode`: JSString = "decode" + @usableFromInline static let `decodeQueueSize`: JSString = "decodeQueueSize" + @usableFromInline static let `decoderConfig`: JSString = "decoderConfig" + @usableFromInline static let `decoding`: JSString = "decoding" @usableFromInline static let `default`: JSString = "default" - @usableFromInline static let defaultChecked: JSString = "defaultChecked" - @usableFromInline static let defaultMuted: JSString = "defaultMuted" - @usableFromInline static let defaultPlaybackRate: JSString = "defaultPlaybackRate" - @usableFromInline static let defaultPrevented: JSString = "defaultPrevented" - @usableFromInline static let defaultSelected: JSString = "defaultSelected" - @usableFromInline static let defaultValue: JSString = "defaultValue" - @usableFromInline static let defaultView: JSString = "defaultView" + @usableFromInline static let `defaultChecked`: JSString = "defaultChecked" + @usableFromInline static let `defaultMuted`: JSString = "defaultMuted" + @usableFromInline static let `defaultPlaybackRate`: JSString = "defaultPlaybackRate" + @usableFromInline static let `defaultPolicy`: JSString = "defaultPolicy" + @usableFromInline static let `defaultPrevented`: JSString = "defaultPrevented" + @usableFromInline static let `defaultSelected`: JSString = "defaultSelected" + @usableFromInline static let `defaultValue`: JSString = "defaultValue" + @usableFromInline static let `defaultView`: JSString = "defaultView" @usableFromInline static let `defer`: JSString = "defer" - @usableFromInline static let define: JSString = "define" - @usableFromInline static let delegatesFocus: JSString = "delegatesFocus" - @usableFromInline static let delete: JSString = "delete" - @usableFromInline static let deleteCaption: JSString = "deleteCaption" - @usableFromInline static let deleteCell: JSString = "deleteCell" - @usableFromInline static let deleteContents: JSString = "deleteContents" - @usableFromInline static let deleteData: JSString = "deleteData" - @usableFromInline static let deleteRow: JSString = "deleteRow" - @usableFromInline static let deleteTFoot: JSString = "deleteTFoot" - @usableFromInline static let deleteTHead: JSString = "deleteTHead" - @usableFromInline static let deltaMode: JSString = "deltaMode" - @usableFromInline static let deltaX: JSString = "deltaX" - @usableFromInline static let deltaY: JSString = "deltaY" - @usableFromInline static let deltaZ: JSString = "deltaZ" - @usableFromInline static let description: JSString = "description" - @usableFromInline static let descriptor: JSString = "descriptor" - @usableFromInline static let designMode: JSString = "designMode" - @usableFromInline static let desiredHeight: JSString = "desiredHeight" - @usableFromInline static let desiredSize: JSString = "desiredSize" - @usableFromInline static let desiredWidth: JSString = "desiredWidth" - @usableFromInline static let destination: JSString = "destination" - @usableFromInline static let desynchronized: JSString = "desynchronized" - @usableFromInline static let detach: JSString = "detach" - @usableFromInline static let detail: JSString = "detail" - @usableFromInline static let deviceId: JSString = "deviceId" - @usableFromInline static let devicePixelRatio: JSString = "devicePixelRatio" - @usableFromInline static let dir: JSString = "dir" - @usableFromInline static let dirName: JSString = "dirName" - @usableFromInline static let direction: JSString = "direction" - @usableFromInline static let disable: JSString = "disable" - @usableFromInline static let disabled: JSString = "disabled" - @usableFromInline static let disconnect: JSString = "disconnect" - @usableFromInline static let dispatchEvent: JSString = "dispatchEvent" - @usableFromInline static let displayAspectHeight: JSString = "displayAspectHeight" - @usableFromInline static let displayAspectWidth: JSString = "displayAspectWidth" - @usableFromInline static let displayHeight: JSString = "displayHeight" - @usableFromInline static let displayWidth: JSString = "displayWidth" - @usableFromInline static let doctype: JSString = "doctype" - @usableFromInline static let document: JSString = "document" - @usableFromInline static let documentElement: JSString = "documentElement" - @usableFromInline static let documentURI: JSString = "documentURI" - @usableFromInline static let domain: JSString = "domain" - @usableFromInline static let done: JSString = "done" - @usableFromInline static let download: JSString = "download" - @usableFromInline static let downloadRequest: JSString = "downloadRequest" - @usableFromInline static let draggable: JSString = "draggable" - @usableFromInline static let drawFocusIfNeeded: JSString = "drawFocusIfNeeded" - @usableFromInline static let drawImage: JSString = "drawImage" - @usableFromInline static let dropEffect: JSString = "dropEffect" - @usableFromInline static let droppedEntriesCount: JSString = "droppedEntriesCount" - @usableFromInline static let duplex: JSString = "duplex" - @usableFromInline static let duration: JSString = "duration" - @usableFromInline static let e: JSString = "e" - @usableFromInline static let echoCancellation: JSString = "echoCancellation" - @usableFromInline static let effectAllowed: JSString = "effectAllowed" - @usableFromInline static let element: JSString = "element" - @usableFromInline static let elementFromPoint: JSString = "elementFromPoint" - @usableFromInline static let elements: JSString = "elements" - @usableFromInline static let elementsFromPoint: JSString = "elementsFromPoint" - @usableFromInline static let ellipse: JSString = "ellipse" - @usableFromInline static let emHeightAscent: JSString = "emHeightAscent" - @usableFromInline static let emHeightDescent: JSString = "emHeightDescent" - @usableFromInline static let embeds: JSString = "embeds" - @usableFromInline static let enable: JSString = "enable" - @usableFromInline static let enabled: JSString = "enabled" - @usableFromInline static let enabledPlugin: JSString = "enabledPlugin" - @usableFromInline static let encode: JSString = "encode" - @usableFromInline static let encodeQueueSize: JSString = "encodeQueueSize" - @usableFromInline static let encoding: JSString = "encoding" - @usableFromInline static let enctype: JSString = "enctype" - @usableFromInline static let end: JSString = "end" - @usableFromInline static let endContainer: JSString = "endContainer" - @usableFromInline static let endOfStream: JSString = "endOfStream" - @usableFromInline static let endOffset: JSString = "endOffset" - @usableFromInline static let endTime: JSString = "endTime" - @usableFromInline static let ended: JSString = "ended" - @usableFromInline static let endings: JSString = "endings" - @usableFromInline static let enqueue: JSString = "enqueue" - @usableFromInline static let enterKeyHint: JSString = "enterKeyHint" - @usableFromInline static let entries: JSString = "entries" - @usableFromInline static let entryType: JSString = "entryType" - @usableFromInline static let entryTypes: JSString = "entryTypes" - @usableFromInline static let enumerateDevices: JSString = "enumerateDevices" - @usableFromInline static let error: JSString = "error" - @usableFromInline static let evaluate: JSString = "evaluate" - @usableFromInline static let event: JSString = "event" - @usableFromInline static let eventPhase: JSString = "eventPhase" - @usableFromInline static let exact: JSString = "exact" - @usableFromInline static let execCommand: JSString = "execCommand" - @usableFromInline static let extends: JSString = "extends" - @usableFromInline static let external: JSString = "external" - @usableFromInline static let extractContents: JSString = "extractContents" - @usableFromInline static let f: JSString = "f" - @usableFromInline static let face: JSString = "face" - @usableFromInline static let facingMode: JSString = "facingMode" - @usableFromInline static let fastSeek: JSString = "fastSeek" - @usableFromInline static let fetch: JSString = "fetch" - @usableFromInline static let fetchPriority: JSString = "fetchPriority" - @usableFromInline static let fgColor: JSString = "fgColor" - @usableFromInline static let filename: JSString = "filename" - @usableFromInline static let files: JSString = "files" - @usableFromInline static let fill: JSString = "fill" - @usableFromInline static let fillRect: JSString = "fillRect" - @usableFromInline static let fillStyle: JSString = "fillStyle" - @usableFromInline static let fillText: JSString = "fillText" - @usableFromInline static let filter: JSString = "filter" - @usableFromInline static let finished: JSString = "finished" - @usableFromInline static let firstChild: JSString = "firstChild" - @usableFromInline static let firstElementChild: JSString = "firstElementChild" - @usableFromInline static let flatten: JSString = "flatten" - @usableFromInline static let flipX: JSString = "flipX" - @usableFromInline static let flipY: JSString = "flipY" - @usableFromInline static let flush: JSString = "flush" - @usableFromInline static let focus: JSString = "focus" - @usableFromInline static let focusReset: JSString = "focusReset" - @usableFromInline static let focusVisible: JSString = "focusVisible" - @usableFromInline static let font: JSString = "font" - @usableFromInline static let fontBoundingBoxAscent: JSString = "fontBoundingBoxAscent" - @usableFromInline static let fontBoundingBoxDescent: JSString = "fontBoundingBoxDescent" - @usableFromInline static let fontKerning: JSString = "fontKerning" - @usableFromInline static let fontStretch: JSString = "fontStretch" - @usableFromInline static let fontVariantCaps: JSString = "fontVariantCaps" - @usableFromInline static let force: JSString = "force" - @usableFromInline static let form: JSString = "form" - @usableFromInline static let formAction: JSString = "formAction" - @usableFromInline static let formData: JSString = "formData" - @usableFromInline static let formEnctype: JSString = "formEnctype" - @usableFromInline static let formMethod: JSString = "formMethod" - @usableFromInline static let formNoValidate: JSString = "formNoValidate" - @usableFromInline static let formTarget: JSString = "formTarget" - @usableFromInline static let format: JSString = "format" - @usableFromInline static let forms: JSString = "forms" - @usableFromInline static let forward: JSString = "forward" - @usableFromInline static let frame: JSString = "frame" - @usableFromInline static let frameBorder: JSString = "frameBorder" - @usableFromInline static let frameCount: JSString = "frameCount" - @usableFromInline static let frameElement: JSString = "frameElement" - @usableFromInline static let frameIndex: JSString = "frameIndex" - @usableFromInline static let frameOffset: JSString = "frameOffset" - @usableFromInline static let frameRate: JSString = "frameRate" - @usableFromInline static let framerate: JSString = "framerate" - @usableFromInline static let frames: JSString = "frames" - @usableFromInline static let from: JSString = "from" - @usableFromInline static let fromBox: JSString = "fromBox" - @usableFromInline static let fromFloat32Array: JSString = "fromFloat32Array" - @usableFromInline static let fromFloat64Array: JSString = "fromFloat64Array" - @usableFromInline static let fromMatrix: JSString = "fromMatrix" - @usableFromInline static let fromPoint: JSString = "fromPoint" - @usableFromInline static let fromQuad: JSString = "fromQuad" - @usableFromInline static let fromRect: JSString = "fromRect" - @usableFromInline static let fullRange: JSString = "fullRange" - @usableFromInline static let get: JSString = "get" - @usableFromInline static let getAll: JSString = "getAll" - @usableFromInline static let getAllResponseHeaders: JSString = "getAllResponseHeaders" - @usableFromInline static let getAsFile: JSString = "getAsFile" - @usableFromInline static let getAsString: JSString = "getAsString" - @usableFromInline static let getAttribute: JSString = "getAttribute" - @usableFromInline static let getAttributeNS: JSString = "getAttributeNS" - @usableFromInline static let getAttributeNames: JSString = "getAttributeNames" - @usableFromInline static let getAttributeNode: JSString = "getAttributeNode" - @usableFromInline static let getAttributeNodeNS: JSString = "getAttributeNodeNS" - @usableFromInline static let getAudioTracks: JSString = "getAudioTracks" - @usableFromInline static let getBoundingClientRect: JSString = "getBoundingClientRect" - @usableFromInline static let getBounds: JSString = "getBounds" - @usableFromInline static let getBoxQuads: JSString = "getBoxQuads" - @usableFromInline static let getCapabilities: JSString = "getCapabilities" - @usableFromInline static let getClientRect: JSString = "getClientRect" - @usableFromInline static let getClientRects: JSString = "getClientRects" - @usableFromInline static let getConstraints: JSString = "getConstraints" - @usableFromInline static let getContextAttributes: JSString = "getContextAttributes" - @usableFromInline static let getCueById: JSString = "getCueById" - @usableFromInline static let getData: JSString = "getData" - @usableFromInline static let getElementById: JSString = "getElementById" - @usableFromInline static let getElementsByClassName: JSString = "getElementsByClassName" - @usableFromInline static let getElementsByName: JSString = "getElementsByName" - @usableFromInline static let getElementsByTagName: JSString = "getElementsByTagName" - @usableFromInline static let getElementsByTagNameNS: JSString = "getElementsByTagNameNS" - @usableFromInline static let getEntries: JSString = "getEntries" - @usableFromInline static let getEntriesByName: JSString = "getEntriesByName" - @usableFromInline static let getEntriesByType: JSString = "getEntriesByType" - @usableFromInline static let getImageData: JSString = "getImageData" - @usableFromInline static let getItem: JSString = "getItem" - @usableFromInline static let getLineDash: JSString = "getLineDash" - @usableFromInline static let getModifierState: JSString = "getModifierState" - @usableFromInline static let getName: JSString = "getName" - @usableFromInline static let getNamedItem: JSString = "getNamedItem" - @usableFromInline static let getNamedItemNS: JSString = "getNamedItemNS" - @usableFromInline static let getParameter: JSString = "getParameter" - @usableFromInline static let getReader: JSString = "getReader" - @usableFromInline static let getRegistration: JSString = "getRegistration" - @usableFromInline static let getRegistrations: JSString = "getRegistrations" - @usableFromInline static let getResponseHeader: JSString = "getResponseHeader" - @usableFromInline static let getRootNode: JSString = "getRootNode" - @usableFromInline static let getSVGDocument: JSString = "getSVGDocument" - @usableFromInline static let getSetCookie: JSString = "getSetCookie" - @usableFromInline static let getSettings: JSString = "getSettings" - @usableFromInline static let getStartDate: JSString = "getStartDate" - @usableFromInline static let getState: JSString = "getState" - @usableFromInline static let getSupportedConstraints: JSString = "getSupportedConstraints" - @usableFromInline static let getTrackById: JSString = "getTrackById" - @usableFromInline static let getTracks: JSString = "getTracks" - @usableFromInline static let getTransform: JSString = "getTransform" - @usableFromInline static let getUserMedia: JSString = "getUserMedia" - @usableFromInline static let getVideoTracks: JSString = "getVideoTracks" - @usableFromInline static let getWriter: JSString = "getWriter" - @usableFromInline static let globalAlpha: JSString = "globalAlpha" - @usableFromInline static let globalCompositeOperation: JSString = "globalCompositeOperation" - @usableFromInline static let go: JSString = "go" - @usableFromInline static let groupId: JSString = "groupId" - @usableFromInline static let handle: JSString = "handle" - @usableFromInline static let handled: JSString = "handled" - @usableFromInline static let handler: JSString = "handler" - @usableFromInline static let hangingBaseline: JSString = "hangingBaseline" - @usableFromInline static let hardwareAcceleration: JSString = "hardwareAcceleration" - @usableFromInline static let hardwareConcurrency: JSString = "hardwareConcurrency" - @usableFromInline static let has: JSString = "has" - @usableFromInline static let hasAttribute: JSString = "hasAttribute" - @usableFromInline static let hasAttributeNS: JSString = "hasAttributeNS" - @usableFromInline static let hasAttributes: JSString = "hasAttributes" - @usableFromInline static let hasBeenActive: JSString = "hasBeenActive" - @usableFromInline static let hasChildNodes: JSString = "hasChildNodes" - @usableFromInline static let hasFeature: JSString = "hasFeature" - @usableFromInline static let hasFocus: JSString = "hasFocus" - @usableFromInline static let hash: JSString = "hash" - @usableFromInline static let hashChange: JSString = "hashChange" - @usableFromInline static let head: JSString = "head" - @usableFromInline static let headerValue: JSString = "headerValue" - @usableFromInline static let headers: JSString = "headers" - @usableFromInline static let height: JSString = "height" - @usableFromInline static let hidden: JSString = "hidden" - @usableFromInline static let hidePopover: JSString = "hidePopover" - @usableFromInline static let high: JSString = "high" - @usableFromInline static let highWaterMark: JSString = "highWaterMark" - @usableFromInline static let history: JSString = "history" - @usableFromInline static let host: JSString = "host" - @usableFromInline static let hostname: JSString = "hostname" - @usableFromInline static let href: JSString = "href" - @usableFromInline static let hreflang: JSString = "hreflang" - @usableFromInline static let hspace: JSString = "hspace" - @usableFromInline static let htmlFor: JSString = "htmlFor" - @usableFromInline static let httpEquiv: JSString = "httpEquiv" - @usableFromInline static let id: JSString = "id" - @usableFromInline static let ideal: JSString = "ideal" - @usableFromInline static let identifier: JSString = "identifier" - @usableFromInline static let ideographicBaseline: JSString = "ideographicBaseline" - @usableFromInline static let ignoreMethod: JSString = "ignoreMethod" - @usableFromInline static let ignoreSearch: JSString = "ignoreSearch" - @usableFromInline static let ignoreVary: JSString = "ignoreVary" - @usableFromInline static let image: JSString = "image" - @usableFromInline static let imageOrientation: JSString = "imageOrientation" - @usableFromInline static let imageSizes: JSString = "imageSizes" - @usableFromInline static let imageSmoothingEnabled: JSString = "imageSmoothingEnabled" - @usableFromInline static let imageSmoothingQuality: JSString = "imageSmoothingQuality" - @usableFromInline static let imageSrcset: JSString = "imageSrcset" - @usableFromInline static let images: JSString = "images" - @usableFromInline static let implementation: JSString = "implementation" - @usableFromInline static let importNode: JSString = "importNode" - @usableFromInline static let importStylesheet: JSString = "importStylesheet" - @usableFromInline static let inBandMetadataTrackDispatchType: JSString = "inBandMetadataTrackDispatchType" - @usableFromInline static let includeUncontrolled: JSString = "includeUncontrolled" - @usableFromInline static let indeterminate: JSString = "indeterminate" - @usableFromInline static let index: JSString = "index" - @usableFromInline static let inert: JSString = "inert" - @usableFromInline static let info: JSString = "info" - @usableFromInline static let initCompositionEvent: JSString = "initCompositionEvent" - @usableFromInline static let initCustomEvent: JSString = "initCustomEvent" - @usableFromInline static let initEvent: JSString = "initEvent" - @usableFromInline static let initKeyboardEvent: JSString = "initKeyboardEvent" - @usableFromInline static let initMessageEvent: JSString = "initMessageEvent" - @usableFromInline static let initMouseEvent: JSString = "initMouseEvent" - @usableFromInline static let initMutationEvent: JSString = "initMutationEvent" - @usableFromInline static let initStorageEvent: JSString = "initStorageEvent" - @usableFromInline static let initUIEvent: JSString = "initUIEvent" - @usableFromInline static let inline: JSString = "inline" - @usableFromInline static let innerHeight: JSString = "innerHeight" - @usableFromInline static let innerText: JSString = "innerText" - @usableFromInline static let innerWidth: JSString = "innerWidth" - @usableFromInline static let inputEncoding: JSString = "inputEncoding" - @usableFromInline static let inputMode: JSString = "inputMode" - @usableFromInline static let inputType: JSString = "inputType" - @usableFromInline static let insertAdjacentElement: JSString = "insertAdjacentElement" - @usableFromInline static let insertAdjacentText: JSString = "insertAdjacentText" - @usableFromInline static let insertBefore: JSString = "insertBefore" - @usableFromInline static let insertCell: JSString = "insertCell" - @usableFromInline static let insertData: JSString = "insertData" - @usableFromInline static let insertNode: JSString = "insertNode" - @usableFromInline static let insertRow: JSString = "insertRow" - @usableFromInline static let installing: JSString = "installing" - @usableFromInline static let integrity: JSString = "integrity" - @usableFromInline static let intercept: JSString = "intercept" - @usableFromInline static let intersectsNode: JSString = "intersectsNode" - @usableFromInline static let invalidIteratorState: JSString = "invalidIteratorState" - @usableFromInline static let inverse: JSString = "inverse" - @usableFromInline static let invertSelf: JSString = "invertSelf" + @usableFromInline static let `define`: JSString = "define" + @usableFromInline static let `delegatesFocus`: JSString = "delegatesFocus" + @usableFromInline static let `delete`: JSString = "delete" + @usableFromInline static let `deleteCaption`: JSString = "deleteCaption" + @usableFromInline static let `deleteCell`: JSString = "deleteCell" + @usableFromInline static let `deleteContents`: JSString = "deleteContents" + @usableFromInline static let `deleteData`: JSString = "deleteData" + @usableFromInline static let `deleteRow`: JSString = "deleteRow" + @usableFromInline static let `deleteTFoot`: JSString = "deleteTFoot" + @usableFromInline static let `deleteTHead`: JSString = "deleteTHead" + @usableFromInline static let `deltaMode`: JSString = "deltaMode" + @usableFromInline static let `deltaX`: JSString = "deltaX" + @usableFromInline static let `deltaY`: JSString = "deltaY" + @usableFromInline static let `deltaZ`: JSString = "deltaZ" + @usableFromInline static let `description`: JSString = "description" + @usableFromInline static let `descriptor`: JSString = "descriptor" + @usableFromInline static let `designMode`: JSString = "designMode" + @usableFromInline static let `desiredHeight`: JSString = "desiredHeight" + @usableFromInline static let `desiredSize`: JSString = "desiredSize" + @usableFromInline static let `desiredWidth`: JSString = "desiredWidth" + @usableFromInline static let `destination`: JSString = "destination" + @usableFromInline static let `desynchronized`: JSString = "desynchronized" + @usableFromInline static let `detach`: JSString = "detach" + @usableFromInline static let `detail`: JSString = "detail" + @usableFromInline static let `deviceId`: JSString = "deviceId" + @usableFromInline static let `devicePixelRatio`: JSString = "devicePixelRatio" + @usableFromInline static let `dir`: JSString = "dir" + @usableFromInline static let `dirName`: JSString = "dirName" + @usableFromInline static let `direction`: JSString = "direction" + @usableFromInline static let `disable`: JSString = "disable" + @usableFromInline static let `disabled`: JSString = "disabled" + @usableFromInline static let `disconnect`: JSString = "disconnect" + @usableFromInline static let `dispatchEvent`: JSString = "dispatchEvent" + @usableFromInline static let `displayAspectHeight`: JSString = "displayAspectHeight" + @usableFromInline static let `displayAspectWidth`: JSString = "displayAspectWidth" + @usableFromInline static let `displayHeight`: JSString = "displayHeight" + @usableFromInline static let `displayWidth`: JSString = "displayWidth" + @usableFromInline static let `doctype`: JSString = "doctype" + @usableFromInline static let `document`: JSString = "document" + @usableFromInline static let `documentElement`: JSString = "documentElement" + @usableFromInline static let `documentURI`: JSString = "documentURI" + @usableFromInline static let `domain`: JSString = "domain" + @usableFromInline static let `done`: JSString = "done" + @usableFromInline static let `download`: JSString = "download" + @usableFromInline static let `downloadRequest`: JSString = "downloadRequest" + @usableFromInline static let `draggable`: JSString = "draggable" + @usableFromInline static let `drawFocusIfNeeded`: JSString = "drawFocusIfNeeded" + @usableFromInline static let `drawImage`: JSString = "drawImage" + @usableFromInline static let `dropEffect`: JSString = "dropEffect" + @usableFromInline static let `droppedEntriesCount`: JSString = "droppedEntriesCount" + @usableFromInline static let `duplex`: JSString = "duplex" + @usableFromInline static let `duration`: JSString = "duration" + @usableFromInline static let `e`: JSString = "e" + @usableFromInline static let `echoCancellation`: JSString = "echoCancellation" + @usableFromInline static let `effectAllowed`: JSString = "effectAllowed" + @usableFromInline static let `element`: JSString = "element" + @usableFromInline static let `elementFromPoint`: JSString = "elementFromPoint" + @usableFromInline static let `elements`: JSString = "elements" + @usableFromInline static let `elementsFromPoint`: JSString = "elementsFromPoint" + @usableFromInline static let `ellipse`: JSString = "ellipse" + @usableFromInline static let `emHeightAscent`: JSString = "emHeightAscent" + @usableFromInline static let `emHeightDescent`: JSString = "emHeightDescent" + @usableFromInline static let `embeds`: JSString = "embeds" + @usableFromInline static let `emptyHTML`: JSString = "emptyHTML" + @usableFromInline static let `emptyScript`: JSString = "emptyScript" + @usableFromInline static let `enable`: JSString = "enable" + @usableFromInline static let `enabled`: JSString = "enabled" + @usableFromInline static let `enabledPlugin`: JSString = "enabledPlugin" + @usableFromInline static let `encode`: JSString = "encode" + @usableFromInline static let `encodeQueueSize`: JSString = "encodeQueueSize" + @usableFromInline static let `encoding`: JSString = "encoding" + @usableFromInline static let `enctype`: JSString = "enctype" + @usableFromInline static let `end`: JSString = "end" + @usableFromInline static let `endContainer`: JSString = "endContainer" + @usableFromInline static let `endOfStream`: JSString = "endOfStream" + @usableFromInline static let `endOffset`: JSString = "endOffset" + @usableFromInline static let `endTime`: JSString = "endTime" + @usableFromInline static let `ended`: JSString = "ended" + @usableFromInline static let `endings`: JSString = "endings" + @usableFromInline static let `enqueue`: JSString = "enqueue" + @usableFromInline static let `enterKeyHint`: JSString = "enterKeyHint" + @usableFromInline static let `entries`: JSString = "entries" + @usableFromInline static let `entryType`: JSString = "entryType" + @usableFromInline static let `entryTypes`: JSString = "entryTypes" + @usableFromInline static let `enumerateDevices`: JSString = "enumerateDevices" + @usableFromInline static let `error`: JSString = "error" + @usableFromInline static let `evaluate`: JSString = "evaluate" + @usableFromInline static let `event`: JSString = "event" + @usableFromInline static let `eventPhase`: JSString = "eventPhase" + @usableFromInline static let `exact`: JSString = "exact" + @usableFromInline static let `exec`: JSString = "exec" + @usableFromInline static let `execCommand`: JSString = "execCommand" + @usableFromInline static let `extends`: JSString = "extends" + @usableFromInline static let `external`: JSString = "external" + @usableFromInline static let `extractContents`: JSString = "extractContents" + @usableFromInline static let `f`: JSString = "f" + @usableFromInline static let `face`: JSString = "face" + @usableFromInline static let `facingMode`: JSString = "facingMode" + @usableFromInline static let `fastSeek`: JSString = "fastSeek" + @usableFromInline static let `fetch`: JSString = "fetch" + @usableFromInline static let `fetchPriority`: JSString = "fetchPriority" + @usableFromInline static let `fgColor`: JSString = "fgColor" + @usableFromInline static let `filename`: JSString = "filename" + @usableFromInline static let `files`: JSString = "files" + @usableFromInline static let `fill`: JSString = "fill" + @usableFromInline static let `fillRect`: JSString = "fillRect" + @usableFromInline static let `fillStyle`: JSString = "fillStyle" + @usableFromInline static let `fillText`: JSString = "fillText" + @usableFromInline static let `filter`: JSString = "filter" + @usableFromInline static let `finished`: JSString = "finished" + @usableFromInline static let `firstChild`: JSString = "firstChild" + @usableFromInline static let `firstElementChild`: JSString = "firstElementChild" + @usableFromInline static let `flatten`: JSString = "flatten" + @usableFromInline static let `flipX`: JSString = "flipX" + @usableFromInline static let `flipY`: JSString = "flipY" + @usableFromInline static let `flush`: JSString = "flush" + @usableFromInline static let `focus`: JSString = "focus" + @usableFromInline static let `focusReset`: JSString = "focusReset" + @usableFromInline static let `focusVisible`: JSString = "focusVisible" + @usableFromInline static let `font`: JSString = "font" + @usableFromInline static let `fontBoundingBoxAscent`: JSString = "fontBoundingBoxAscent" + @usableFromInline static let `fontBoundingBoxDescent`: JSString = "fontBoundingBoxDescent" + @usableFromInline static let `fontKerning`: JSString = "fontKerning" + @usableFromInline static let `fontStretch`: JSString = "fontStretch" + @usableFromInline static let `fontVariantCaps`: JSString = "fontVariantCaps" + @usableFromInline static let `force`: JSString = "force" + @usableFromInline static let `form`: JSString = "form" + @usableFromInline static let `formAction`: JSString = "formAction" + @usableFromInline static let `formData`: JSString = "formData" + @usableFromInline static let `formEnctype`: JSString = "formEnctype" + @usableFromInline static let `formMethod`: JSString = "formMethod" + @usableFromInline static let `formNoValidate`: JSString = "formNoValidate" + @usableFromInline static let `formTarget`: JSString = "formTarget" + @usableFromInline static let `format`: JSString = "format" + @usableFromInline static let `forms`: JSString = "forms" + @usableFromInline static let `forward`: JSString = "forward" + @usableFromInline static let `frame`: JSString = "frame" + @usableFromInline static let `frameBorder`: JSString = "frameBorder" + @usableFromInline static let `frameCount`: JSString = "frameCount" + @usableFromInline static let `frameElement`: JSString = "frameElement" + @usableFromInline static let `frameIndex`: JSString = "frameIndex" + @usableFromInline static let `frameOffset`: JSString = "frameOffset" + @usableFromInline static let `frameRate`: JSString = "frameRate" + @usableFromInline static let `framerate`: JSString = "framerate" + @usableFromInline static let `frames`: JSString = "frames" + @usableFromInline static let `from`: JSString = "from" + @usableFromInline static let `fromBox`: JSString = "fromBox" + @usableFromInline static let `fromFloat32Array`: JSString = "fromFloat32Array" + @usableFromInline static let `fromFloat64Array`: JSString = "fromFloat64Array" + @usableFromInline static let `fromLiteral`: JSString = "fromLiteral" + @usableFromInline static let `fromMatrix`: JSString = "fromMatrix" + @usableFromInline static let `fromPoint`: JSString = "fromPoint" + @usableFromInline static let `fromQuad`: JSString = "fromQuad" + @usableFromInline static let `fromRect`: JSString = "fromRect" + @usableFromInline static let `fullRange`: JSString = "fullRange" + @usableFromInline static let `get`: JSString = "get" + @usableFromInline static let `getAll`: JSString = "getAll" + @usableFromInline static let `getAllResponseHeaders`: JSString = "getAllResponseHeaders" + @usableFromInline static let `getAsFile`: JSString = "getAsFile" + @usableFromInline static let `getAsString`: JSString = "getAsString" + @usableFromInline static let `getAttribute`: JSString = "getAttribute" + @usableFromInline static let `getAttributeNS`: JSString = "getAttributeNS" + @usableFromInline static let `getAttributeNames`: JSString = "getAttributeNames" + @usableFromInline static let `getAttributeNode`: JSString = "getAttributeNode" + @usableFromInline static let `getAttributeNodeNS`: JSString = "getAttributeNodeNS" + @usableFromInline static let `getAttributeType`: JSString = "getAttributeType" + @usableFromInline static let `getAudioTracks`: JSString = "getAudioTracks" + @usableFromInline static let `getBoundingClientRect`: JSString = "getBoundingClientRect" + @usableFromInline static let `getBounds`: JSString = "getBounds" + @usableFromInline static let `getBoxQuads`: JSString = "getBoxQuads" + @usableFromInline static let `getCapabilities`: JSString = "getCapabilities" + @usableFromInline static let `getClientRect`: JSString = "getClientRect" + @usableFromInline static let `getClientRects`: JSString = "getClientRects" + @usableFromInline static let `getConstraints`: JSString = "getConstraints" + @usableFromInline static let `getContextAttributes`: JSString = "getContextAttributes" + @usableFromInline static let `getCueById`: JSString = "getCueById" + @usableFromInline static let `getData`: JSString = "getData" + @usableFromInline static let `getElementById`: JSString = "getElementById" + @usableFromInline static let `getElementsByClassName`: JSString = "getElementsByClassName" + @usableFromInline static let `getElementsByName`: JSString = "getElementsByName" + @usableFromInline static let `getElementsByTagName`: JSString = "getElementsByTagName" + @usableFromInline static let `getElementsByTagNameNS`: JSString = "getElementsByTagNameNS" + @usableFromInline static let `getEntries`: JSString = "getEntries" + @usableFromInline static let `getEntriesByName`: JSString = "getEntriesByName" + @usableFromInline static let `getEntriesByType`: JSString = "getEntriesByType" + @usableFromInline static let `getImageData`: JSString = "getImageData" + @usableFromInline static let `getItem`: JSString = "getItem" + @usableFromInline static let `getLineDash`: JSString = "getLineDash" + @usableFromInline static let `getModifierState`: JSString = "getModifierState" + @usableFromInline static let `getName`: JSString = "getName" + @usableFromInline static let `getNamedItem`: JSString = "getNamedItem" + @usableFromInline static let `getNamedItemNS`: JSString = "getNamedItemNS" + @usableFromInline static let `getParameter`: JSString = "getParameter" + @usableFromInline static let `getPropertyType`: JSString = "getPropertyType" + @usableFromInline static let `getReader`: JSString = "getReader" + @usableFromInline static let `getRegistration`: JSString = "getRegistration" + @usableFromInline static let `getRegistrations`: JSString = "getRegistrations" + @usableFromInline static let `getResponseHeader`: JSString = "getResponseHeader" + @usableFromInline static let `getRootNode`: JSString = "getRootNode" + @usableFromInline static let `getSVGDocument`: JSString = "getSVGDocument" + @usableFromInline static let `getSetCookie`: JSString = "getSetCookie" + @usableFromInline static let `getSettings`: JSString = "getSettings" + @usableFromInline static let `getStartDate`: JSString = "getStartDate" + @usableFromInline static let `getState`: JSString = "getState" + @usableFromInline static let `getSupportedConstraints`: JSString = "getSupportedConstraints" + @usableFromInline static let `getTrackById`: JSString = "getTrackById" + @usableFromInline static let `getTracks`: JSString = "getTracks" + @usableFromInline static let `getTransform`: JSString = "getTransform" + @usableFromInline static let `getUserMedia`: JSString = "getUserMedia" + @usableFromInline static let `getVideoTracks`: JSString = "getVideoTracks" + @usableFromInline static let `getWriter`: JSString = "getWriter" + @usableFromInline static let `globalAlpha`: JSString = "globalAlpha" + @usableFromInline static let `globalCompositeOperation`: JSString = "globalCompositeOperation" + @usableFromInline static let `go`: JSString = "go" + @usableFromInline static let `groupId`: JSString = "groupId" + @usableFromInline static let `groups`: JSString = "groups" + @usableFromInline static let `handle`: JSString = "handle" + @usableFromInline static let `handled`: JSString = "handled" + @usableFromInline static let `handler`: JSString = "handler" + @usableFromInline static let `hangingBaseline`: JSString = "hangingBaseline" + @usableFromInline static let `hardwareAcceleration`: JSString = "hardwareAcceleration" + @usableFromInline static let `hardwareConcurrency`: JSString = "hardwareConcurrency" + @usableFromInline static let `has`: JSString = "has" + @usableFromInline static let `hasAttribute`: JSString = "hasAttribute" + @usableFromInline static let `hasAttributeNS`: JSString = "hasAttributeNS" + @usableFromInline static let `hasAttributes`: JSString = "hasAttributes" + @usableFromInline static let `hasBeenActive`: JSString = "hasBeenActive" + @usableFromInline static let `hasChildNodes`: JSString = "hasChildNodes" + @usableFromInline static let `hasFeature`: JSString = "hasFeature" + @usableFromInline static let `hasFocus`: JSString = "hasFocus" + @usableFromInline static let `hash`: JSString = "hash" + @usableFromInline static let `hashChange`: JSString = "hashChange" + @usableFromInline static let `head`: JSString = "head" + @usableFromInline static let `headerValue`: JSString = "headerValue" + @usableFromInline static let `headers`: JSString = "headers" + @usableFromInline static let `height`: JSString = "height" + @usableFromInline static let `hidden`: JSString = "hidden" + @usableFromInline static let `hidePopover`: JSString = "hidePopover" + @usableFromInline static let `high`: JSString = "high" + @usableFromInline static let `highWaterMark`: JSString = "highWaterMark" + @usableFromInline static let `history`: JSString = "history" + @usableFromInline static let `host`: JSString = "host" + @usableFromInline static let `hostname`: JSString = "hostname" + @usableFromInline static let `href`: JSString = "href" + @usableFromInline static let `hreflang`: JSString = "hreflang" + @usableFromInline static let `hspace`: JSString = "hspace" + @usableFromInline static let `htmlFor`: JSString = "htmlFor" + @usableFromInline static let `httpEquiv`: JSString = "httpEquiv" + @usableFromInline static let `id`: JSString = "id" + @usableFromInline static let `ideal`: JSString = "ideal" + @usableFromInline static let `identifier`: JSString = "identifier" + @usableFromInline static let `ideographicBaseline`: JSString = "ideographicBaseline" + @usableFromInline static let `ignoreCase`: JSString = "ignoreCase" + @usableFromInline static let `ignoreMethod`: JSString = "ignoreMethod" + @usableFromInline static let `ignoreSearch`: JSString = "ignoreSearch" + @usableFromInline static let `ignoreVary`: JSString = "ignoreVary" + @usableFromInline static let `image`: JSString = "image" + @usableFromInline static let `imageOrientation`: JSString = "imageOrientation" + @usableFromInline static let `imageSizes`: JSString = "imageSizes" + @usableFromInline static let `imageSmoothingEnabled`: JSString = "imageSmoothingEnabled" + @usableFromInline static let `imageSmoothingQuality`: JSString = "imageSmoothingQuality" + @usableFromInline static let `imageSrcset`: JSString = "imageSrcset" + @usableFromInline static let `images`: JSString = "images" + @usableFromInline static let `implementation`: JSString = "implementation" + @usableFromInline static let `importNode`: JSString = "importNode" + @usableFromInline static let `importStylesheet`: JSString = "importStylesheet" + @usableFromInline static let `inBandMetadataTrackDispatchType`: JSString = "inBandMetadataTrackDispatchType" + @usableFromInline static let `includeUncontrolled`: JSString = "includeUncontrolled" + @usableFromInline static let `indeterminate`: JSString = "indeterminate" + @usableFromInline static let `index`: JSString = "index" + @usableFromInline static let `inert`: JSString = "inert" + @usableFromInline static let `info`: JSString = "info" + @usableFromInline static let `initCompositionEvent`: JSString = "initCompositionEvent" + @usableFromInline static let `initCustomEvent`: JSString = "initCustomEvent" + @usableFromInline static let `initEvent`: JSString = "initEvent" + @usableFromInline static let `initKeyboardEvent`: JSString = "initKeyboardEvent" + @usableFromInline static let `initMessageEvent`: JSString = "initMessageEvent" + @usableFromInline static let `initMouseEvent`: JSString = "initMouseEvent" + @usableFromInline static let `initMutationEvent`: JSString = "initMutationEvent" + @usableFromInline static let `initStorageEvent`: JSString = "initStorageEvent" + @usableFromInline static let `initUIEvent`: JSString = "initUIEvent" + @usableFromInline static let `inline`: JSString = "inline" + @usableFromInline static let `innerHeight`: JSString = "innerHeight" + @usableFromInline static let `innerText`: JSString = "innerText" + @usableFromInline static let `innerWidth`: JSString = "innerWidth" + @usableFromInline static let `input`: JSString = "input" + @usableFromInline static let `inputEncoding`: JSString = "inputEncoding" + @usableFromInline static let `inputMode`: JSString = "inputMode" + @usableFromInline static let `inputType`: JSString = "inputType" + @usableFromInline static let `inputs`: JSString = "inputs" + @usableFromInline static let `insertAdjacentElement`: JSString = "insertAdjacentElement" + @usableFromInline static let `insertAdjacentText`: JSString = "insertAdjacentText" + @usableFromInline static let `insertBefore`: JSString = "insertBefore" + @usableFromInline static let `insertCell`: JSString = "insertCell" + @usableFromInline static let `insertData`: JSString = "insertData" + @usableFromInline static let `insertNode`: JSString = "insertNode" + @usableFromInline static let `insertRow`: JSString = "insertRow" + @usableFromInline static let `installing`: JSString = "installing" + @usableFromInline static let `integrity`: JSString = "integrity" + @usableFromInline static let `intercept`: JSString = "intercept" + @usableFromInline static let `intersectsNode`: JSString = "intersectsNode" + @usableFromInline static let `invalidIteratorState`: JSString = "invalidIteratorState" + @usableFromInline static let `inverse`: JSString = "inverse" + @usableFromInline static let `invertSelf`: JSString = "invertSelf" @usableFromInline static let `is`: JSString = "is" - @usableFromInline static let is2D: JSString = "is2D" - @usableFromInline static let isActive: JSString = "isActive" - @usableFromInline static let isComposing: JSString = "isComposing" - @usableFromInline static let isConfigSupported: JSString = "isConfigSupported" - @usableFromInline static let isConnected: JSString = "isConnected" - @usableFromInline static let isContentEditable: JSString = "isContentEditable" - @usableFromInline static let isContextLost: JSString = "isContextLost" - @usableFromInline static let isDefaultNamespace: JSString = "isDefaultNamespace" - @usableFromInline static let isEqualNode: JSString = "isEqualNode" - @usableFromInline static let isHistoryNavigation: JSString = "isHistoryNavigation" - @usableFromInline static let isIdentity: JSString = "isIdentity" - @usableFromInline static let isMap: JSString = "isMap" - @usableFromInline static let isPointInPath: JSString = "isPointInPath" - @usableFromInline static let isPointInRange: JSString = "isPointInRange" - @usableFromInline static let isPointInStroke: JSString = "isPointInStroke" - @usableFromInline static let isReloadNavigation: JSString = "isReloadNavigation" - @usableFromInline static let isSameNode: JSString = "isSameNode" - @usableFromInline static let isSecureContext: JSString = "isSecureContext" - @usableFromInline static let isTrusted: JSString = "isTrusted" - @usableFromInline static let isTypeSupported: JSString = "isTypeSupported" - @usableFromInline static let item: JSString = "item" - @usableFromInline static let items: JSString = "items" - @usableFromInline static let iterateNext: JSString = "iterateNext" - @usableFromInline static let javaEnabled: JSString = "javaEnabled" - @usableFromInline static let json: JSString = "json" - @usableFromInline static let keepalive: JSString = "keepalive" - @usableFromInline static let key: JSString = "key" - @usableFromInline static let keyCode: JSString = "keyCode" - @usableFromInline static let keyFrame: JSString = "keyFrame" - @usableFromInline static let keys: JSString = "keys" - @usableFromInline static let kind: JSString = "kind" - @usableFromInline static let label: JSString = "label" - @usableFromInline static let labels: JSString = "labels" - @usableFromInline static let lang: JSString = "lang" - @usableFromInline static let language: JSString = "language" - @usableFromInline static let languages: JSString = "languages" - @usableFromInline static let lastChild: JSString = "lastChild" - @usableFromInline static let lastElementChild: JSString = "lastElementChild" - @usableFromInline static let lastEventId: JSString = "lastEventId" - @usableFromInline static let lastModified: JSString = "lastModified" - @usableFromInline static let latency: JSString = "latency" - @usableFromInline static let latencyMode: JSString = "latencyMode" - @usableFromInline static let layout: JSString = "layout" - @usableFromInline static let left: JSString = "left" - @usableFromInline static let length: JSString = "length" - @usableFromInline static let lengthComputable: JSString = "lengthComputable" - @usableFromInline static let letterSpacing: JSString = "letterSpacing" - @usableFromInline static let lineCap: JSString = "lineCap" - @usableFromInline static let lineDashOffset: JSString = "lineDashOffset" - @usableFromInline static let lineJoin: JSString = "lineJoin" - @usableFromInline static let lineTo: JSString = "lineTo" - @usableFromInline static let lineWidth: JSString = "lineWidth" - @usableFromInline static let lineno: JSString = "lineno" - @usableFromInline static let link: JSString = "link" - @usableFromInline static let linkColor: JSString = "linkColor" - @usableFromInline static let links: JSString = "links" - @usableFromInline static let list: JSString = "list" - @usableFromInline static let load: JSString = "load" - @usableFromInline static let loaded: JSString = "loaded" - @usableFromInline static let loading: JSString = "loading" - @usableFromInline static let localName: JSString = "localName" - @usableFromInline static let localStorage: JSString = "localStorage" - @usableFromInline static let location: JSString = "location" - @usableFromInline static let locationbar: JSString = "locationbar" - @usableFromInline static let locked: JSString = "locked" - @usableFromInline static let longDesc: JSString = "longDesc" - @usableFromInline static let lookupNamespaceURI: JSString = "lookupNamespaceURI" - @usableFromInline static let lookupPrefix: JSString = "lookupPrefix" - @usableFromInline static let loop: JSString = "loop" - @usableFromInline static let low: JSString = "low" - @usableFromInline static let lowsrc: JSString = "lowsrc" - @usableFromInline static let m11: JSString = "m11" - @usableFromInline static let m12: JSString = "m12" - @usableFromInline static let m13: JSString = "m13" - @usableFromInline static let m14: JSString = "m14" - @usableFromInline static let m21: JSString = "m21" - @usableFromInline static let m22: JSString = "m22" - @usableFromInline static let m23: JSString = "m23" - @usableFromInline static let m24: JSString = "m24" - @usableFromInline static let m31: JSString = "m31" - @usableFromInline static let m32: JSString = "m32" - @usableFromInline static let m33: JSString = "m33" - @usableFromInline static let m34: JSString = "m34" - @usableFromInline static let m41: JSString = "m41" - @usableFromInline static let m42: JSString = "m42" - @usableFromInline static let m43: JSString = "m43" - @usableFromInline static let m44: JSString = "m44" - @usableFromInline static let marginHeight: JSString = "marginHeight" - @usableFromInline static let marginWidth: JSString = "marginWidth" - @usableFromInline static let match: JSString = "match" - @usableFromInline static let matchAll: JSString = "matchAll" - @usableFromInline static let matchMedia: JSString = "matchMedia" - @usableFromInline static let matches: JSString = "matches" - @usableFromInline static let matrix: JSString = "matrix" - @usableFromInline static let matrixTransform: JSString = "matrixTransform" - @usableFromInline static let max: JSString = "max" - @usableFromInline static let maxLength: JSString = "maxLength" - @usableFromInline static let measureText: JSString = "measureText" - @usableFromInline static let media: JSString = "media" - @usableFromInline static let mediaDevices: JSString = "mediaDevices" - @usableFromInline static let menubar: JSString = "menubar" - @usableFromInline static let message: JSString = "message" - @usableFromInline static let metaKey: JSString = "metaKey" - @usableFromInline static let metadata: JSString = "metadata" - @usableFromInline static let method: JSString = "method" - @usableFromInline static let mimeType: JSString = "mimeType" - @usableFromInline static let mimeTypes: JSString = "mimeTypes" - @usableFromInline static let min: JSString = "min" - @usableFromInline static let minLength: JSString = "minLength" - @usableFromInline static let miterLimit: JSString = "miterLimit" - @usableFromInline static let mode: JSString = "mode" - @usableFromInline static let modifierAltGraph: JSString = "modifierAltGraph" - @usableFromInline static let modifierCapsLock: JSString = "modifierCapsLock" - @usableFromInline static let modifierFn: JSString = "modifierFn" - @usableFromInline static let modifierFnLock: JSString = "modifierFnLock" - @usableFromInline static let modifierHyper: JSString = "modifierHyper" - @usableFromInline static let modifierNumLock: JSString = "modifierNumLock" - @usableFromInline static let modifierScrollLock: JSString = "modifierScrollLock" - @usableFromInline static let modifierSuper: JSString = "modifierSuper" - @usableFromInline static let modifierSymbol: JSString = "modifierSymbol" - @usableFromInline static let modifierSymbolLock: JSString = "modifierSymbolLock" - @usableFromInline static let moveBy: JSString = "moveBy" - @usableFromInline static let moveTo: JSString = "moveTo" - @usableFromInline static let multiple: JSString = "multiple" - @usableFromInline static let multiply: JSString = "multiply" - @usableFromInline static let multiplySelf: JSString = "multiplySelf" - @usableFromInline static let muted: JSString = "muted" - @usableFromInline static let name: JSString = "name" - @usableFromInline static let namedItem: JSString = "namedItem" - @usableFromInline static let namespaceURI: JSString = "namespaceURI" - @usableFromInline static let naturalHeight: JSString = "naturalHeight" - @usableFromInline static let naturalWidth: JSString = "naturalWidth" - @usableFromInline static let navigate: JSString = "navigate" - @usableFromInline static let navigation: JSString = "navigation" - @usableFromInline static let navigationPreload: JSString = "navigationPreload" - @usableFromInline static let navigationType: JSString = "navigationType" - @usableFromInline static let navigator: JSString = "navigator" - @usableFromInline static let networkState: JSString = "networkState" - @usableFromInline static let newState: JSString = "newState" - @usableFromInline static let newURL: JSString = "newURL" - @usableFromInline static let newValue: JSString = "newValue" - @usableFromInline static let nextElementSibling: JSString = "nextElementSibling" - @usableFromInline static let nextNode: JSString = "nextNode" - @usableFromInline static let nextSibling: JSString = "nextSibling" - @usableFromInline static let noHref: JSString = "noHref" - @usableFromInline static let noModule: JSString = "noModule" - @usableFromInline static let noResize: JSString = "noResize" - @usableFromInline static let noShade: JSString = "noShade" - @usableFromInline static let noValidate: JSString = "noValidate" - @usableFromInline static let noWrap: JSString = "noWrap" - @usableFromInline static let nodeName: JSString = "nodeName" - @usableFromInline static let nodeType: JSString = "nodeType" - @usableFromInline static let nodeValue: JSString = "nodeValue" - @usableFromInline static let noiseSuppression: JSString = "noiseSuppression" - @usableFromInline static let nonce: JSString = "nonce" - @usableFromInline static let normalize: JSString = "normalize" - @usableFromInline static let now: JSString = "now" - @usableFromInline static let numberOfChannels: JSString = "numberOfChannels" - @usableFromInline static let numberOfFrames: JSString = "numberOfFrames" - @usableFromInline static let numberValue: JSString = "numberValue" - @usableFromInline static let observe: JSString = "observe" - @usableFromInline static let offset: JSString = "offset" - @usableFromInline static let offsetHeight: JSString = "offsetHeight" - @usableFromInline static let offsetLeft: JSString = "offsetLeft" - @usableFromInline static let offsetNode: JSString = "offsetNode" - @usableFromInline static let offsetParent: JSString = "offsetParent" - @usableFromInline static let offsetTop: JSString = "offsetTop" - @usableFromInline static let offsetWidth: JSString = "offsetWidth" - @usableFromInline static let offsetX: JSString = "offsetX" - @usableFromInline static let offsetY: JSString = "offsetY" - @usableFromInline static let ok: JSString = "ok" - @usableFromInline static let oldState: JSString = "oldState" - @usableFromInline static let oldURL: JSString = "oldURL" - @usableFromInline static let oldValue: JSString = "oldValue" - @usableFromInline static let onLine: JSString = "onLine" - @usableFromInline static let onabort: JSString = "onabort" - @usableFromInline static let onaddsourcebuffer: JSString = "onaddsourcebuffer" - @usableFromInline static let onaddtrack: JSString = "onaddtrack" - @usableFromInline static let onafterprint: JSString = "onafterprint" - @usableFromInline static let onauxclick: JSString = "onauxclick" - @usableFromInline static let onbeforeinput: JSString = "onbeforeinput" - @usableFromInline static let onbeforematch: JSString = "onbeforematch" - @usableFromInline static let onbeforeprint: JSString = "onbeforeprint" - @usableFromInline static let onbeforetoggle: JSString = "onbeforetoggle" - @usableFromInline static let onbeforeunload: JSString = "onbeforeunload" - @usableFromInline static let onblur: JSString = "onblur" - @usableFromInline static let oncancel: JSString = "oncancel" - @usableFromInline static let oncanplay: JSString = "oncanplay" - @usableFromInline static let oncanplaythrough: JSString = "oncanplaythrough" - @usableFromInline static let once: JSString = "once" - @usableFromInline static let onchange: JSString = "onchange" - @usableFromInline static let onclick: JSString = "onclick" - @usableFromInline static let onclose: JSString = "onclose" - @usableFromInline static let oncontextlost: JSString = "oncontextlost" - @usableFromInline static let oncontextmenu: JSString = "oncontextmenu" - @usableFromInline static let oncontextrestored: JSString = "oncontextrestored" - @usableFromInline static let oncontrollerchange: JSString = "oncontrollerchange" - @usableFromInline static let oncopy: JSString = "oncopy" - @usableFromInline static let oncuechange: JSString = "oncuechange" - @usableFromInline static let oncurrententrychange: JSString = "oncurrententrychange" - @usableFromInline static let oncut: JSString = "oncut" - @usableFromInline static let ondataavailable: JSString = "ondataavailable" - @usableFromInline static let ondblclick: JSString = "ondblclick" - @usableFromInline static let ondequeue: JSString = "ondequeue" - @usableFromInline static let ondevicechange: JSString = "ondevicechange" - @usableFromInline static let ondispose: JSString = "ondispose" - @usableFromInline static let ondrag: JSString = "ondrag" - @usableFromInline static let ondragend: JSString = "ondragend" - @usableFromInline static let ondragenter: JSString = "ondragenter" - @usableFromInline static let ondragleave: JSString = "ondragleave" - @usableFromInline static let ondragover: JSString = "ondragover" - @usableFromInline static let ondragstart: JSString = "ondragstart" - @usableFromInline static let ondrop: JSString = "ondrop" - @usableFromInline static let ondurationchange: JSString = "ondurationchange" - @usableFromInline static let onemptied: JSString = "onemptied" - @usableFromInline static let onended: JSString = "onended" - @usableFromInline static let onenter: JSString = "onenter" - @usableFromInline static let onerror: JSString = "onerror" - @usableFromInline static let onexit: JSString = "onexit" - @usableFromInline static let onfocus: JSString = "onfocus" - @usableFromInline static let onformdata: JSString = "onformdata" - @usableFromInline static let onhashchange: JSString = "onhashchange" - @usableFromInline static let oninput: JSString = "oninput" - @usableFromInline static let oninvalid: JSString = "oninvalid" - @usableFromInline static let onkeydown: JSString = "onkeydown" - @usableFromInline static let onkeypress: JSString = "onkeypress" - @usableFromInline static let onkeyup: JSString = "onkeyup" - @usableFromInline static let onlanguagechange: JSString = "onlanguagechange" - @usableFromInline static let onload: JSString = "onload" - @usableFromInline static let onloadeddata: JSString = "onloadeddata" - @usableFromInline static let onloadedmetadata: JSString = "onloadedmetadata" - @usableFromInline static let onloadend: JSString = "onloadend" - @usableFromInline static let onloadstart: JSString = "onloadstart" - @usableFromInline static let onmessage: JSString = "onmessage" - @usableFromInline static let onmessageerror: JSString = "onmessageerror" - @usableFromInline static let onmousedown: JSString = "onmousedown" - @usableFromInline static let onmouseenter: JSString = "onmouseenter" - @usableFromInline static let onmouseleave: JSString = "onmouseleave" - @usableFromInline static let onmousemove: JSString = "onmousemove" - @usableFromInline static let onmouseout: JSString = "onmouseout" - @usableFromInline static let onmouseover: JSString = "onmouseover" - @usableFromInline static let onmouseup: JSString = "onmouseup" - @usableFromInline static let onmute: JSString = "onmute" - @usableFromInline static let onnavigate: JSString = "onnavigate" - @usableFromInline static let onnavigateerror: JSString = "onnavigateerror" - @usableFromInline static let onnavigatesuccess: JSString = "onnavigatesuccess" - @usableFromInline static let onoffline: JSString = "onoffline" - @usableFromInline static let ononline: JSString = "ononline" - @usableFromInline static let onopen: JSString = "onopen" - @usableFromInline static let onpagehide: JSString = "onpagehide" - @usableFromInline static let onpageshow: JSString = "onpageshow" - @usableFromInline static let onpaste: JSString = "onpaste" - @usableFromInline static let onpause: JSString = "onpause" - @usableFromInline static let onplay: JSString = "onplay" - @usableFromInline static let onplaying: JSString = "onplaying" - @usableFromInline static let onpopstate: JSString = "onpopstate" - @usableFromInline static let onprogress: JSString = "onprogress" - @usableFromInline static let onratechange: JSString = "onratechange" - @usableFromInline static let onreadystatechange: JSString = "onreadystatechange" - @usableFromInline static let onrejectionhandled: JSString = "onrejectionhandled" - @usableFromInline static let onremovesourcebuffer: JSString = "onremovesourcebuffer" - @usableFromInline static let onremovetrack: JSString = "onremovetrack" - @usableFromInline static let onreset: JSString = "onreset" - @usableFromInline static let onresize: JSString = "onresize" - @usableFromInline static let onresume: JSString = "onresume" - @usableFromInline static let onscroll: JSString = "onscroll" - @usableFromInline static let onscrollend: JSString = "onscrollend" - @usableFromInline static let onsecuritypolicyviolation: JSString = "onsecuritypolicyviolation" - @usableFromInline static let onseeked: JSString = "onseeked" - @usableFromInline static let onseeking: JSString = "onseeking" - @usableFromInline static let onselect: JSString = "onselect" - @usableFromInline static let onslotchange: JSString = "onslotchange" - @usableFromInline static let onsourceclose: JSString = "onsourceclose" - @usableFromInline static let onsourceended: JSString = "onsourceended" - @usableFromInline static let onsourceopen: JSString = "onsourceopen" - @usableFromInline static let onstalled: JSString = "onstalled" - @usableFromInline static let onstart: JSString = "onstart" - @usableFromInline static let onstatechange: JSString = "onstatechange" - @usableFromInline static let onstop: JSString = "onstop" - @usableFromInline static let onstorage: JSString = "onstorage" - @usableFromInline static let onsubmit: JSString = "onsubmit" - @usableFromInline static let onsuspend: JSString = "onsuspend" - @usableFromInline static let ontimeout: JSString = "ontimeout" - @usableFromInline static let ontimeupdate: JSString = "ontimeupdate" - @usableFromInline static let ontoggle: JSString = "ontoggle" - @usableFromInline static let ontouchcancel: JSString = "ontouchcancel" - @usableFromInline static let ontouchend: JSString = "ontouchend" - @usableFromInline static let ontouchmove: JSString = "ontouchmove" - @usableFromInline static let ontouchstart: JSString = "ontouchstart" - @usableFromInline static let onunhandledrejection: JSString = "onunhandledrejection" - @usableFromInline static let onunload: JSString = "onunload" - @usableFromInline static let onunmute: JSString = "onunmute" - @usableFromInline static let onupdate: JSString = "onupdate" - @usableFromInline static let onupdateend: JSString = "onupdateend" - @usableFromInline static let onupdatefound: JSString = "onupdatefound" - @usableFromInline static let onupdatestart: JSString = "onupdatestart" - @usableFromInline static let onvisibilitychange: JSString = "onvisibilitychange" - @usableFromInline static let onvolumechange: JSString = "onvolumechange" - @usableFromInline static let onwaiting: JSString = "onwaiting" - @usableFromInline static let onwebkitanimationend: JSString = "onwebkitanimationend" - @usableFromInline static let onwebkitanimationiteration: JSString = "onwebkitanimationiteration" - @usableFromInline static let onwebkitanimationstart: JSString = "onwebkitanimationstart" - @usableFromInline static let onwebkittransitionend: JSString = "onwebkittransitionend" - @usableFromInline static let onwheel: JSString = "onwheel" - @usableFromInline static let open: JSString = "open" - @usableFromInline static let opener: JSString = "opener" - @usableFromInline static let optimizeForLatency: JSString = "optimizeForLatency" - @usableFromInline static let optimum: JSString = "optimum" - @usableFromInline static let options: JSString = "options" - @usableFromInline static let origin: JSString = "origin" - @usableFromInline static let originAgentCluster: JSString = "originAgentCluster" - @usableFromInline static let oscpu: JSString = "oscpu" - @usableFromInline static let outerHeight: JSString = "outerHeight" - @usableFromInline static let outerText: JSString = "outerText" - @usableFromInline static let outerWidth: JSString = "outerWidth" - @usableFromInline static let output: JSString = "output" - @usableFromInline static let overrideMimeType: JSString = "overrideMimeType" - @usableFromInline static let ownerDocument: JSString = "ownerDocument" - @usableFromInline static let ownerElement: JSString = "ownerElement" - @usableFromInline static let p1: JSString = "p1" - @usableFromInline static let p2: JSString = "p2" - @usableFromInline static let p3: JSString = "p3" - @usableFromInline static let p4: JSString = "p4" - @usableFromInline static let pageLeft: JSString = "pageLeft" - @usableFromInline static let pageTop: JSString = "pageTop" - @usableFromInline static let pageX: JSString = "pageX" - @usableFromInline static let pageXOffset: JSString = "pageXOffset" - @usableFromInline static let pageY: JSString = "pageY" - @usableFromInline static let pageYOffset: JSString = "pageYOffset" - @usableFromInline static let panTiltZoom: JSString = "panTiltZoom" - @usableFromInline static let parent: JSString = "parent" - @usableFromInline static let parentElement: JSString = "parentElement" - @usableFromInline static let parentNode: JSString = "parentNode" - @usableFromInline static let parseFromString: JSString = "parseFromString" - @usableFromInline static let passive: JSString = "passive" - @usableFromInline static let password: JSString = "password" - @usableFromInline static let pathname: JSString = "pathname" - @usableFromInline static let pattern: JSString = "pattern" - @usableFromInline static let patternMismatch: JSString = "patternMismatch" - @usableFromInline static let pause: JSString = "pause" - @usableFromInline static let pauseOnExit: JSString = "pauseOnExit" - @usableFromInline static let paused: JSString = "paused" - @usableFromInline static let pdfViewerEnabled: JSString = "pdfViewerEnabled" - @usableFromInline static let performance: JSString = "performance" - @usableFromInline static let permissions: JSString = "permissions" - @usableFromInline static let persisted: JSString = "persisted" - @usableFromInline static let personalbar: JSString = "personalbar" - @usableFromInline static let ping: JSString = "ping" - @usableFromInline static let pipeThrough: JSString = "pipeThrough" - @usableFromInline static let pipeTo: JSString = "pipeTo" - @usableFromInline static let pixelDepth: JSString = "pixelDepth" - @usableFromInline static let placeholder: JSString = "placeholder" - @usableFromInline static let planeIndex: JSString = "planeIndex" - @usableFromInline static let platform: JSString = "platform" - @usableFromInline static let play: JSString = "play" - @usableFromInline static let playbackRate: JSString = "playbackRate" - @usableFromInline static let played: JSString = "played" - @usableFromInline static let playsInline: JSString = "playsInline" - @usableFromInline static let plugins: JSString = "plugins" - @usableFromInline static let pointerBeforeReferenceNode: JSString = "pointerBeforeReferenceNode" - @usableFromInline static let popover: JSString = "popover" - @usableFromInline static let popoverTargetAction: JSString = "popoverTargetAction" - @usableFromInline static let popoverTargetElement: JSString = "popoverTargetElement" - @usableFromInline static let port: JSString = "port" - @usableFromInline static let port1: JSString = "port1" - @usableFromInline static let port2: JSString = "port2" - @usableFromInline static let ports: JSString = "ports" - @usableFromInline static let position: JSString = "position" - @usableFromInline static let postMessage: JSString = "postMessage" - @usableFromInline static let poster: JSString = "poster" - @usableFromInline static let preMultiplySelf: JSString = "preMultiplySelf" - @usableFromInline static let preferAnimation: JSString = "preferAnimation" - @usableFromInline static let prefix: JSString = "prefix" - @usableFromInline static let preload: JSString = "preload" - @usableFromInline static let preloadResponse: JSString = "preloadResponse" - @usableFromInline static let premultiplyAlpha: JSString = "premultiplyAlpha" - @usableFromInline static let prepend: JSString = "prepend" - @usableFromInline static let preservesPitch: JSString = "preservesPitch" - @usableFromInline static let prevValue: JSString = "prevValue" - @usableFromInline static let preventAbort: JSString = "preventAbort" - @usableFromInline static let preventCancel: JSString = "preventCancel" - @usableFromInline static let preventClose: JSString = "preventClose" - @usableFromInline static let preventDefault: JSString = "preventDefault" - @usableFromInline static let preventScroll: JSString = "preventScroll" - @usableFromInline static let previousElementSibling: JSString = "previousElementSibling" - @usableFromInline static let previousNode: JSString = "previousNode" - @usableFromInline static let previousSibling: JSString = "previousSibling" - @usableFromInline static let primaries: JSString = "primaries" - @usableFromInline static let print: JSString = "print" - @usableFromInline static let priority: JSString = "priority" - @usableFromInline static let product: JSString = "product" - @usableFromInline static let productSub: JSString = "productSub" - @usableFromInline static let promise: JSString = "promise" - @usableFromInline static let prompt: JSString = "prompt" + @usableFromInline static let `is2D`: JSString = "is2D" + @usableFromInline static let `isActive`: JSString = "isActive" + @usableFromInline static let `isComposing`: JSString = "isComposing" + @usableFromInline static let `isConfigSupported`: JSString = "isConfigSupported" + @usableFromInline static let `isConnected`: JSString = "isConnected" + @usableFromInline static let `isContentEditable`: JSString = "isContentEditable" + @usableFromInline static let `isContextLost`: JSString = "isContextLost" + @usableFromInline static let `isDefaultNamespace`: JSString = "isDefaultNamespace" + @usableFromInline static let `isEqualNode`: JSString = "isEqualNode" + @usableFromInline static let `isHTML`: JSString = "isHTML" + @usableFromInline static let `isHistoryNavigation`: JSString = "isHistoryNavigation" + @usableFromInline static let `isIdentity`: JSString = "isIdentity" + @usableFromInline static let `isMap`: JSString = "isMap" + @usableFromInline static let `isPointInPath`: JSString = "isPointInPath" + @usableFromInline static let `isPointInRange`: JSString = "isPointInRange" + @usableFromInline static let `isPointInStroke`: JSString = "isPointInStroke" + @usableFromInline static let `isReloadNavigation`: JSString = "isReloadNavigation" + @usableFromInline static let `isSameNode`: JSString = "isSameNode" + @usableFromInline static let `isScript`: JSString = "isScript" + @usableFromInline static let `isScriptURL`: JSString = "isScriptURL" + @usableFromInline static let `isSecureContext`: JSString = "isSecureContext" + @usableFromInline static let `isTrusted`: JSString = "isTrusted" + @usableFromInline static let `isTypeSupported`: JSString = "isTypeSupported" + @usableFromInline static let `item`: JSString = "item" + @usableFromInline static let `items`: JSString = "items" + @usableFromInline static let `iterateNext`: JSString = "iterateNext" + @usableFromInline static let `javaEnabled`: JSString = "javaEnabled" + @usableFromInline static let `json`: JSString = "json" + @usableFromInline static let `keepalive`: JSString = "keepalive" + @usableFromInline static let `key`: JSString = "key" + @usableFromInline static let `keyCode`: JSString = "keyCode" + @usableFromInline static let `keyFrame`: JSString = "keyFrame" + @usableFromInline static let `keys`: JSString = "keys" + @usableFromInline static let `kind`: JSString = "kind" + @usableFromInline static let `label`: JSString = "label" + @usableFromInline static let `labels`: JSString = "labels" + @usableFromInline static let `lang`: JSString = "lang" + @usableFromInline static let `language`: JSString = "language" + @usableFromInline static let `languages`: JSString = "languages" + @usableFromInline static let `lastChild`: JSString = "lastChild" + @usableFromInline static let `lastElementChild`: JSString = "lastElementChild" + @usableFromInline static let `lastEventId`: JSString = "lastEventId" + @usableFromInline static let `lastModified`: JSString = "lastModified" + @usableFromInline static let `latency`: JSString = "latency" + @usableFromInline static let `latencyMode`: JSString = "latencyMode" + @usableFromInline static let `layout`: JSString = "layout" + @usableFromInline static let `left`: JSString = "left" + @usableFromInline static let `length`: JSString = "length" + @usableFromInline static let `lengthComputable`: JSString = "lengthComputable" + @usableFromInline static let `letterSpacing`: JSString = "letterSpacing" + @usableFromInline static let `lineCap`: JSString = "lineCap" + @usableFromInline static let `lineDashOffset`: JSString = "lineDashOffset" + @usableFromInline static let `lineJoin`: JSString = "lineJoin" + @usableFromInline static let `lineTo`: JSString = "lineTo" + @usableFromInline static let `lineWidth`: JSString = "lineWidth" + @usableFromInline static let `lineno`: JSString = "lineno" + @usableFromInline static let `link`: JSString = "link" + @usableFromInline static let `linkColor`: JSString = "linkColor" + @usableFromInline static let `links`: JSString = "links" + @usableFromInline static let `list`: JSString = "list" + @usableFromInline static let `load`: JSString = "load" + @usableFromInline static let `loaded`: JSString = "loaded" + @usableFromInline static let `loading`: JSString = "loading" + @usableFromInline static let `localName`: JSString = "localName" + @usableFromInline static let `localStorage`: JSString = "localStorage" + @usableFromInline static let `location`: JSString = "location" + @usableFromInline static let `locationbar`: JSString = "locationbar" + @usableFromInline static let `locked`: JSString = "locked" + @usableFromInline static let `longDesc`: JSString = "longDesc" + @usableFromInline static let `lookupNamespaceURI`: JSString = "lookupNamespaceURI" + @usableFromInline static let `lookupPrefix`: JSString = "lookupPrefix" + @usableFromInline static let `loop`: JSString = "loop" + @usableFromInline static let `low`: JSString = "low" + @usableFromInline static let `lowsrc`: JSString = "lowsrc" + @usableFromInline static let `m11`: JSString = "m11" + @usableFromInline static let `m12`: JSString = "m12" + @usableFromInline static let `m13`: JSString = "m13" + @usableFromInline static let `m14`: JSString = "m14" + @usableFromInline static let `m21`: JSString = "m21" + @usableFromInline static let `m22`: JSString = "m22" + @usableFromInline static let `m23`: JSString = "m23" + @usableFromInline static let `m24`: JSString = "m24" + @usableFromInline static let `m31`: JSString = "m31" + @usableFromInline static let `m32`: JSString = "m32" + @usableFromInline static let `m33`: JSString = "m33" + @usableFromInline static let `m34`: JSString = "m34" + @usableFromInline static let `m41`: JSString = "m41" + @usableFromInline static let `m42`: JSString = "m42" + @usableFromInline static let `m43`: JSString = "m43" + @usableFromInline static let `m44`: JSString = "m44" + @usableFromInline static let `marginHeight`: JSString = "marginHeight" + @usableFromInline static let `marginWidth`: JSString = "marginWidth" + @usableFromInline static let `match`: JSString = "match" + @usableFromInline static let `matchAll`: JSString = "matchAll" + @usableFromInline static let `matchMedia`: JSString = "matchMedia" + @usableFromInline static let `matches`: JSString = "matches" + @usableFromInline static let `matrix`: JSString = "matrix" + @usableFromInline static let `matrixTransform`: JSString = "matrixTransform" + @usableFromInline static let `max`: JSString = "max" + @usableFromInline static let `maxLength`: JSString = "maxLength" + @usableFromInline static let `measureText`: JSString = "measureText" + @usableFromInline static let `media`: JSString = "media" + @usableFromInline static let `mediaDevices`: JSString = "mediaDevices" + @usableFromInline static let `menubar`: JSString = "menubar" + @usableFromInline static let `message`: JSString = "message" + @usableFromInline static let `metaKey`: JSString = "metaKey" + @usableFromInline static let `metadata`: JSString = "metadata" + @usableFromInline static let `method`: JSString = "method" + @usableFromInline static let `mimeType`: JSString = "mimeType" + @usableFromInline static let `mimeTypes`: JSString = "mimeTypes" + @usableFromInline static let `min`: JSString = "min" + @usableFromInline static let `minLength`: JSString = "minLength" + @usableFromInline static let `miterLimit`: JSString = "miterLimit" + @usableFromInline static let `mode`: JSString = "mode" + @usableFromInline static let `modifierAltGraph`: JSString = "modifierAltGraph" + @usableFromInline static let `modifierCapsLock`: JSString = "modifierCapsLock" + @usableFromInline static let `modifierFn`: JSString = "modifierFn" + @usableFromInline static let `modifierFnLock`: JSString = "modifierFnLock" + @usableFromInline static let `modifierHyper`: JSString = "modifierHyper" + @usableFromInline static let `modifierNumLock`: JSString = "modifierNumLock" + @usableFromInline static let `modifierScrollLock`: JSString = "modifierScrollLock" + @usableFromInline static let `modifierSuper`: JSString = "modifierSuper" + @usableFromInline static let `modifierSymbol`: JSString = "modifierSymbol" + @usableFromInline static let `modifierSymbolLock`: JSString = "modifierSymbolLock" + @usableFromInline static let `moveBy`: JSString = "moveBy" + @usableFromInline static let `moveTo`: JSString = "moveTo" + @usableFromInline static let `multiple`: JSString = "multiple" + @usableFromInline static let `multiply`: JSString = "multiply" + @usableFromInline static let `multiplySelf`: JSString = "multiplySelf" + @usableFromInline static let `muted`: JSString = "muted" + @usableFromInline static let `name`: JSString = "name" + @usableFromInline static let `namedItem`: JSString = "namedItem" + @usableFromInline static let `namespaceURI`: JSString = "namespaceURI" + @usableFromInline static let `naturalHeight`: JSString = "naturalHeight" + @usableFromInline static let `naturalWidth`: JSString = "naturalWidth" + @usableFromInline static let `navigate`: JSString = "navigate" + @usableFromInline static let `navigation`: JSString = "navigation" + @usableFromInline static let `navigationPreload`: JSString = "navigationPreload" + @usableFromInline static let `navigationType`: JSString = "navigationType" + @usableFromInline static let `navigator`: JSString = "navigator" + @usableFromInline static let `networkState`: JSString = "networkState" + @usableFromInline static let `newState`: JSString = "newState" + @usableFromInline static let `newURL`: JSString = "newURL" + @usableFromInline static let `newValue`: JSString = "newValue" + @usableFromInline static let `nextElementSibling`: JSString = "nextElementSibling" + @usableFromInline static let `nextNode`: JSString = "nextNode" + @usableFromInline static let `nextSibling`: JSString = "nextSibling" + @usableFromInline static let `noHref`: JSString = "noHref" + @usableFromInline static let `noModule`: JSString = "noModule" + @usableFromInline static let `noResize`: JSString = "noResize" + @usableFromInline static let `noShade`: JSString = "noShade" + @usableFromInline static let `noValidate`: JSString = "noValidate" + @usableFromInline static let `noWrap`: JSString = "noWrap" + @usableFromInline static let `nodeName`: JSString = "nodeName" + @usableFromInline static let `nodeType`: JSString = "nodeType" + @usableFromInline static let `nodeValue`: JSString = "nodeValue" + @usableFromInline static let `noiseSuppression`: JSString = "noiseSuppression" + @usableFromInline static let `nonce`: JSString = "nonce" + @usableFromInline static let `normalize`: JSString = "normalize" + @usableFromInline static let `now`: JSString = "now" + @usableFromInline static let `numberOfChannels`: JSString = "numberOfChannels" + @usableFromInline static let `numberOfFrames`: JSString = "numberOfFrames" + @usableFromInline static let `numberValue`: JSString = "numberValue" + @usableFromInline static let `observe`: JSString = "observe" + @usableFromInline static let `offset`: JSString = "offset" + @usableFromInline static let `offsetHeight`: JSString = "offsetHeight" + @usableFromInline static let `offsetLeft`: JSString = "offsetLeft" + @usableFromInline static let `offsetNode`: JSString = "offsetNode" + @usableFromInline static let `offsetParent`: JSString = "offsetParent" + @usableFromInline static let `offsetTop`: JSString = "offsetTop" + @usableFromInline static let `offsetWidth`: JSString = "offsetWidth" + @usableFromInline static let `offsetX`: JSString = "offsetX" + @usableFromInline static let `offsetY`: JSString = "offsetY" + @usableFromInline static let `ok`: JSString = "ok" + @usableFromInline static let `oldState`: JSString = "oldState" + @usableFromInline static let `oldURL`: JSString = "oldURL" + @usableFromInline static let `oldValue`: JSString = "oldValue" + @usableFromInline static let `onLine`: JSString = "onLine" + @usableFromInline static let `onabort`: JSString = "onabort" + @usableFromInline static let `onaddsourcebuffer`: JSString = "onaddsourcebuffer" + @usableFromInline static let `onaddtrack`: JSString = "onaddtrack" + @usableFromInline static let `onafterprint`: JSString = "onafterprint" + @usableFromInline static let `onauxclick`: JSString = "onauxclick" + @usableFromInline static let `onbeforeinput`: JSString = "onbeforeinput" + @usableFromInline static let `onbeforematch`: JSString = "onbeforematch" + @usableFromInline static let `onbeforeprint`: JSString = "onbeforeprint" + @usableFromInline static let `onbeforetoggle`: JSString = "onbeforetoggle" + @usableFromInline static let `onbeforeunload`: JSString = "onbeforeunload" + @usableFromInline static let `onblur`: JSString = "onblur" + @usableFromInline static let `oncancel`: JSString = "oncancel" + @usableFromInline static let `oncanplay`: JSString = "oncanplay" + @usableFromInline static let `oncanplaythrough`: JSString = "oncanplaythrough" + @usableFromInline static let `once`: JSString = "once" + @usableFromInline static let `onchange`: JSString = "onchange" + @usableFromInline static let `onclick`: JSString = "onclick" + @usableFromInline static let `onclose`: JSString = "onclose" + @usableFromInline static let `oncontextlost`: JSString = "oncontextlost" + @usableFromInline static let `oncontextmenu`: JSString = "oncontextmenu" + @usableFromInline static let `oncontextrestored`: JSString = "oncontextrestored" + @usableFromInline static let `oncontrollerchange`: JSString = "oncontrollerchange" + @usableFromInline static let `oncopy`: JSString = "oncopy" + @usableFromInline static let `oncuechange`: JSString = "oncuechange" + @usableFromInline static let `oncurrententrychange`: JSString = "oncurrententrychange" + @usableFromInline static let `oncut`: JSString = "oncut" + @usableFromInline static let `ondataavailable`: JSString = "ondataavailable" + @usableFromInline static let `ondblclick`: JSString = "ondblclick" + @usableFromInline static let `ondequeue`: JSString = "ondequeue" + @usableFromInline static let `ondevicechange`: JSString = "ondevicechange" + @usableFromInline static let `ondispose`: JSString = "ondispose" + @usableFromInline static let `ondrag`: JSString = "ondrag" + @usableFromInline static let `ondragend`: JSString = "ondragend" + @usableFromInline static let `ondragenter`: JSString = "ondragenter" + @usableFromInline static let `ondragleave`: JSString = "ondragleave" + @usableFromInline static let `ondragover`: JSString = "ondragover" + @usableFromInline static let `ondragstart`: JSString = "ondragstart" + @usableFromInline static let `ondrop`: JSString = "ondrop" + @usableFromInline static let `ondurationchange`: JSString = "ondurationchange" + @usableFromInline static let `onemptied`: JSString = "onemptied" + @usableFromInline static let `onended`: JSString = "onended" + @usableFromInline static let `onenter`: JSString = "onenter" + @usableFromInline static let `onerror`: JSString = "onerror" + @usableFromInline static let `onexit`: JSString = "onexit" + @usableFromInline static let `onfocus`: JSString = "onfocus" + @usableFromInline static let `onformdata`: JSString = "onformdata" + @usableFromInline static let `onhashchange`: JSString = "onhashchange" + @usableFromInline static let `oninput`: JSString = "oninput" + @usableFromInline static let `oninvalid`: JSString = "oninvalid" + @usableFromInline static let `onkeydown`: JSString = "onkeydown" + @usableFromInline static let `onkeypress`: JSString = "onkeypress" + @usableFromInline static let `onkeyup`: JSString = "onkeyup" + @usableFromInline static let `onlanguagechange`: JSString = "onlanguagechange" + @usableFromInline static let `onload`: JSString = "onload" + @usableFromInline static let `onloadeddata`: JSString = "onloadeddata" + @usableFromInline static let `onloadedmetadata`: JSString = "onloadedmetadata" + @usableFromInline static let `onloadend`: JSString = "onloadend" + @usableFromInline static let `onloadstart`: JSString = "onloadstart" + @usableFromInline static let `onmessage`: JSString = "onmessage" + @usableFromInline static let `onmessageerror`: JSString = "onmessageerror" + @usableFromInline static let `onmousedown`: JSString = "onmousedown" + @usableFromInline static let `onmouseenter`: JSString = "onmouseenter" + @usableFromInline static let `onmouseleave`: JSString = "onmouseleave" + @usableFromInline static let `onmousemove`: JSString = "onmousemove" + @usableFromInline static let `onmouseout`: JSString = "onmouseout" + @usableFromInline static let `onmouseover`: JSString = "onmouseover" + @usableFromInline static let `onmouseup`: JSString = "onmouseup" + @usableFromInline static let `onmute`: JSString = "onmute" + @usableFromInline static let `onnavigate`: JSString = "onnavigate" + @usableFromInline static let `onnavigateerror`: JSString = "onnavigateerror" + @usableFromInline static let `onnavigatesuccess`: JSString = "onnavigatesuccess" + @usableFromInline static let `onoffline`: JSString = "onoffline" + @usableFromInline static let `ononline`: JSString = "ononline" + @usableFromInline static let `onopen`: JSString = "onopen" + @usableFromInline static let `onpagehide`: JSString = "onpagehide" + @usableFromInline static let `onpageshow`: JSString = "onpageshow" + @usableFromInline static let `onpaste`: JSString = "onpaste" + @usableFromInline static let `onpause`: JSString = "onpause" + @usableFromInline static let `onplay`: JSString = "onplay" + @usableFromInline static let `onplaying`: JSString = "onplaying" + @usableFromInline static let `onpopstate`: JSString = "onpopstate" + @usableFromInline static let `onprogress`: JSString = "onprogress" + @usableFromInline static let `onratechange`: JSString = "onratechange" + @usableFromInline static let `onreadystatechange`: JSString = "onreadystatechange" + @usableFromInline static let `onrejectionhandled`: JSString = "onrejectionhandled" + @usableFromInline static let `onremovesourcebuffer`: JSString = "onremovesourcebuffer" + @usableFromInline static let `onremovetrack`: JSString = "onremovetrack" + @usableFromInline static let `onreset`: JSString = "onreset" + @usableFromInline static let `onresize`: JSString = "onresize" + @usableFromInline static let `onresume`: JSString = "onresume" + @usableFromInline static let `onscroll`: JSString = "onscroll" + @usableFromInline static let `onscrollend`: JSString = "onscrollend" + @usableFromInline static let `onsecuritypolicyviolation`: JSString = "onsecuritypolicyviolation" + @usableFromInline static let `onseeked`: JSString = "onseeked" + @usableFromInline static let `onseeking`: JSString = "onseeking" + @usableFromInline static let `onselect`: JSString = "onselect" + @usableFromInline static let `onslotchange`: JSString = "onslotchange" + @usableFromInline static let `onsourceclose`: JSString = "onsourceclose" + @usableFromInline static let `onsourceended`: JSString = "onsourceended" + @usableFromInline static let `onsourceopen`: JSString = "onsourceopen" + @usableFromInline static let `onstalled`: JSString = "onstalled" + @usableFromInline static let `onstart`: JSString = "onstart" + @usableFromInline static let `onstatechange`: JSString = "onstatechange" + @usableFromInline static let `onstop`: JSString = "onstop" + @usableFromInline static let `onstorage`: JSString = "onstorage" + @usableFromInline static let `onsubmit`: JSString = "onsubmit" + @usableFromInline static let `onsuspend`: JSString = "onsuspend" + @usableFromInline static let `ontimeout`: JSString = "ontimeout" + @usableFromInline static let `ontimeupdate`: JSString = "ontimeupdate" + @usableFromInline static let `ontoggle`: JSString = "ontoggle" + @usableFromInline static let `ontouchcancel`: JSString = "ontouchcancel" + @usableFromInline static let `ontouchend`: JSString = "ontouchend" + @usableFromInline static let `ontouchmove`: JSString = "ontouchmove" + @usableFromInline static let `ontouchstart`: JSString = "ontouchstart" + @usableFromInline static let `onunhandledrejection`: JSString = "onunhandledrejection" + @usableFromInline static let `onunload`: JSString = "onunload" + @usableFromInline static let `onunmute`: JSString = "onunmute" + @usableFromInline static let `onupdate`: JSString = "onupdate" + @usableFromInline static let `onupdateend`: JSString = "onupdateend" + @usableFromInline static let `onupdatefound`: JSString = "onupdatefound" + @usableFromInline static let `onupdatestart`: JSString = "onupdatestart" + @usableFromInline static let `onvisibilitychange`: JSString = "onvisibilitychange" + @usableFromInline static let `onvolumechange`: JSString = "onvolumechange" + @usableFromInline static let `onwaiting`: JSString = "onwaiting" + @usableFromInline static let `onwebkitanimationend`: JSString = "onwebkitanimationend" + @usableFromInline static let `onwebkitanimationiteration`: JSString = "onwebkitanimationiteration" + @usableFromInline static let `onwebkitanimationstart`: JSString = "onwebkitanimationstart" + @usableFromInline static let `onwebkittransitionend`: JSString = "onwebkittransitionend" + @usableFromInline static let `onwheel`: JSString = "onwheel" + @usableFromInline static let `open`: JSString = "open" + @usableFromInline static let `opener`: JSString = "opener" + @usableFromInline static let `optimizeForLatency`: JSString = "optimizeForLatency" + @usableFromInline static let `optimum`: JSString = "optimum" + @usableFromInline static let `options`: JSString = "options" + @usableFromInline static let `origin`: JSString = "origin" + @usableFromInline static let `originAgentCluster`: JSString = "originAgentCluster" + @usableFromInline static let `oscpu`: JSString = "oscpu" + @usableFromInline static let `outerHeight`: JSString = "outerHeight" + @usableFromInline static let `outerText`: JSString = "outerText" + @usableFromInline static let `outerWidth`: JSString = "outerWidth" + @usableFromInline static let `output`: JSString = "output" + @usableFromInline static let `overrideMimeType`: JSString = "overrideMimeType" + @usableFromInline static let `ownerDocument`: JSString = "ownerDocument" + @usableFromInline static let `ownerElement`: JSString = "ownerElement" + @usableFromInline static let `p1`: JSString = "p1" + @usableFromInline static let `p2`: JSString = "p2" + @usableFromInline static let `p3`: JSString = "p3" + @usableFromInline static let `p4`: JSString = "p4" + @usableFromInline static let `pageLeft`: JSString = "pageLeft" + @usableFromInline static let `pageTop`: JSString = "pageTop" + @usableFromInline static let `pageX`: JSString = "pageX" + @usableFromInline static let `pageXOffset`: JSString = "pageXOffset" + @usableFromInline static let `pageY`: JSString = "pageY" + @usableFromInline static let `pageYOffset`: JSString = "pageYOffset" + @usableFromInline static let `panTiltZoom`: JSString = "panTiltZoom" + @usableFromInline static let `parent`: JSString = "parent" + @usableFromInline static let `parentElement`: JSString = "parentElement" + @usableFromInline static let `parentNode`: JSString = "parentNode" + @usableFromInline static let `parseFromString`: JSString = "parseFromString" + @usableFromInline static let `passive`: JSString = "passive" + @usableFromInline static let `password`: JSString = "password" + @usableFromInline static let `pathname`: JSString = "pathname" + @usableFromInline static let `pattern`: JSString = "pattern" + @usableFromInline static let `patternMismatch`: JSString = "patternMismatch" + @usableFromInline static let `pause`: JSString = "pause" + @usableFromInline static let `pauseOnExit`: JSString = "pauseOnExit" + @usableFromInline static let `paused`: JSString = "paused" + @usableFromInline static let `pdfViewerEnabled`: JSString = "pdfViewerEnabled" + @usableFromInline static let `performance`: JSString = "performance" + @usableFromInline static let `permissions`: JSString = "permissions" + @usableFromInline static let `persisted`: JSString = "persisted" + @usableFromInline static let `personalbar`: JSString = "personalbar" + @usableFromInline static let `ping`: JSString = "ping" + @usableFromInline static let `pipeThrough`: JSString = "pipeThrough" + @usableFromInline static let `pipeTo`: JSString = "pipeTo" + @usableFromInline static let `pixelDepth`: JSString = "pixelDepth" + @usableFromInline static let `placeholder`: JSString = "placeholder" + @usableFromInline static let `planeIndex`: JSString = "planeIndex" + @usableFromInline static let `platform`: JSString = "platform" + @usableFromInline static let `play`: JSString = "play" + @usableFromInline static let `playbackRate`: JSString = "playbackRate" + @usableFromInline static let `played`: JSString = "played" + @usableFromInline static let `playsInline`: JSString = "playsInline" + @usableFromInline static let `plugins`: JSString = "plugins" + @usableFromInline static let `pointerBeforeReferenceNode`: JSString = "pointerBeforeReferenceNode" + @usableFromInline static let `popover`: JSString = "popover" + @usableFromInline static let `popoverTargetAction`: JSString = "popoverTargetAction" + @usableFromInline static let `popoverTargetElement`: JSString = "popoverTargetElement" + @usableFromInline static let `port`: JSString = "port" + @usableFromInline static let `port1`: JSString = "port1" + @usableFromInline static let `port2`: JSString = "port2" + @usableFromInline static let `ports`: JSString = "ports" + @usableFromInline static let `position`: JSString = "position" + @usableFromInline static let `postMessage`: JSString = "postMessage" + @usableFromInline static let `poster`: JSString = "poster" + @usableFromInline static let `preMultiplySelf`: JSString = "preMultiplySelf" + @usableFromInline static let `preferAnimation`: JSString = "preferAnimation" + @usableFromInline static let `prefix`: JSString = "prefix" + @usableFromInline static let `preload`: JSString = "preload" + @usableFromInline static let `preloadResponse`: JSString = "preloadResponse" + @usableFromInline static let `premultiplyAlpha`: JSString = "premultiplyAlpha" + @usableFromInline static let `prepend`: JSString = "prepend" + @usableFromInline static let `preservesPitch`: JSString = "preservesPitch" + @usableFromInline static let `prevValue`: JSString = "prevValue" + @usableFromInline static let `preventAbort`: JSString = "preventAbort" + @usableFromInline static let `preventCancel`: JSString = "preventCancel" + @usableFromInline static let `preventClose`: JSString = "preventClose" + @usableFromInline static let `preventDefault`: JSString = "preventDefault" + @usableFromInline static let `preventScroll`: JSString = "preventScroll" + @usableFromInline static let `previousElementSibling`: JSString = "previousElementSibling" + @usableFromInline static let `previousNode`: JSString = "previousNode" + @usableFromInline static let `previousSibling`: JSString = "previousSibling" + @usableFromInline static let `primaries`: JSString = "primaries" + @usableFromInline static let `print`: JSString = "print" + @usableFromInline static let `priority`: JSString = "priority" + @usableFromInline static let `product`: JSString = "product" + @usableFromInline static let `productSub`: JSString = "productSub" + @usableFromInline static let `promise`: JSString = "promise" + @usableFromInline static let `prompt`: JSString = "prompt" @usableFromInline static let `protocol`: JSString = "protocol" - @usableFromInline static let pseudo: JSString = "pseudo" - @usableFromInline static let publicId: JSString = "publicId" - @usableFromInline static let pull: JSString = "pull" - @usableFromInline static let pushState: JSString = "pushState" - @usableFromInline static let put: JSString = "put" - @usableFromInline static let putImageData: JSString = "putImageData" - @usableFromInline static let quadraticCurveTo: JSString = "quadraticCurveTo" - @usableFromInline static let quality: JSString = "quality" - @usableFromInline static let query: JSString = "query" - @usableFromInline static let queryCommandEnabled: JSString = "queryCommandEnabled" - @usableFromInline static let queryCommandIndeterm: JSString = "queryCommandIndeterm" - @usableFromInline static let queryCommandState: JSString = "queryCommandState" - @usableFromInline static let queryCommandSupported: JSString = "queryCommandSupported" - @usableFromInline static let queryCommandValue: JSString = "queryCommandValue" - @usableFromInline static let querySelector: JSString = "querySelector" - @usableFromInline static let querySelectorAll: JSString = "querySelectorAll" - @usableFromInline static let queueMicrotask: JSString = "queueMicrotask" - @usableFromInline static let radiusX: JSString = "radiusX" - @usableFromInline static let radiusY: JSString = "radiusY" - @usableFromInline static let rangeOverflow: JSString = "rangeOverflow" - @usableFromInline static let rangeUnderflow: JSString = "rangeUnderflow" - @usableFromInline static let read: JSString = "read" - @usableFromInline static let readAsArrayBuffer: JSString = "readAsArrayBuffer" - @usableFromInline static let readAsBinaryString: JSString = "readAsBinaryString" - @usableFromInline static let readAsDataURL: JSString = "readAsDataURL" - @usableFromInline static let readAsText: JSString = "readAsText" - @usableFromInline static let readOnly: JSString = "readOnly" - @usableFromInline static let readable: JSString = "readable" - @usableFromInline static let readableType: JSString = "readableType" - @usableFromInline static let ready: JSString = "ready" - @usableFromInline static let readyState: JSString = "readyState" - @usableFromInline static let reason: JSString = "reason" - @usableFromInline static let rect: JSString = "rect" - @usableFromInline static let redirect: JSString = "redirect" - @usableFromInline static let redirected: JSString = "redirected" - @usableFromInline static let referenceNode: JSString = "referenceNode" - @usableFromInline static let referrer: JSString = "referrer" - @usableFromInline static let referrerPolicy: JSString = "referrerPolicy" - @usableFromInline static let refresh: JSString = "refresh" - @usableFromInline static let register: JSString = "register" - @usableFromInline static let registerProtocolHandler: JSString = "registerProtocolHandler" - @usableFromInline static let rel: JSString = "rel" - @usableFromInline static let relList: JSString = "relList" - @usableFromInline static let relatedNode: JSString = "relatedNode" - @usableFromInline static let relatedTarget: JSString = "relatedTarget" - @usableFromInline static let relativeTo: JSString = "relativeTo" - @usableFromInline static let releaseEvents: JSString = "releaseEvents" - @usableFromInline static let releaseLock: JSString = "releaseLock" - @usableFromInline static let reload: JSString = "reload" - @usableFromInline static let remove: JSString = "remove" - @usableFromInline static let removeAttribute: JSString = "removeAttribute" - @usableFromInline static let removeAttributeNS: JSString = "removeAttributeNS" - @usableFromInline static let removeAttributeNode: JSString = "removeAttributeNode" - @usableFromInline static let removeChild: JSString = "removeChild" - @usableFromInline static let removeCue: JSString = "removeCue" - @usableFromInline static let removeEventListener: JSString = "removeEventListener" - @usableFromInline static let removeListener: JSString = "removeListener" - @usableFromInline static let removeNamedItem: JSString = "removeNamedItem" - @usableFromInline static let removeNamedItemNS: JSString = "removeNamedItemNS" - @usableFromInline static let removeParameter: JSString = "removeParameter" - @usableFromInline static let removeSourceBuffer: JSString = "removeSourceBuffer" - @usableFromInline static let removeTrack: JSString = "removeTrack" - @usableFromInline static let removedNodes: JSString = "removedNodes" + @usableFromInline static let `pseudo`: JSString = "pseudo" + @usableFromInline static let `publicId`: JSString = "publicId" + @usableFromInline static let `pull`: JSString = "pull" + @usableFromInline static let `pushState`: JSString = "pushState" + @usableFromInline static let `put`: JSString = "put" + @usableFromInline static let `putImageData`: JSString = "putImageData" + @usableFromInline static let `quadraticCurveTo`: JSString = "quadraticCurveTo" + @usableFromInline static let `quality`: JSString = "quality" + @usableFromInline static let `query`: JSString = "query" + @usableFromInline static let `queryCommandEnabled`: JSString = "queryCommandEnabled" + @usableFromInline static let `queryCommandIndeterm`: JSString = "queryCommandIndeterm" + @usableFromInline static let `queryCommandState`: JSString = "queryCommandState" + @usableFromInline static let `queryCommandSupported`: JSString = "queryCommandSupported" + @usableFromInline static let `queryCommandValue`: JSString = "queryCommandValue" + @usableFromInline static let `querySelector`: JSString = "querySelector" + @usableFromInline static let `querySelectorAll`: JSString = "querySelectorAll" + @usableFromInline static let `queueMicrotask`: JSString = "queueMicrotask" + @usableFromInline static let `radiusX`: JSString = "radiusX" + @usableFromInline static let `radiusY`: JSString = "radiusY" + @usableFromInline static let `rangeOverflow`: JSString = "rangeOverflow" + @usableFromInline static let `rangeUnderflow`: JSString = "rangeUnderflow" + @usableFromInline static let `read`: JSString = "read" + @usableFromInline static let `readAsArrayBuffer`: JSString = "readAsArrayBuffer" + @usableFromInline static let `readAsBinaryString`: JSString = "readAsBinaryString" + @usableFromInline static let `readAsDataURL`: JSString = "readAsDataURL" + @usableFromInline static let `readAsText`: JSString = "readAsText" + @usableFromInline static let `readOnly`: JSString = "readOnly" + @usableFromInline static let `readable`: JSString = "readable" + @usableFromInline static let `readableType`: JSString = "readableType" + @usableFromInline static let `ready`: JSString = "ready" + @usableFromInline static let `readyState`: JSString = "readyState" + @usableFromInline static let `reason`: JSString = "reason" + @usableFromInline static let `rect`: JSString = "rect" + @usableFromInline static let `redirect`: JSString = "redirect" + @usableFromInline static let `redirected`: JSString = "redirected" + @usableFromInline static let `referenceNode`: JSString = "referenceNode" + @usableFromInline static let `referrer`: JSString = "referrer" + @usableFromInline static let `referrerPolicy`: JSString = "referrerPolicy" + @usableFromInline static let `refresh`: JSString = "refresh" + @usableFromInline static let `register`: JSString = "register" + @usableFromInline static let `registerProtocolHandler`: JSString = "registerProtocolHandler" + @usableFromInline static let `rel`: JSString = "rel" + @usableFromInline static let `relList`: JSString = "relList" + @usableFromInline static let `relatedNode`: JSString = "relatedNode" + @usableFromInline static let `relatedTarget`: JSString = "relatedTarget" + @usableFromInline static let `relativeTo`: JSString = "relativeTo" + @usableFromInline static let `releaseEvents`: JSString = "releaseEvents" + @usableFromInline static let `releaseLock`: JSString = "releaseLock" + @usableFromInline static let `reload`: JSString = "reload" + @usableFromInline static let `remove`: JSString = "remove" + @usableFromInline static let `removeAttribute`: JSString = "removeAttribute" + @usableFromInline static let `removeAttributeNS`: JSString = "removeAttributeNS" + @usableFromInline static let `removeAttributeNode`: JSString = "removeAttributeNode" + @usableFromInline static let `removeChild`: JSString = "removeChild" + @usableFromInline static let `removeCue`: JSString = "removeCue" + @usableFromInline static let `removeEventListener`: JSString = "removeEventListener" + @usableFromInline static let `removeListener`: JSString = "removeListener" + @usableFromInline static let `removeNamedItem`: JSString = "removeNamedItem" + @usableFromInline static let `removeNamedItemNS`: JSString = "removeNamedItemNS" + @usableFromInline static let `removeParameter`: JSString = "removeParameter" + @usableFromInline static let `removeSourceBuffer`: JSString = "removeSourceBuffer" + @usableFromInline static let `removeTrack`: JSString = "removeTrack" + @usableFromInline static let `removedNodes`: JSString = "removedNodes" @usableFromInline static let `repeat`: JSString = "repeat" - @usableFromInline static let repetitionCount: JSString = "repetitionCount" - @usableFromInline static let replace: JSString = "replace" - @usableFromInline static let replaceChild: JSString = "replaceChild" - @usableFromInline static let replaceChildren: JSString = "replaceChildren" - @usableFromInline static let replaceData: JSString = "replaceData" - @usableFromInline static let replaceState: JSString = "replaceState" - @usableFromInline static let replaceWith: JSString = "replaceWith" - @usableFromInline static let replacesClientId: JSString = "replacesClientId" - @usableFromInline static let reportError: JSString = "reportError" - @usableFromInline static let reportValidity: JSString = "reportValidity" - @usableFromInline static let request: JSString = "request" - @usableFromInline static let requestAnimationFrame: JSString = "requestAnimationFrame" - @usableFromInline static let requestData: JSString = "requestData" - @usableFromInline static let requestSubmit: JSString = "requestSubmit" - @usableFromInline static let required: JSString = "required" - @usableFromInline static let reset: JSString = "reset" - @usableFromInline static let resetTransform: JSString = "resetTransform" - @usableFromInline static let resizeBy: JSString = "resizeBy" - @usableFromInline static let resizeHeight: JSString = "resizeHeight" - @usableFromInline static let resizeMode: JSString = "resizeMode" - @usableFromInline static let resizeQuality: JSString = "resizeQuality" - @usableFromInline static let resizeTo: JSString = "resizeTo" - @usableFromInline static let resizeWidth: JSString = "resizeWidth" - @usableFromInline static let respond: JSString = "respond" - @usableFromInline static let respondWithNewView: JSString = "respondWithNewView" - @usableFromInline static let response: JSString = "response" - @usableFromInline static let responseText: JSString = "responseText" - @usableFromInline static let responseType: JSString = "responseType" - @usableFromInline static let responseURL: JSString = "responseURL" - @usableFromInline static let responseXML: JSString = "responseXML" - @usableFromInline static let restore: JSString = "restore" - @usableFromInline static let result: JSString = "result" - @usableFromInline static let resultType: JSString = "resultType" - @usableFromInline static let resultingClientId: JSString = "resultingClientId" - @usableFromInline static let resume: JSString = "resume" - @usableFromInline static let returnValue: JSString = "returnValue" - @usableFromInline static let rev: JSString = "rev" - @usableFromInline static let reversed: JSString = "reversed" - @usableFromInline static let revokeObjectURL: JSString = "revokeObjectURL" - @usableFromInline static let right: JSString = "right" - @usableFromInline static let role: JSString = "role" - @usableFromInline static let root: JSString = "root" - @usableFromInline static let rotate: JSString = "rotate" - @usableFromInline static let rotateAxisAngle: JSString = "rotateAxisAngle" - @usableFromInline static let rotateAxisAngleSelf: JSString = "rotateAxisAngleSelf" - @usableFromInline static let rotateFromVector: JSString = "rotateFromVector" - @usableFromInline static let rotateFromVectorSelf: JSString = "rotateFromVectorSelf" - @usableFromInline static let rotateSelf: JSString = "rotateSelf" - @usableFromInline static let rotationAngle: JSString = "rotationAngle" - @usableFromInline static let roundRect: JSString = "roundRect" - @usableFromInline static let rowIndex: JSString = "rowIndex" - @usableFromInline static let rowSpan: JSString = "rowSpan" - @usableFromInline static let rows: JSString = "rows" - @usableFromInline static let rules: JSString = "rules" - @usableFromInline static let sameDocument: JSString = "sameDocument" - @usableFromInline static let sampleRate: JSString = "sampleRate" - @usableFromInline static let sampleSize: JSString = "sampleSize" - @usableFromInline static let sandbox: JSString = "sandbox" - @usableFromInline static let save: JSString = "save" - @usableFromInline static let scalabilityMode: JSString = "scalabilityMode" - @usableFromInline static let scale: JSString = "scale" - @usableFromInline static let scale3d: JSString = "scale3d" - @usableFromInline static let scale3dSelf: JSString = "scale3dSelf" - @usableFromInline static let scaleNonUniform: JSString = "scaleNonUniform" - @usableFromInline static let scaleSelf: JSString = "scaleSelf" - @usableFromInline static let scheme: JSString = "scheme" - @usableFromInline static let scope: JSString = "scope" - @usableFromInline static let screen: JSString = "screen" - @usableFromInline static let screenLeft: JSString = "screenLeft" - @usableFromInline static let screenTop: JSString = "screenTop" - @usableFromInline static let screenX: JSString = "screenX" - @usableFromInline static let screenY: JSString = "screenY" - @usableFromInline static let scriptURL: JSString = "scriptURL" - @usableFromInline static let scripts: JSString = "scripts" - @usableFromInline static let scroll: JSString = "scroll" - @usableFromInline static let scrollAmount: JSString = "scrollAmount" - @usableFromInline static let scrollBy: JSString = "scrollBy" - @usableFromInline static let scrollDelay: JSString = "scrollDelay" - @usableFromInline static let scrollHeight: JSString = "scrollHeight" - @usableFromInline static let scrollIntoView: JSString = "scrollIntoView" - @usableFromInline static let scrollLeft: JSString = "scrollLeft" - @usableFromInline static let scrollPathIntoView: JSString = "scrollPathIntoView" - @usableFromInline static let scrollRestoration: JSString = "scrollRestoration" - @usableFromInline static let scrollTo: JSString = "scrollTo" - @usableFromInline static let scrollTop: JSString = "scrollTop" - @usableFromInline static let scrollWidth: JSString = "scrollWidth" - @usableFromInline static let scrollX: JSString = "scrollX" - @usableFromInline static let scrollY: JSString = "scrollY" - @usableFromInline static let scrollbars: JSString = "scrollbars" - @usableFromInline static let scrolling: JSString = "scrolling" - @usableFromInline static let scrollingElement: JSString = "scrollingElement" - @usableFromInline static let search: JSString = "search" - @usableFromInline static let sectionRowIndex: JSString = "sectionRowIndex" - @usableFromInline static let seekable: JSString = "seekable" - @usableFromInline static let seeking: JSString = "seeking" - @usableFromInline static let select: JSString = "select" - @usableFromInline static let selectNode: JSString = "selectNode" - @usableFromInline static let selectNodeContents: JSString = "selectNodeContents" - @usableFromInline static let selected: JSString = "selected" - @usableFromInline static let selectedIndex: JSString = "selectedIndex" - @usableFromInline static let selectedOptions: JSString = "selectedOptions" - @usableFromInline static let selectedTrack: JSString = "selectedTrack" - @usableFromInline static let selectionDirection: JSString = "selectionDirection" - @usableFromInline static let selectionEnd: JSString = "selectionEnd" - @usableFromInline static let selectionStart: JSString = "selectionStart" - @usableFromInline static let send: JSString = "send" - @usableFromInline static let serviceWorker: JSString = "serviceWorker" - @usableFromInline static let sessionStorage: JSString = "sessionStorage" - @usableFromInline static let set: JSString = "set" - @usableFromInline static let setAttribute: JSString = "setAttribute" - @usableFromInline static let setAttributeNS: JSString = "setAttributeNS" - @usableFromInline static let setAttributeNode: JSString = "setAttributeNode" - @usableFromInline static let setAttributeNodeNS: JSString = "setAttributeNodeNS" - @usableFromInline static let setCustomValidity: JSString = "setCustomValidity" - @usableFromInline static let setData: JSString = "setData" - @usableFromInline static let setDragImage: JSString = "setDragImage" - @usableFromInline static let setEnd: JSString = "setEnd" - @usableFromInline static let setEndAfter: JSString = "setEndAfter" - @usableFromInline static let setEndBefore: JSString = "setEndBefore" - @usableFromInline static let setFormValue: JSString = "setFormValue" - @usableFromInline static let setHeaderValue: JSString = "setHeaderValue" - @usableFromInline static let setInterval: JSString = "setInterval" - @usableFromInline static let setLineDash: JSString = "setLineDash" - @usableFromInline static let setLiveSeekableRange: JSString = "setLiveSeekableRange" - @usableFromInline static let setMatrixValue: JSString = "setMatrixValue" - @usableFromInline static let setNamedItem: JSString = "setNamedItem" - @usableFromInline static let setNamedItemNS: JSString = "setNamedItemNS" - @usableFromInline static let setParameter: JSString = "setParameter" - @usableFromInline static let setRangeText: JSString = "setRangeText" - @usableFromInline static let setRequestHeader: JSString = "setRequestHeader" - @usableFromInline static let setSelectionRange: JSString = "setSelectionRange" - @usableFromInline static let setStart: JSString = "setStart" - @usableFromInline static let setStartAfter: JSString = "setStartAfter" - @usableFromInline static let setStartBefore: JSString = "setStartBefore" - @usableFromInline static let setTimeout: JSString = "setTimeout" - @usableFromInline static let setTransform: JSString = "setTransform" - @usableFromInline static let setValidity: JSString = "setValidity" - @usableFromInline static let shadowBlur: JSString = "shadowBlur" - @usableFromInline static let shadowColor: JSString = "shadowColor" - @usableFromInline static let shadowOffsetX: JSString = "shadowOffsetX" - @usableFromInline static let shadowOffsetY: JSString = "shadowOffsetY" - @usableFromInline static let shadowRoot: JSString = "shadowRoot" - @usableFromInline static let shape: JSString = "shape" - @usableFromInline static let shiftKey: JSString = "shiftKey" - @usableFromInline static let show: JSString = "show" - @usableFromInline static let showModal: JSString = "showModal" - @usableFromInline static let showPicker: JSString = "showPicker" - @usableFromInline static let showPopover: JSString = "showPopover" - @usableFromInline static let signal: JSString = "signal" - @usableFromInline static let singleNodeValue: JSString = "singleNodeValue" - @usableFromInline static let size: JSString = "size" - @usableFromInline static let sizes: JSString = "sizes" - @usableFromInline static let skewX: JSString = "skewX" - @usableFromInline static let skewXSelf: JSString = "skewXSelf" - @usableFromInline static let skewY: JSString = "skewY" - @usableFromInline static let skewYSelf: JSString = "skewYSelf" - @usableFromInline static let slice: JSString = "slice" - @usableFromInline static let slot: JSString = "slot" - @usableFromInline static let slotAssignment: JSString = "slotAssignment" - @usableFromInline static let snapshotItem: JSString = "snapshotItem" - @usableFromInline static let snapshotLength: JSString = "snapshotLength" - @usableFromInline static let source: JSString = "source" - @usableFromInline static let sourceBuffer: JSString = "sourceBuffer" - @usableFromInline static let sourceBuffers: JSString = "sourceBuffers" - @usableFromInline static let span: JSString = "span" - @usableFromInline static let specified: JSString = "specified" - @usableFromInline static let spellcheck: JSString = "spellcheck" - @usableFromInline static let splitText: JSString = "splitText" - @usableFromInline static let src: JSString = "src" - @usableFromInline static let srcElement: JSString = "srcElement" - @usableFromInline static let srcObject: JSString = "srcObject" - @usableFromInline static let srcdoc: JSString = "srcdoc" - @usableFromInline static let srclang: JSString = "srclang" - @usableFromInline static let srcset: JSString = "srcset" - @usableFromInline static let standby: JSString = "standby" - @usableFromInline static let start: JSString = "start" - @usableFromInline static let startContainer: JSString = "startContainer" - @usableFromInline static let startMessages: JSString = "startMessages" - @usableFromInline static let startOffset: JSString = "startOffset" - @usableFromInline static let startTime: JSString = "startTime" - @usableFromInline static let state: JSString = "state" - @usableFromInline static let status: JSString = "status" - @usableFromInline static let statusText: JSString = "statusText" - @usableFromInline static let statusbar: JSString = "statusbar" - @usableFromInline static let step: JSString = "step" - @usableFromInline static let stepDown: JSString = "stepDown" - @usableFromInline static let stepMismatch: JSString = "stepMismatch" - @usableFromInline static let stepUp: JSString = "stepUp" - @usableFromInline static let stop: JSString = "stop" - @usableFromInline static let stopImmediatePropagation: JSString = "stopImmediatePropagation" - @usableFromInline static let stopPropagation: JSString = "stopPropagation" - @usableFromInline static let storageArea: JSString = "storageArea" - @usableFromInline static let stream: JSString = "stream" - @usableFromInline static let stride: JSString = "stride" - @usableFromInline static let stringValue: JSString = "stringValue" - @usableFromInline static let stroke: JSString = "stroke" - @usableFromInline static let strokeRect: JSString = "strokeRect" - @usableFromInline static let strokeStyle: JSString = "strokeStyle" - @usableFromInline static let strokeText: JSString = "strokeText" - @usableFromInline static let structuredClone: JSString = "structuredClone" - @usableFromInline static let submit: JSString = "submit" - @usableFromInline static let submitter: JSString = "submitter" - @usableFromInline static let substringData: JSString = "substringData" - @usableFromInline static let subtree: JSString = "subtree" - @usableFromInline static let suffixes: JSString = "suffixes" - @usableFromInline static let summary: JSString = "summary" - @usableFromInline static let supported: JSString = "supported" - @usableFromInline static let supportedEntryTypes: JSString = "supportedEntryTypes" - @usableFromInline static let supports: JSString = "supports" - @usableFromInline static let surroundContents: JSString = "surroundContents" - @usableFromInline static let svc: JSString = "svc" - @usableFromInline static let systemId: JSString = "systemId" - @usableFromInline static let tBodies: JSString = "tBodies" - @usableFromInline static let tFoot: JSString = "tFoot" - @usableFromInline static let tHead: JSString = "tHead" - @usableFromInline static let tabIndex: JSString = "tabIndex" - @usableFromInline static let tagName: JSString = "tagName" - @usableFromInline static let taintEnabled: JSString = "taintEnabled" - @usableFromInline static let takeRecords: JSString = "takeRecords" - @usableFromInline static let target: JSString = "target" - @usableFromInline static let targetOrigin: JSString = "targetOrigin" - @usableFromInline static let targetTouches: JSString = "targetTouches" - @usableFromInline static let tee: JSString = "tee" - @usableFromInline static let temporalLayerId: JSString = "temporalLayerId" - @usableFromInline static let terminate: JSString = "terminate" - @usableFromInline static let text: JSString = "text" - @usableFromInline static let textAlign: JSString = "textAlign" - @usableFromInline static let textBaseline: JSString = "textBaseline" - @usableFromInline static let textContent: JSString = "textContent" - @usableFromInline static let textLength: JSString = "textLength" - @usableFromInline static let textRendering: JSString = "textRendering" - @usableFromInline static let textTracks: JSString = "textTracks" - @usableFromInline static let throwIfAborted: JSString = "throwIfAborted" - @usableFromInline static let timeOrigin: JSString = "timeOrigin" - @usableFromInline static let timeStamp: JSString = "timeStamp" - @usableFromInline static let timecode: JSString = "timecode" - @usableFromInline static let timeout: JSString = "timeout" - @usableFromInline static let timestamp: JSString = "timestamp" - @usableFromInline static let timestampOffset: JSString = "timestampOffset" - @usableFromInline static let title: JSString = "title" - @usableFromInline static let toBlob: JSString = "toBlob" - @usableFromInline static let toBox: JSString = "toBox" - @usableFromInline static let toDataURL: JSString = "toDataURL" - @usableFromInline static let toFloat32Array: JSString = "toFloat32Array" - @usableFromInline static let toFloat64Array: JSString = "toFloat64Array" - @usableFromInline static let toJSON: JSString = "toJSON" - @usableFromInline static let toString: JSString = "toString" - @usableFromInline static let toggle: JSString = "toggle" - @usableFromInline static let toggleAttribute: JSString = "toggleAttribute" - @usableFromInline static let togglePopover: JSString = "togglePopover" - @usableFromInline static let tooLong: JSString = "tooLong" - @usableFromInline static let tooShort: JSString = "tooShort" - @usableFromInline static let toolbar: JSString = "toolbar" - @usableFromInline static let top: JSString = "top" - @usableFromInline static let total: JSString = "total" - @usableFromInline static let touchType: JSString = "touchType" - @usableFromInline static let touches: JSString = "touches" - @usableFromInline static let track: JSString = "track" - @usableFromInline static let tracks: JSString = "tracks" - @usableFromInline static let transfer: JSString = "transfer" - @usableFromInline static let transferControlToOffscreen: JSString = "transferControlToOffscreen" - @usableFromInline static let transferFromImageBitmap: JSString = "transferFromImageBitmap" - @usableFromInline static let transferToImageBitmap: JSString = "transferToImageBitmap" - @usableFromInline static let transform: JSString = "transform" - @usableFromInline static let transformPoint: JSString = "transformPoint" - @usableFromInline static let transformToDocument: JSString = "transformToDocument" - @usableFromInline static let transformToFragment: JSString = "transformToFragment" - @usableFromInline static let transition: JSString = "transition" - @usableFromInline static let translate: JSString = "translate" - @usableFromInline static let translateSelf: JSString = "translateSelf" - @usableFromInline static let traverseTo: JSString = "traverseTo" - @usableFromInline static let trueSpeed: JSString = "trueSpeed" - @usableFromInline static let type: JSString = "type" - @usableFromInline static let typeMismatch: JSString = "typeMismatch" - @usableFromInline static let types: JSString = "types" - @usableFromInline static let unregister: JSString = "unregister" - @usableFromInline static let unregisterProtocolHandler: JSString = "unregisterProtocolHandler" - @usableFromInline static let update: JSString = "update" - @usableFromInline static let updateCurrentEntry: JSString = "updateCurrentEntry" - @usableFromInline static let updateViaCache: JSString = "updateViaCache" - @usableFromInline static let updating: JSString = "updating" - @usableFromInline static let upgrade: JSString = "upgrade" - @usableFromInline static let upload: JSString = "upload" - @usableFromInline static let url: JSString = "url" - @usableFromInline static let useMap: JSString = "useMap" - @usableFromInline static let userActivation: JSString = "userActivation" - @usableFromInline static let userAgent: JSString = "userAgent" - @usableFromInline static let userInitiated: JSString = "userInitiated" - @usableFromInline static let username: JSString = "username" - @usableFromInline static let vAlign: JSString = "vAlign" - @usableFromInline static let vLink: JSString = "vLink" - @usableFromInline static let valid: JSString = "valid" - @usableFromInline static let validationMessage: JSString = "validationMessage" - @usableFromInline static let validity: JSString = "validity" - @usableFromInline static let value: JSString = "value" - @usableFromInline static let valueAsDate: JSString = "valueAsDate" - @usableFromInline static let valueAsNumber: JSString = "valueAsNumber" - @usableFromInline static let valueMissing: JSString = "valueMissing" - @usableFromInline static let valueType: JSString = "valueType" - @usableFromInline static let vendor: JSString = "vendor" - @usableFromInline static let vendorSub: JSString = "vendorSub" - @usableFromInline static let version: JSString = "version" - @usableFromInline static let video: JSString = "video" - @usableFromInline static let videoBitsPerSecond: JSString = "videoBitsPerSecond" - @usableFromInline static let videoHeight: JSString = "videoHeight" - @usableFromInline static let videoKeyFrameIntervalCount: JSString = "videoKeyFrameIntervalCount" - @usableFromInline static let videoKeyFrameIntervalDuration: JSString = "videoKeyFrameIntervalDuration" - @usableFromInline static let videoTracks: JSString = "videoTracks" - @usableFromInline static let videoWidth: JSString = "videoWidth" - @usableFromInline static let view: JSString = "view" - @usableFromInline static let visibilityState: JSString = "visibilityState" - @usableFromInline static let visible: JSString = "visible" - @usableFromInline static let visibleRect: JSString = "visibleRect" - @usableFromInline static let visualViewport: JSString = "visualViewport" - @usableFromInline static let vlinkColor: JSString = "vlinkColor" - @usableFromInline static let volume: JSString = "volume" - @usableFromInline static let vspace: JSString = "vspace" - @usableFromInline static let w: JSString = "w" - @usableFromInline static let waiting: JSString = "waiting" - @usableFromInline static let webkitMatchesSelector: JSString = "webkitMatchesSelector" - @usableFromInline static let whatToShow: JSString = "whatToShow" - @usableFromInline static let whenDefined: JSString = "whenDefined" - @usableFromInline static let which: JSString = "which" - @usableFromInline static let wholeText: JSString = "wholeText" - @usableFromInline static let width: JSString = "width" - @usableFromInline static let willReadFrequently: JSString = "willReadFrequently" - @usableFromInline static let willValidate: JSString = "willValidate" - @usableFromInline static let window: JSString = "window" - @usableFromInline static let withCredentials: JSString = "withCredentials" - @usableFromInline static let wordSpacing: JSString = "wordSpacing" - @usableFromInline static let wrap: JSString = "wrap" - @usableFromInline static let writable: JSString = "writable" - @usableFromInline static let writableType: JSString = "writableType" - @usableFromInline static let write: JSString = "write" - @usableFromInline static let writeln: JSString = "writeln" - @usableFromInline static let x: JSString = "x" - @usableFromInline static let y: JSString = "y" - @usableFromInline static let z: JSString = "z" + @usableFromInline static let `repetitionCount`: JSString = "repetitionCount" + @usableFromInline static let `replace`: JSString = "replace" + @usableFromInline static let `replaceChild`: JSString = "replaceChild" + @usableFromInline static let `replaceChildren`: JSString = "replaceChildren" + @usableFromInline static let `replaceData`: JSString = "replaceData" + @usableFromInline static let `replaceState`: JSString = "replaceState" + @usableFromInline static let `replaceWith`: JSString = "replaceWith" + @usableFromInline static let `replacesClientId`: JSString = "replacesClientId" + @usableFromInline static let `reportError`: JSString = "reportError" + @usableFromInline static let `reportValidity`: JSString = "reportValidity" + @usableFromInline static let `request`: JSString = "request" + @usableFromInline static let `requestAnimationFrame`: JSString = "requestAnimationFrame" + @usableFromInline static let `requestData`: JSString = "requestData" + @usableFromInline static let `requestSubmit`: JSString = "requestSubmit" + @usableFromInline static let `required`: JSString = "required" + @usableFromInline static let `reset`: JSString = "reset" + @usableFromInline static let `resetTransform`: JSString = "resetTransform" + @usableFromInline static let `resizeBy`: JSString = "resizeBy" + @usableFromInline static let `resizeHeight`: JSString = "resizeHeight" + @usableFromInline static let `resizeMode`: JSString = "resizeMode" + @usableFromInline static let `resizeQuality`: JSString = "resizeQuality" + @usableFromInline static let `resizeTo`: JSString = "resizeTo" + @usableFromInline static let `resizeWidth`: JSString = "resizeWidth" + @usableFromInline static let `respond`: JSString = "respond" + @usableFromInline static let `respondWithNewView`: JSString = "respondWithNewView" + @usableFromInline static let `response`: JSString = "response" + @usableFromInline static let `responseText`: JSString = "responseText" + @usableFromInline static let `responseType`: JSString = "responseType" + @usableFromInline static let `responseURL`: JSString = "responseURL" + @usableFromInline static let `responseXML`: JSString = "responseXML" + @usableFromInline static let `restore`: JSString = "restore" + @usableFromInline static let `result`: JSString = "result" + @usableFromInline static let `resultType`: JSString = "resultType" + @usableFromInline static let `resultingClientId`: JSString = "resultingClientId" + @usableFromInline static let `resume`: JSString = "resume" + @usableFromInline static let `returnValue`: JSString = "returnValue" + @usableFromInline static let `rev`: JSString = "rev" + @usableFromInline static let `reversed`: JSString = "reversed" + @usableFromInline static let `revokeObjectURL`: JSString = "revokeObjectURL" + @usableFromInline static let `right`: JSString = "right" + @usableFromInline static let `role`: JSString = "role" + @usableFromInline static let `root`: JSString = "root" + @usableFromInline static let `rotate`: JSString = "rotate" + @usableFromInline static let `rotateAxisAngle`: JSString = "rotateAxisAngle" + @usableFromInline static let `rotateAxisAngleSelf`: JSString = "rotateAxisAngleSelf" + @usableFromInline static let `rotateFromVector`: JSString = "rotateFromVector" + @usableFromInline static let `rotateFromVectorSelf`: JSString = "rotateFromVectorSelf" + @usableFromInline static let `rotateSelf`: JSString = "rotateSelf" + @usableFromInline static let `rotationAngle`: JSString = "rotationAngle" + @usableFromInline static let `roundRect`: JSString = "roundRect" + @usableFromInline static let `rowIndex`: JSString = "rowIndex" + @usableFromInline static let `rowSpan`: JSString = "rowSpan" + @usableFromInline static let `rows`: JSString = "rows" + @usableFromInline static let `rules`: JSString = "rules" + @usableFromInline static let `sameDocument`: JSString = "sameDocument" + @usableFromInline static let `sampleRate`: JSString = "sampleRate" + @usableFromInline static let `sampleSize`: JSString = "sampleSize" + @usableFromInline static let `sandbox`: JSString = "sandbox" + @usableFromInline static let `save`: JSString = "save" + @usableFromInline static let `scalabilityMode`: JSString = "scalabilityMode" + @usableFromInline static let `scale`: JSString = "scale" + @usableFromInline static let `scale3d`: JSString = "scale3d" + @usableFromInline static let `scale3dSelf`: JSString = "scale3dSelf" + @usableFromInline static let `scaleNonUniform`: JSString = "scaleNonUniform" + @usableFromInline static let `scaleSelf`: JSString = "scaleSelf" + @usableFromInline static let `scheme`: JSString = "scheme" + @usableFromInline static let `scope`: JSString = "scope" + @usableFromInline static let `screen`: JSString = "screen" + @usableFromInline static let `screenLeft`: JSString = "screenLeft" + @usableFromInline static let `screenTop`: JSString = "screenTop" + @usableFromInline static let `screenX`: JSString = "screenX" + @usableFromInline static let `screenY`: JSString = "screenY" + @usableFromInline static let `scriptURL`: JSString = "scriptURL" + @usableFromInline static let `scripts`: JSString = "scripts" + @usableFromInline static let `scroll`: JSString = "scroll" + @usableFromInline static let `scrollAmount`: JSString = "scrollAmount" + @usableFromInline static let `scrollBy`: JSString = "scrollBy" + @usableFromInline static let `scrollDelay`: JSString = "scrollDelay" + @usableFromInline static let `scrollHeight`: JSString = "scrollHeight" + @usableFromInline static let `scrollIntoView`: JSString = "scrollIntoView" + @usableFromInline static let `scrollLeft`: JSString = "scrollLeft" + @usableFromInline static let `scrollPathIntoView`: JSString = "scrollPathIntoView" + @usableFromInline static let `scrollRestoration`: JSString = "scrollRestoration" + @usableFromInline static let `scrollTo`: JSString = "scrollTo" + @usableFromInline static let `scrollTop`: JSString = "scrollTop" + @usableFromInline static let `scrollWidth`: JSString = "scrollWidth" + @usableFromInline static let `scrollX`: JSString = "scrollX" + @usableFromInline static let `scrollY`: JSString = "scrollY" + @usableFromInline static let `scrollbars`: JSString = "scrollbars" + @usableFromInline static let `scrolling`: JSString = "scrolling" + @usableFromInline static let `scrollingElement`: JSString = "scrollingElement" + @usableFromInline static let `search`: JSString = "search" + @usableFromInline static let `sectionRowIndex`: JSString = "sectionRowIndex" + @usableFromInline static let `seekable`: JSString = "seekable" + @usableFromInline static let `seeking`: JSString = "seeking" + @usableFromInline static let `select`: JSString = "select" + @usableFromInline static let `selectNode`: JSString = "selectNode" + @usableFromInline static let `selectNodeContents`: JSString = "selectNodeContents" + @usableFromInline static let `selected`: JSString = "selected" + @usableFromInline static let `selectedIndex`: JSString = "selectedIndex" + @usableFromInline static let `selectedOptions`: JSString = "selectedOptions" + @usableFromInline static let `selectedTrack`: JSString = "selectedTrack" + @usableFromInline static let `selectionDirection`: JSString = "selectionDirection" + @usableFromInline static let `selectionEnd`: JSString = "selectionEnd" + @usableFromInline static let `selectionStart`: JSString = "selectionStart" + @usableFromInline static let `send`: JSString = "send" + @usableFromInline static let `serviceWorker`: JSString = "serviceWorker" + @usableFromInline static let `sessionStorage`: JSString = "sessionStorage" + @usableFromInline static let `set`: JSString = "set" + @usableFromInline static let `setAttribute`: JSString = "setAttribute" + @usableFromInline static let `setAttributeNS`: JSString = "setAttributeNS" + @usableFromInline static let `setAttributeNode`: JSString = "setAttributeNode" + @usableFromInline static let `setAttributeNodeNS`: JSString = "setAttributeNodeNS" + @usableFromInline static let `setCustomValidity`: JSString = "setCustomValidity" + @usableFromInline static let `setData`: JSString = "setData" + @usableFromInline static let `setDragImage`: JSString = "setDragImage" + @usableFromInline static let `setEnd`: JSString = "setEnd" + @usableFromInline static let `setEndAfter`: JSString = "setEndAfter" + @usableFromInline static let `setEndBefore`: JSString = "setEndBefore" + @usableFromInline static let `setFormValue`: JSString = "setFormValue" + @usableFromInline static let `setHeaderValue`: JSString = "setHeaderValue" + @usableFromInline static let `setInterval`: JSString = "setInterval" + @usableFromInline static let `setLineDash`: JSString = "setLineDash" + @usableFromInline static let `setLiveSeekableRange`: JSString = "setLiveSeekableRange" + @usableFromInline static let `setMatrixValue`: JSString = "setMatrixValue" + @usableFromInline static let `setNamedItem`: JSString = "setNamedItem" + @usableFromInline static let `setNamedItemNS`: JSString = "setNamedItemNS" + @usableFromInline static let `setParameter`: JSString = "setParameter" + @usableFromInline static let `setRangeText`: JSString = "setRangeText" + @usableFromInline static let `setRequestHeader`: JSString = "setRequestHeader" + @usableFromInline static let `setSelectionRange`: JSString = "setSelectionRange" + @usableFromInline static let `setStart`: JSString = "setStart" + @usableFromInline static let `setStartAfter`: JSString = "setStartAfter" + @usableFromInline static let `setStartBefore`: JSString = "setStartBefore" + @usableFromInline static let `setTimeout`: JSString = "setTimeout" + @usableFromInline static let `setTransform`: JSString = "setTransform" + @usableFromInline static let `setValidity`: JSString = "setValidity" + @usableFromInline static let `shadowBlur`: JSString = "shadowBlur" + @usableFromInline static let `shadowColor`: JSString = "shadowColor" + @usableFromInline static let `shadowOffsetX`: JSString = "shadowOffsetX" + @usableFromInline static let `shadowOffsetY`: JSString = "shadowOffsetY" + @usableFromInline static let `shadowRoot`: JSString = "shadowRoot" + @usableFromInline static let `shape`: JSString = "shape" + @usableFromInline static let `shiftKey`: JSString = "shiftKey" + @usableFromInline static let `show`: JSString = "show" + @usableFromInline static let `showModal`: JSString = "showModal" + @usableFromInline static let `showPicker`: JSString = "showPicker" + @usableFromInline static let `showPopover`: JSString = "showPopover" + @usableFromInline static let `signal`: JSString = "signal" + @usableFromInline static let `singleNodeValue`: JSString = "singleNodeValue" + @usableFromInline static let `size`: JSString = "size" + @usableFromInline static let `sizes`: JSString = "sizes" + @usableFromInline static let `skewX`: JSString = "skewX" + @usableFromInline static let `skewXSelf`: JSString = "skewXSelf" + @usableFromInline static let `skewY`: JSString = "skewY" + @usableFromInline static let `skewYSelf`: JSString = "skewYSelf" + @usableFromInline static let `skipTransition`: JSString = "skipTransition" + @usableFromInline static let `slice`: JSString = "slice" + @usableFromInline static let `slot`: JSString = "slot" + @usableFromInline static let `slotAssignment`: JSString = "slotAssignment" + @usableFromInline static let `snapshotItem`: JSString = "snapshotItem" + @usableFromInline static let `snapshotLength`: JSString = "snapshotLength" + @usableFromInline static let `source`: JSString = "source" + @usableFromInline static let `sourceBuffer`: JSString = "sourceBuffer" + @usableFromInline static let `sourceBuffers`: JSString = "sourceBuffers" + @usableFromInline static let `span`: JSString = "span" + @usableFromInline static let `specified`: JSString = "specified" + @usableFromInline static let `spellcheck`: JSString = "spellcheck" + @usableFromInline static let `splitText`: JSString = "splitText" + @usableFromInline static let `src`: JSString = "src" + @usableFromInline static let `srcElement`: JSString = "srcElement" + @usableFromInline static let `srcObject`: JSString = "srcObject" + @usableFromInline static let `srcdoc`: JSString = "srcdoc" + @usableFromInline static let `srclang`: JSString = "srclang" + @usableFromInline static let `srcset`: JSString = "srcset" + @usableFromInline static let `standby`: JSString = "standby" + @usableFromInline static let `start`: JSString = "start" + @usableFromInline static let `startContainer`: JSString = "startContainer" + @usableFromInline static let `startMessages`: JSString = "startMessages" + @usableFromInline static let `startOffset`: JSString = "startOffset" + @usableFromInline static let `startTime`: JSString = "startTime" + @usableFromInline static let `startViewTransition`: JSString = "startViewTransition" + @usableFromInline static let `state`: JSString = "state" + @usableFromInline static let `status`: JSString = "status" + @usableFromInline static let `statusText`: JSString = "statusText" + @usableFromInline static let `statusbar`: JSString = "statusbar" + @usableFromInline static let `step`: JSString = "step" + @usableFromInline static let `stepDown`: JSString = "stepDown" + @usableFromInline static let `stepMismatch`: JSString = "stepMismatch" + @usableFromInline static let `stepUp`: JSString = "stepUp" + @usableFromInline static let `stop`: JSString = "stop" + @usableFromInline static let `stopImmediatePropagation`: JSString = "stopImmediatePropagation" + @usableFromInline static let `stopPropagation`: JSString = "stopPropagation" + @usableFromInline static let `storageArea`: JSString = "storageArea" + @usableFromInline static let `stream`: JSString = "stream" + @usableFromInline static let `stride`: JSString = "stride" + @usableFromInline static let `stringValue`: JSString = "stringValue" + @usableFromInline static let `stroke`: JSString = "stroke" + @usableFromInline static let `strokeRect`: JSString = "strokeRect" + @usableFromInline static let `strokeStyle`: JSString = "strokeStyle" + @usableFromInline static let `strokeText`: JSString = "strokeText" + @usableFromInline static let `structuredClone`: JSString = "structuredClone" + @usableFromInline static let `submit`: JSString = "submit" + @usableFromInline static let `submitter`: JSString = "submitter" + @usableFromInline static let `substringData`: JSString = "substringData" + @usableFromInline static let `subtree`: JSString = "subtree" + @usableFromInline static let `suffixes`: JSString = "suffixes" + @usableFromInline static let `summary`: JSString = "summary" + @usableFromInline static let `supported`: JSString = "supported" + @usableFromInline static let `supportedEntryTypes`: JSString = "supportedEntryTypes" + @usableFromInline static let `supports`: JSString = "supports" + @usableFromInline static let `surroundContents`: JSString = "surroundContents" + @usableFromInline static let `svc`: JSString = "svc" + @usableFromInline static let `systemId`: JSString = "systemId" + @usableFromInline static let `tBodies`: JSString = "tBodies" + @usableFromInline static let `tFoot`: JSString = "tFoot" + @usableFromInline static let `tHead`: JSString = "tHead" + @usableFromInline static let `tabIndex`: JSString = "tabIndex" + @usableFromInline static let `tagName`: JSString = "tagName" + @usableFromInline static let `taintEnabled`: JSString = "taintEnabled" + @usableFromInline static let `takeRecords`: JSString = "takeRecords" + @usableFromInline static let `target`: JSString = "target" + @usableFromInline static let `targetOrigin`: JSString = "targetOrigin" + @usableFromInline static let `targetTouches`: JSString = "targetTouches" + @usableFromInline static let `tee`: JSString = "tee" + @usableFromInline static let `temporalLayerId`: JSString = "temporalLayerId" + @usableFromInline static let `terminate`: JSString = "terminate" + @usableFromInline static let `test`: JSString = "test" + @usableFromInline static let `text`: JSString = "text" + @usableFromInline static let `textAlign`: JSString = "textAlign" + @usableFromInline static let `textBaseline`: JSString = "textBaseline" + @usableFromInline static let `textContent`: JSString = "textContent" + @usableFromInline static let `textLength`: JSString = "textLength" + @usableFromInline static let `textRendering`: JSString = "textRendering" + @usableFromInline static let `textTracks`: JSString = "textTracks" + @usableFromInline static let `throwIfAborted`: JSString = "throwIfAborted" + @usableFromInline static let `timeOrigin`: JSString = "timeOrigin" + @usableFromInline static let `timeStamp`: JSString = "timeStamp" + @usableFromInline static let `timecode`: JSString = "timecode" + @usableFromInline static let `timeout`: JSString = "timeout" + @usableFromInline static let `timestamp`: JSString = "timestamp" + @usableFromInline static let `timestampOffset`: JSString = "timestampOffset" + @usableFromInline static let `title`: JSString = "title" + @usableFromInline static let `toBlob`: JSString = "toBlob" + @usableFromInline static let `toBox`: JSString = "toBox" + @usableFromInline static let `toDataURL`: JSString = "toDataURL" + @usableFromInline static let `toFloat32Array`: JSString = "toFloat32Array" + @usableFromInline static let `toFloat64Array`: JSString = "toFloat64Array" + @usableFromInline static let `toJSON`: JSString = "toJSON" + @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `toggle`: JSString = "toggle" + @usableFromInline static let `toggleAttribute`: JSString = "toggleAttribute" + @usableFromInline static let `togglePopover`: JSString = "togglePopover" + @usableFromInline static let `tooLong`: JSString = "tooLong" + @usableFromInline static let `tooShort`: JSString = "tooShort" + @usableFromInline static let `toolbar`: JSString = "toolbar" + @usableFromInline static let `top`: JSString = "top" + @usableFromInline static let `total`: JSString = "total" + @usableFromInline static let `touchType`: JSString = "touchType" + @usableFromInline static let `touches`: JSString = "touches" + @usableFromInline static let `track`: JSString = "track" + @usableFromInline static let `tracks`: JSString = "tracks" + @usableFromInline static let `transfer`: JSString = "transfer" + @usableFromInline static let `transferControlToOffscreen`: JSString = "transferControlToOffscreen" + @usableFromInline static let `transferFromImageBitmap`: JSString = "transferFromImageBitmap" + @usableFromInline static let `transferToImageBitmap`: JSString = "transferToImageBitmap" + @usableFromInline static let `transform`: JSString = "transform" + @usableFromInline static let `transformPoint`: JSString = "transformPoint" + @usableFromInline static let `transformToDocument`: JSString = "transformToDocument" + @usableFromInline static let `transformToFragment`: JSString = "transformToFragment" + @usableFromInline static let `transition`: JSString = "transition" + @usableFromInline static let `translate`: JSString = "translate" + @usableFromInline static let `translateSelf`: JSString = "translateSelf" + @usableFromInline static let `traverseTo`: JSString = "traverseTo" + @usableFromInline static let `trueSpeed`: JSString = "trueSpeed" + @usableFromInline static let `trustedTypes`: JSString = "trustedTypes" + @usableFromInline static let `type`: JSString = "type" + @usableFromInline static let `typeMismatch`: JSString = "typeMismatch" + @usableFromInline static let `types`: JSString = "types" + @usableFromInline static let `unregister`: JSString = "unregister" + @usableFromInline static let `unregisterProtocolHandler`: JSString = "unregisterProtocolHandler" + @usableFromInline static let `update`: JSString = "update" + @usableFromInline static let `updateCallbackDone`: JSString = "updateCallbackDone" + @usableFromInline static let `updateCurrentEntry`: JSString = "updateCurrentEntry" + @usableFromInline static let `updateViaCache`: JSString = "updateViaCache" + @usableFromInline static let `updating`: JSString = "updating" + @usableFromInline static let `upgrade`: JSString = "upgrade" + @usableFromInline static let `upload`: JSString = "upload" + @usableFromInline static let `url`: JSString = "url" + @usableFromInline static let `useMap`: JSString = "useMap" + @usableFromInline static let `userActivation`: JSString = "userActivation" + @usableFromInline static let `userAgent`: JSString = "userAgent" + @usableFromInline static let `userInitiated`: JSString = "userInitiated" + @usableFromInline static let `username`: JSString = "username" + @usableFromInline static let `vAlign`: JSString = "vAlign" + @usableFromInline static let `vLink`: JSString = "vLink" + @usableFromInline static let `valid`: JSString = "valid" + @usableFromInline static let `validationMessage`: JSString = "validationMessage" + @usableFromInline static let `validity`: JSString = "validity" + @usableFromInline static let `value`: JSString = "value" + @usableFromInline static let `valueAsDate`: JSString = "valueAsDate" + @usableFromInline static let `valueAsNumber`: JSString = "valueAsNumber" + @usableFromInline static let `valueMissing`: JSString = "valueMissing" + @usableFromInline static let `valueType`: JSString = "valueType" + @usableFromInline static let `vendor`: JSString = "vendor" + @usableFromInline static let `vendorSub`: JSString = "vendorSub" + @usableFromInline static let `version`: JSString = "version" + @usableFromInline static let `video`: JSString = "video" + @usableFromInline static let `videoBitsPerSecond`: JSString = "videoBitsPerSecond" + @usableFromInline static let `videoHeight`: JSString = "videoHeight" + @usableFromInline static let `videoKeyFrameIntervalCount`: JSString = "videoKeyFrameIntervalCount" + @usableFromInline static let `videoKeyFrameIntervalDuration`: JSString = "videoKeyFrameIntervalDuration" + @usableFromInline static let `videoTracks`: JSString = "videoTracks" + @usableFromInline static let `videoWidth`: JSString = "videoWidth" + @usableFromInline static let `view`: JSString = "view" + @usableFromInline static let `visibilityState`: JSString = "visibilityState" + @usableFromInline static let `visible`: JSString = "visible" + @usableFromInline static let `visibleRect`: JSString = "visibleRect" + @usableFromInline static let `visualViewport`: JSString = "visualViewport" + @usableFromInline static let `vlinkColor`: JSString = "vlinkColor" + @usableFromInline static let `volume`: JSString = "volume" + @usableFromInline static let `vspace`: JSString = "vspace" + @usableFromInline static let `w`: JSString = "w" + @usableFromInline static let `waiting`: JSString = "waiting" + @usableFromInline static let `webkitMatchesSelector`: JSString = "webkitMatchesSelector" + @usableFromInline static let `whatToShow`: JSString = "whatToShow" + @usableFromInline static let `whenDefined`: JSString = "whenDefined" + @usableFromInline static let `which`: JSString = "which" + @usableFromInline static let `wholeText`: JSString = "wholeText" + @usableFromInline static let `width`: JSString = "width" + @usableFromInline static let `willReadFrequently`: JSString = "willReadFrequently" + @usableFromInline static let `willValidate`: JSString = "willValidate" + @usableFromInline static let `window`: JSString = "window" + @usableFromInline static let `withCredentials`: JSString = "withCredentials" + @usableFromInline static let `wordSpacing`: JSString = "wordSpacing" + @usableFromInline static let `wrap`: JSString = "wrap" + @usableFromInline static let `writable`: JSString = "writable" + @usableFromInline static let `writableType`: JSString = "writableType" + @usableFromInline static let `write`: JSString = "write" + @usableFromInline static let `writeln`: JSString = "writeln" + @usableFromInline static let `x`: JSString = "x" + @usableFromInline static let `y`: JSString = "y" + @usableFromInline static let `z`: JSString = "z" } - public protocol Any_AddEventListenerOptions_or_Bool: ConvertibleToJSValue {} extension AddEventListenerOptions: Any_AddEventListenerOptions_or_Bool {} extension Bool: Any_AddEventListenerOptions_or_Bool {} @@ -20776,12 +22583,11 @@ public enum AddEventListenerOptions_or_Bool: JSValueCompatible, Any_AddEventList case addEventListenerOptions(AddEventListenerOptions) case bool(Bool) - init(_ addEventListenerOptions: AddEventListenerOptions) { + public init(_ addEventListenerOptions: AddEventListenerOptions) { let val: AddEventListenerOptions_or_Bool = .addEventListenerOptions(addEventListenerOptions) self = val } - - init(_ bool: Bool) { + public init(_ bool: Bool) { let val: AddEventListenerOptions_or_Bool = .bool(bool) self = val } @@ -20792,7 +22598,6 @@ public enum AddEventListenerOptions_or_Bool: JSValueCompatible, Any_AddEventList default: return nil } } - public var bool: Bool? { switch self { case let .bool(bool): return bool @@ -20804,22 +22609,17 @@ public enum AddEventListenerOptions_or_Bool: JSValueCompatible, Any_AddEventList if let addEventListenerOptions: AddEventListenerOptions = value.fromJSValue() { return .addEventListenerOptions(addEventListenerOptions) } - if let bool: Bool = value.fromJSValue() { - return .bool(bool) - } + if let bool: Bool = value.fromJSValue() { return .bool(bool) } return nil } public var jsValue: JSValue { switch self { - case let .addEventListenerOptions(addEventListenerOptions): - return addEventListenerOptions.jsValue - case let .bool(bool): - return bool.jsValue + case let .addEventListenerOptions(addEventListenerOptions): return addEventListenerOptions.jsValue + case let .bool(bool): return bool.jsValue } } } - public protocol Any_ArrayBuffer_or_String: ConvertibleToJSValue {} extension ArrayBuffer: Any_ArrayBuffer_or_String {} extension String: Any_ArrayBuffer_or_String {} @@ -20828,12 +22628,11 @@ public enum ArrayBuffer_or_String: JSValueCompatible, Any_ArrayBuffer_or_String case arrayBuffer(ArrayBuffer) case string(String) - init(_ arrayBuffer: ArrayBuffer) { + public init(_ arrayBuffer: ArrayBuffer) { let val: ArrayBuffer_or_String = .arrayBuffer(arrayBuffer) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: ArrayBuffer_or_String = .string(string) self = val } @@ -20844,7 +22643,6 @@ public enum ArrayBuffer_or_String: JSValueCompatible, Any_ArrayBuffer_or_String default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -20853,25 +22651,18 @@ public enum ArrayBuffer_or_String: JSValueCompatible, Any_ArrayBuffer_or_String } public static func construct(from value: JSValue) -> Self? { - if let arrayBuffer: ArrayBuffer = value.fromJSValue() { - return .arrayBuffer(arrayBuffer) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let arrayBuffer: ArrayBuffer = value.fromJSValue() { return .arrayBuffer(arrayBuffer) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .arrayBuffer(arrayBuffer): - return arrayBuffer.jsValue - case let .string(string): - return string.jsValue + case let .arrayBuffer(arrayBuffer): return arrayBuffer.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_AudioTrack_or_TextTrack_or_VideoTrack: ConvertibleToJSValue {} extension AudioTrack: Any_AudioTrack_or_TextTrack_or_VideoTrack {} extension TextTrack: Any_AudioTrack_or_TextTrack_or_VideoTrack {} @@ -20882,17 +22673,15 @@ public enum AudioTrack_or_TextTrack_or_VideoTrack: JSValueCompatible, Any_AudioT case textTrack(TextTrack) case videoTrack(VideoTrack) - init(_ audioTrack: AudioTrack) { + public init(_ audioTrack: AudioTrack) { let val: AudioTrack_or_TextTrack_or_VideoTrack = .audioTrack(audioTrack) self = val } - - init(_ textTrack: TextTrack) { + public init(_ textTrack: TextTrack) { let val: AudioTrack_or_TextTrack_or_VideoTrack = .textTrack(textTrack) self = val } - - init(_ videoTrack: VideoTrack) { + public init(_ videoTrack: VideoTrack) { let val: AudioTrack_or_TextTrack_or_VideoTrack = .videoTrack(videoTrack) self = val } @@ -20903,14 +22692,12 @@ public enum AudioTrack_or_TextTrack_or_VideoTrack: JSValueCompatible, Any_AudioT default: return nil } } - public var textTrack: TextTrack? { switch self { case let .textTrack(textTrack): return textTrack default: return nil } } - public var videoTrack: VideoTrack? { switch self { case let .videoTrack(videoTrack): return videoTrack @@ -20919,30 +22706,20 @@ public enum AudioTrack_or_TextTrack_or_VideoTrack: JSValueCompatible, Any_AudioT } public static func construct(from value: JSValue) -> Self? { - if let audioTrack: AudioTrack = value.fromJSValue() { - return .audioTrack(audioTrack) - } - if let textTrack: TextTrack = value.fromJSValue() { - return .textTrack(textTrack) - } - if let videoTrack: VideoTrack = value.fromJSValue() { - return .videoTrack(videoTrack) - } + if let audioTrack: AudioTrack = value.fromJSValue() { return .audioTrack(audioTrack) } + if let textTrack: TextTrack = value.fromJSValue() { return .textTrack(textTrack) } + if let videoTrack: VideoTrack = value.fromJSValue() { return .videoTrack(videoTrack) } return nil } public var jsValue: JSValue { switch self { - case let .audioTrack(audioTrack): - return audioTrack.jsValue - case let .textTrack(textTrack): - return textTrack.jsValue - case let .videoTrack(videoTrack): - return videoTrack.jsValue + case let .audioTrack(audioTrack): return audioTrack.jsValue + case let .textTrack(textTrack): return textTrack.jsValue + case let .videoTrack(videoTrack): return videoTrack.jsValue } } } - public protocol Any_BlobPart: ConvertibleToJSValue {} extension Blob: Any_BlobPart {} extension BufferSource: Any_BlobPart {} @@ -20953,27 +22730,23 @@ public enum BlobPart: JSValueCompatible, Any_BlobPart { case bufferSource(BufferSource) case string(String) - init(_ blob: Blob) { + public init(_ blob: Blob) { let val: BlobPart = .blob(blob) self = val } - - init(_ bufferSource: BufferSource) { + public init(_ bufferSource: BufferSource) { let val: BlobPart = .bufferSource(bufferSource) self = val } - - init(_ arrayBuffer: ArrayBuffer) { + public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } - - init(_ arrayBufferView: ArrayBufferView) { + public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } - - init(_ string: String) { + public init(_ string: String) { let val: BlobPart = .string(string) self = val } @@ -20984,14 +22757,12 @@ public enum BlobPart: JSValueCompatible, Any_BlobPart { default: return nil } } - public var bufferSource: BufferSource? { switch self { case let .bufferSource(bufferSource): return bufferSource default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -21000,30 +22771,20 @@ public enum BlobPart: JSValueCompatible, Any_BlobPart { } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { - return .blob(blob) - } - if let bufferSource: BufferSource = value.fromJSValue() { - return .bufferSource(bufferSource) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let blob: Blob = value.fromJSValue() { return .blob(blob) } + if let bufferSource: BufferSource = value.fromJSValue() { return .bufferSource(bufferSource) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): - return blob.jsValue - case let .bufferSource(bufferSource): - return bufferSource.jsValue - case let .string(string): - return string.jsValue + case let .blob(blob): return blob.jsValue + case let .bufferSource(bufferSource): return bufferSource.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_Bool_or_Double_or_String: ConvertibleToJSValue {} extension Bool: Any_Bool_or_Double_or_String {} extension Double: Any_Bool_or_Double_or_String {} @@ -21034,17 +22795,15 @@ public enum Bool_or_Double_or_String: JSValueCompatible, Any_Bool_or_Double_or_S case double(Double) case string(String) - init(_ bool: Bool) { + public init(_ bool: Bool) { let val: Bool_or_Double_or_String = .bool(bool) self = val } - - init(_ double: Double) { + public init(_ double: Double) { let val: Bool_or_Double_or_String = .double(double) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: Bool_or_Double_or_String = .string(string) self = val } @@ -21055,14 +22814,12 @@ public enum Bool_or_Double_or_String: JSValueCompatible, Any_Bool_or_Double_or_S default: return nil } } - public var double: Double? { switch self { case let .double(double): return double default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -21071,30 +22828,20 @@ public enum Bool_or_Double_or_String: JSValueCompatible, Any_Bool_or_Double_or_S } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { - return .bool(bool) - } - if let double: Double = value.fromJSValue() { - return .double(double) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let bool: Bool = value.fromJSValue() { return .bool(bool) } + if let double: Double = value.fromJSValue() { return .double(double) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .bool(bool): - return bool.jsValue - case let .double(double): - return double.jsValue - case let .string(string): - return string.jsValue + case let .bool(bool): return bool.jsValue + case let .double(double): return double.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_Bool_or_EventListenerOptions: ConvertibleToJSValue {} extension Bool: Any_Bool_or_EventListenerOptions {} extension EventListenerOptions: Any_Bool_or_EventListenerOptions {} @@ -21103,12 +22850,11 @@ public enum Bool_or_EventListenerOptions: JSValueCompatible, Any_Bool_or_EventLi case bool(Bool) case eventListenerOptions(EventListenerOptions) - init(_ bool: Bool) { + public init(_ bool: Bool) { let val: Bool_or_EventListenerOptions = .bool(bool) self = val } - - init(_ eventListenerOptions: EventListenerOptions) { + public init(_ eventListenerOptions: EventListenerOptions) { let val: Bool_or_EventListenerOptions = .eventListenerOptions(eventListenerOptions) self = val } @@ -21119,7 +22865,6 @@ public enum Bool_or_EventListenerOptions: JSValueCompatible, Any_Bool_or_EventLi default: return nil } } - public var eventListenerOptions: EventListenerOptions? { switch self { case let .eventListenerOptions(eventListenerOptions): return eventListenerOptions @@ -21128,9 +22873,7 @@ public enum Bool_or_EventListenerOptions: JSValueCompatible, Any_Bool_or_EventLi } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { - return .bool(bool) - } + if let bool: Bool = value.fromJSValue() { return .bool(bool) } if let eventListenerOptions: EventListenerOptions = value.fromJSValue() { return .eventListenerOptions(eventListenerOptions) } @@ -21139,14 +22882,11 @@ public enum Bool_or_EventListenerOptions: JSValueCompatible, Any_Bool_or_EventLi public var jsValue: JSValue { switch self { - case let .bool(bool): - return bool.jsValue - case let .eventListenerOptions(eventListenerOptions): - return eventListenerOptions.jsValue + case let .bool(bool): return bool.jsValue + case let .eventListenerOptions(eventListenerOptions): return eventListenerOptions.jsValue } } } - public protocol Any_Bool_or_MediaTrackConstraints: ConvertibleToJSValue {} extension Bool: Any_Bool_or_MediaTrackConstraints {} extension MediaTrackConstraints: Any_Bool_or_MediaTrackConstraints {} @@ -21155,12 +22895,11 @@ public enum Bool_or_MediaTrackConstraints: JSValueCompatible, Any_Bool_or_MediaT case bool(Bool) case mediaTrackConstraints(MediaTrackConstraints) - init(_ bool: Bool) { + public init(_ bool: Bool) { let val: Bool_or_MediaTrackConstraints = .bool(bool) self = val } - - init(_ mediaTrackConstraints: MediaTrackConstraints) { + public init(_ mediaTrackConstraints: MediaTrackConstraints) { let val: Bool_or_MediaTrackConstraints = .mediaTrackConstraints(mediaTrackConstraints) self = val } @@ -21171,7 +22910,6 @@ public enum Bool_or_MediaTrackConstraints: JSValueCompatible, Any_Bool_or_MediaT default: return nil } } - public var mediaTrackConstraints: MediaTrackConstraints? { switch self { case let .mediaTrackConstraints(mediaTrackConstraints): return mediaTrackConstraints @@ -21180,9 +22918,7 @@ public enum Bool_or_MediaTrackConstraints: JSValueCompatible, Any_Bool_or_MediaT } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { - return .bool(bool) - } + if let bool: Bool = value.fromJSValue() { return .bool(bool) } if let mediaTrackConstraints: MediaTrackConstraints = value.fromJSValue() { return .mediaTrackConstraints(mediaTrackConstraints) } @@ -21191,14 +22927,11 @@ public enum Bool_or_MediaTrackConstraints: JSValueCompatible, Any_Bool_or_MediaT public var jsValue: JSValue { switch self { - case let .bool(bool): - return bool.jsValue - case let .mediaTrackConstraints(mediaTrackConstraints): - return mediaTrackConstraints.jsValue + case let .bool(bool): return bool.jsValue + case let .mediaTrackConstraints(mediaTrackConstraints): return mediaTrackConstraints.jsValue } } } - public protocol Any_Bool_or_ScrollIntoViewOptions: ConvertibleToJSValue {} extension Bool: Any_Bool_or_ScrollIntoViewOptions {} extension ScrollIntoViewOptions: Any_Bool_or_ScrollIntoViewOptions {} @@ -21207,12 +22940,11 @@ public enum Bool_or_ScrollIntoViewOptions: JSValueCompatible, Any_Bool_or_Scroll case bool(Bool) case scrollIntoViewOptions(ScrollIntoViewOptions) - init(_ bool: Bool) { + public init(_ bool: Bool) { let val: Bool_or_ScrollIntoViewOptions = .bool(bool) self = val } - - init(_ scrollIntoViewOptions: ScrollIntoViewOptions) { + public init(_ scrollIntoViewOptions: ScrollIntoViewOptions) { let val: Bool_or_ScrollIntoViewOptions = .scrollIntoViewOptions(scrollIntoViewOptions) self = val } @@ -21223,7 +22955,6 @@ public enum Bool_or_ScrollIntoViewOptions: JSValueCompatible, Any_Bool_or_Scroll default: return nil } } - public var scrollIntoViewOptions: ScrollIntoViewOptions? { switch self { case let .scrollIntoViewOptions(scrollIntoViewOptions): return scrollIntoViewOptions @@ -21232,9 +22963,7 @@ public enum Bool_or_ScrollIntoViewOptions: JSValueCompatible, Any_Bool_or_Scroll } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { - return .bool(bool) - } + if let bool: Bool = value.fromJSValue() { return .bool(bool) } if let scrollIntoViewOptions: ScrollIntoViewOptions = value.fromJSValue() { return .scrollIntoViewOptions(scrollIntoViewOptions) } @@ -21243,14 +22972,11 @@ public enum Bool_or_ScrollIntoViewOptions: JSValueCompatible, Any_Bool_or_Scroll public var jsValue: JSValue { switch self { - case let .bool(bool): - return bool.jsValue - case let .scrollIntoViewOptions(scrollIntoViewOptions): - return scrollIntoViewOptions.jsValue + case let .bool(bool): return bool.jsValue + case let .scrollIntoViewOptions(scrollIntoViewOptions): return scrollIntoViewOptions.jsValue } } } - public protocol Any_CSSPseudoElement_or_Element: ConvertibleToJSValue {} extension CSSPseudoElement: Any_CSSPseudoElement_or_Element {} extension Element: Any_CSSPseudoElement_or_Element {} @@ -21259,12 +22985,11 @@ public enum CSSPseudoElement_or_Element: JSValueCompatible, Any_CSSPseudoElement case cssPseudoElement(CSSPseudoElement) case element(Element) - init(_ cssPseudoElement: CSSPseudoElement) { + public init(_ cssPseudoElement: CSSPseudoElement) { let val: CSSPseudoElement_or_Element = .cssPseudoElement(cssPseudoElement) self = val } - - init(_ element: Element) { + public init(_ element: Element) { let val: CSSPseudoElement_or_Element = .element(element) self = val } @@ -21275,7 +23000,6 @@ public enum CSSPseudoElement_or_Element: JSValueCompatible, Any_CSSPseudoElement default: return nil } } - public var element: Element? { switch self { case let .element(element): return element @@ -21284,46 +23008,38 @@ public enum CSSPseudoElement_or_Element: JSValueCompatible, Any_CSSPseudoElement } public static func construct(from value: JSValue) -> Self? { - if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { - return .cssPseudoElement(cssPseudoElement) - } - if let element: Element = value.fromJSValue() { - return .element(element) - } + if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { return .cssPseudoElement(cssPseudoElement) } + if let element: Element = value.fromJSValue() { return .element(element) } return nil } public var jsValue: JSValue { switch self { - case let .cssPseudoElement(cssPseudoElement): - return cssPseudoElement.jsValue - case let .element(element): - return element.jsValue + case let .cssPseudoElement(cssPseudoElement): return cssPseudoElement.jsValue + case let .element(element): return element.jsValue } } } - public protocol Any_CanvasGradient_or_CanvasPattern_or_String: ConvertibleToJSValue {} extension CanvasGradient: Any_CanvasGradient_or_CanvasPattern_or_String {} extension CanvasPattern: Any_CanvasGradient_or_CanvasPattern_or_String {} extension String: Any_CanvasGradient_or_CanvasPattern_or_String {} -public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_CanvasGradient_or_CanvasPattern_or_String { +public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_CanvasGradient_or_CanvasPattern_or_String +{ case canvasGradient(CanvasGradient) case canvasPattern(CanvasPattern) case string(String) - init(_ canvasGradient: CanvasGradient) { + public init(_ canvasGradient: CanvasGradient) { let val: CanvasGradient_or_CanvasPattern_or_String = .canvasGradient(canvasGradient) self = val } - - init(_ canvasPattern: CanvasPattern) { + public init(_ canvasPattern: CanvasPattern) { let val: CanvasGradient_or_CanvasPattern_or_String = .canvasPattern(canvasPattern) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: CanvasGradient_or_CanvasPattern_or_String = .string(string) self = val } @@ -21334,14 +23050,12 @@ public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_Ca default: return nil } } - public var canvasPattern: CanvasPattern? { switch self { case let .canvasPattern(canvasPattern): return canvasPattern default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -21350,30 +23064,20 @@ public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_Ca } public static func construct(from value: JSValue) -> Self? { - if let canvasGradient: CanvasGradient = value.fromJSValue() { - return .canvasGradient(canvasGradient) - } - if let canvasPattern: CanvasPattern = value.fromJSValue() { - return .canvasPattern(canvasPattern) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let canvasGradient: CanvasGradient = value.fromJSValue() { return .canvasGradient(canvasGradient) } + if let canvasPattern: CanvasPattern = value.fromJSValue() { return .canvasPattern(canvasPattern) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .canvasGradient(canvasGradient): - return canvasGradient.jsValue - case let .canvasPattern(canvasPattern): - return canvasPattern.jsValue - case let .string(string): - return string.jsValue + case let .canvasGradient(canvasGradient): return canvasGradient.jsValue + case let .canvasPattern(canvasPattern): return canvasPattern.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_CanvasImageSource: ConvertibleToJSValue {} extension HTMLCanvasElement: Any_CanvasImageSource {} extension HTMLOrSVGImageElement: Any_CanvasImageSource {} @@ -21390,32 +23094,27 @@ public enum CanvasImageSource: JSValueCompatible, Any_CanvasImageSource { case offscreenCanvas(OffscreenCanvas) case videoFrame(VideoFrame) - init(_ htmlCanvasElement: HTMLCanvasElement) { + public init(_ htmlCanvasElement: HTMLCanvasElement) { let val: CanvasImageSource = .htmlCanvasElement(htmlCanvasElement) self = val } - - init(_ htmlImageElement: HTMLImageElement) { - let val: CanvasImageSource = .htmlOrSVGImageElement(htmlImageElement) + public init(_ htmlOrSVGImageElement: HTMLOrSVGImageElement) { + let val: CanvasImageSource = .htmlOrSVGImageElement(htmlOrSVGImageElement) self = val } - - init(_ htmlVideoElement: HTMLVideoElement) { + public init(_ htmlVideoElement: HTMLVideoElement) { let val: CanvasImageSource = .htmlVideoElement(htmlVideoElement) self = val } - - init(_ imageBitmap: ImageBitmap) { + public init(_ imageBitmap: ImageBitmap) { let val: CanvasImageSource = .imageBitmap(imageBitmap) self = val } - - init(_ offscreenCanvas: OffscreenCanvas) { + public init(_ offscreenCanvas: OffscreenCanvas) { let val: CanvasImageSource = .offscreenCanvas(offscreenCanvas) self = val } - - init(_ videoFrame: VideoFrame) { + public init(_ videoFrame: VideoFrame) { let val: CanvasImageSource = .videoFrame(videoFrame) self = val } @@ -21426,35 +23125,30 @@ public enum CanvasImageSource: JSValueCompatible, Any_CanvasImageSource { default: return nil } } - public var htmlOrSVGImageElement: HTMLOrSVGImageElement? { switch self { case let .htmlOrSVGImageElement(htmlOrSVGImageElement): return htmlOrSVGImageElement default: return nil } } - public var htmlVideoElement: HTMLVideoElement? { switch self { case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement default: return nil } } - public var imageBitmap: ImageBitmap? { switch self { case let .imageBitmap(imageBitmap): return imageBitmap default: return nil } } - public var offscreenCanvas: OffscreenCanvas? { switch self { case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas default: return nil } } - public var videoFrame: VideoFrame? { switch self { case let .videoFrame(videoFrame): return videoFrame @@ -21469,39 +23163,24 @@ public enum CanvasImageSource: JSValueCompatible, Any_CanvasImageSource { if let htmlOrSVGImageElement: HTMLOrSVGImageElement = value.fromJSValue() { return .htmlOrSVGImageElement(htmlOrSVGImageElement) } - if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() { - return .htmlVideoElement(htmlVideoElement) - } - if let imageBitmap: ImageBitmap = value.fromJSValue() { - return .imageBitmap(imageBitmap) - } - if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { - return .offscreenCanvas(offscreenCanvas) - } - if let videoFrame: VideoFrame = value.fromJSValue() { - return .videoFrame(videoFrame) - } + if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() { return .htmlVideoElement(htmlVideoElement) } + if let imageBitmap: ImageBitmap = value.fromJSValue() { return .imageBitmap(imageBitmap) } + if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { return .offscreenCanvas(offscreenCanvas) } + if let videoFrame: VideoFrame = value.fromJSValue() { return .videoFrame(videoFrame) } return nil } public var jsValue: JSValue { switch self { - case let .htmlCanvasElement(htmlCanvasElement): - return htmlCanvasElement.jsValue - case let .htmlOrSVGImageElement(htmlOrSVGImageElement): - return htmlOrSVGImageElement.jsValue - case let .htmlVideoElement(htmlVideoElement): - return htmlVideoElement.jsValue - case let .imageBitmap(imageBitmap): - return imageBitmap.jsValue - case let .offscreenCanvas(offscreenCanvas): - return offscreenCanvas.jsValue - case let .videoFrame(videoFrame): - return videoFrame.jsValue + case let .htmlCanvasElement(htmlCanvasElement): return htmlCanvasElement.jsValue + case let .htmlOrSVGImageElement(htmlOrSVGImageElement): return htmlOrSVGImageElement.jsValue + case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement.jsValue + case let .imageBitmap(imageBitmap): return imageBitmap.jsValue + case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas.jsValue + case let .videoFrame(videoFrame): return videoFrame.jsValue } } } - public protocol Any_ConstrainBoolean: ConvertibleToJSValue {} extension Bool: Any_ConstrainBoolean {} extension ConstrainBooleanParameters: Any_ConstrainBoolean {} @@ -21510,12 +23189,11 @@ public enum ConstrainBoolean: JSValueCompatible, Any_ConstrainBoolean { case bool(Bool) case constrainBooleanParameters(ConstrainBooleanParameters) - init(_ bool: Bool) { + public init(_ bool: Bool) { let val: ConstrainBoolean = .bool(bool) self = val } - - init(_ constrainBooleanParameters: ConstrainBooleanParameters) { + public init(_ constrainBooleanParameters: ConstrainBooleanParameters) { let val: ConstrainBoolean = .constrainBooleanParameters(constrainBooleanParameters) self = val } @@ -21526,7 +23204,6 @@ public enum ConstrainBoolean: JSValueCompatible, Any_ConstrainBoolean { default: return nil } } - public var constrainBooleanParameters: ConstrainBooleanParameters? { switch self { case let .constrainBooleanParameters(constrainBooleanParameters): return constrainBooleanParameters @@ -21535,9 +23212,7 @@ public enum ConstrainBoolean: JSValueCompatible, Any_ConstrainBoolean { } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { - return .bool(bool) - } + if let bool: Bool = value.fromJSValue() { return .bool(bool) } if let constrainBooleanParameters: ConstrainBooleanParameters = value.fromJSValue() { return .constrainBooleanParameters(constrainBooleanParameters) } @@ -21546,14 +23221,11 @@ public enum ConstrainBoolean: JSValueCompatible, Any_ConstrainBoolean { public var jsValue: JSValue { switch self { - case let .bool(bool): - return bool.jsValue - case let .constrainBooleanParameters(constrainBooleanParameters): - return constrainBooleanParameters.jsValue + case let .bool(bool): return bool.jsValue + case let .constrainBooleanParameters(constrainBooleanParameters): return constrainBooleanParameters.jsValue } } } - public protocol Any_ConstrainDOMString: ConvertibleToJSValue {} extension ConstrainDOMStringParameters: Any_ConstrainDOMString {} extension String: Any_ConstrainDOMString {} @@ -21564,17 +23236,15 @@ public enum ConstrainDOMString: JSValueCompatible, Any_ConstrainDOMString { case string(String) case seq_of_String([String]) - init(_ constrainDOMStringParameters: ConstrainDOMStringParameters) { + public init(_ constrainDOMStringParameters: ConstrainDOMStringParameters) { let val: ConstrainDOMString = .constrainDOMStringParameters(constrainDOMStringParameters) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: ConstrainDOMString = .string(string) self = val } - - init(_ seq_of_String: [String]) { + public init(_ seq_of_String: [String]) { let val: ConstrainDOMString = .seq_of_String(seq_of_String) self = val } @@ -21585,14 +23255,12 @@ public enum ConstrainDOMString: JSValueCompatible, Any_ConstrainDOMString { default: return nil } } - public var string: String? { switch self { case let .string(string): return string default: return nil } } - public var seq_of_String: [String]? { switch self { case let .seq_of_String(seq_of_String): return seq_of_String @@ -21604,12 +23272,8 @@ public enum ConstrainDOMString: JSValueCompatible, Any_ConstrainDOMString { if let constrainDOMStringParameters: ConstrainDOMStringParameters = value.fromJSValue() { return .constrainDOMStringParameters(constrainDOMStringParameters) } - if let string: String = value.fromJSValue() { - return .string(string) - } - if let seq_of_String: [String] = value.fromJSValue() { - return .seq_of_String(seq_of_String) - } + if let string: String = value.fromJSValue() { return .string(string) } + if let seq_of_String: [String] = value.fromJSValue() { return .seq_of_String(seq_of_String) } return nil } @@ -21617,14 +23281,11 @@ public enum ConstrainDOMString: JSValueCompatible, Any_ConstrainDOMString { switch self { case let .constrainDOMStringParameters(constrainDOMStringParameters): return constrainDOMStringParameters.jsValue - case let .string(string): - return string.jsValue - case let .seq_of_String(seq_of_String): - return seq_of_String.jsValue + case let .string(string): return string.jsValue + case let .seq_of_String(seq_of_String): return seq_of_String.jsValue } } } - public protocol Any_ConstrainDouble: ConvertibleToJSValue {} extension ConstrainDoubleRange: Any_ConstrainDouble {} extension Double: Any_ConstrainDouble {} @@ -21633,12 +23294,11 @@ public enum ConstrainDouble: JSValueCompatible, Any_ConstrainDouble { case constrainDoubleRange(ConstrainDoubleRange) case double(Double) - init(_ constrainDoubleRange: ConstrainDoubleRange) { + public init(_ constrainDoubleRange: ConstrainDoubleRange) { let val: ConstrainDouble = .constrainDoubleRange(constrainDoubleRange) self = val } - - init(_ double: Double) { + public init(_ double: Double) { let val: ConstrainDouble = .double(double) self = val } @@ -21649,7 +23309,6 @@ public enum ConstrainDouble: JSValueCompatible, Any_ConstrainDouble { default: return nil } } - public var double: Double? { switch self { case let .double(double): return double @@ -21661,22 +23320,17 @@ public enum ConstrainDouble: JSValueCompatible, Any_ConstrainDouble { if let constrainDoubleRange: ConstrainDoubleRange = value.fromJSValue() { return .constrainDoubleRange(constrainDoubleRange) } - if let double: Double = value.fromJSValue() { - return .double(double) - } + if let double: Double = value.fromJSValue() { return .double(double) } return nil } public var jsValue: JSValue { switch self { - case let .constrainDoubleRange(constrainDoubleRange): - return constrainDoubleRange.jsValue - case let .double(double): - return double.jsValue + case let .constrainDoubleRange(constrainDoubleRange): return constrainDoubleRange.jsValue + case let .double(double): return double.jsValue } } } - public protocol Any_ConstrainULong: ConvertibleToJSValue {} extension ConstrainULongRange: Any_ConstrainULong {} extension UInt32: Any_ConstrainULong {} @@ -21685,12 +23339,11 @@ public enum ConstrainULong: JSValueCompatible, Any_ConstrainULong { case constrainULongRange(ConstrainULongRange) case uInt32(UInt32) - init(_ constrainULongRange: ConstrainULongRange) { + public init(_ constrainULongRange: ConstrainULongRange) { let val: ConstrainULong = .constrainULongRange(constrainULongRange) self = val } - - init(_ uInt32: UInt32) { + public init(_ uInt32: UInt32) { let val: ConstrainULong = .uInt32(uInt32) self = val } @@ -21701,7 +23354,6 @@ public enum ConstrainULong: JSValueCompatible, Any_ConstrainULong { default: return nil } } - public var uInt32: UInt32? { switch self { case let .uInt32(uInt32): return uInt32 @@ -21713,22 +23365,17 @@ public enum ConstrainULong: JSValueCompatible, Any_ConstrainULong { if let constrainULongRange: ConstrainULongRange = value.fromJSValue() { return .constrainULongRange(constrainULongRange) } - if let uInt32: UInt32 = value.fromJSValue() { - return .uInt32(uInt32) - } + if let uInt32: UInt32 = value.fromJSValue() { return .uInt32(uInt32) } return nil } public var jsValue: JSValue { switch self { - case let .constrainULongRange(constrainULongRange): - return constrainULongRange.jsValue - case let .uInt32(uInt32): - return uInt32.jsValue + case let .constrainULongRange(constrainULongRange): return constrainULongRange.jsValue + case let .uInt32(uInt32): return uInt32.jsValue } } } - public protocol Any_DOMPointInit_or_Double: ConvertibleToJSValue {} extension DOMPointInit: Any_DOMPointInit_or_Double {} extension Double: Any_DOMPointInit_or_Double {} @@ -21737,12 +23384,11 @@ public enum DOMPointInit_or_Double: JSValueCompatible, Any_DOMPointInit_or_Doubl case domPointInit(DOMPointInit) case double(Double) - init(_ domPointInit: DOMPointInit) { + public init(_ domPointInit: DOMPointInit) { let val: DOMPointInit_or_Double = .domPointInit(domPointInit) self = val } - - init(_ double: Double) { + public init(_ double: Double) { let val: DOMPointInit_or_Double = .double(double) self = val } @@ -21753,7 +23399,6 @@ public enum DOMPointInit_or_Double: JSValueCompatible, Any_DOMPointInit_or_Doubl default: return nil } } - public var double: Double? { switch self { case let .double(double): return double @@ -21762,47 +23407,42 @@ public enum DOMPointInit_or_Double: JSValueCompatible, Any_DOMPointInit_or_Doubl } public static func construct(from value: JSValue) -> Self? { - if let domPointInit: DOMPointInit = value.fromJSValue() { - return .domPointInit(domPointInit) - } - if let double: Double = value.fromJSValue() { - return .double(double) - } + if let domPointInit: DOMPointInit = value.fromJSValue() { return .domPointInit(domPointInit) } + if let double: Double = value.fromJSValue() { return .double(double) } return nil } public var jsValue: JSValue { switch self { - case let .domPointInit(domPointInit): - return domPointInit.jsValue - case let .double(double): - return double.jsValue + case let .domPointInit(domPointInit): return domPointInit.jsValue + case let .double(double): return double.jsValue } } } - public protocol Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: ConvertibleToJSValue {} extension DOMPointInit: Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double {} extension Double: Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double {} extension Array: Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double where Element == DOMPointInit_or_Double {} -public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueCompatible, Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double { +public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueCompatible, + Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double +{ case domPointInit(DOMPointInit) case double(Double) case seq_of_DOMPointInit_or_Double([DOMPointInit_or_Double]) - init(_ domPointInit: DOMPointInit) { + public init(_ domPointInit: DOMPointInit) { let val: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double = .domPointInit(domPointInit) self = val } - - init(_ double: Double) { + public init(_ double: Double) { let val: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double = .double(double) self = val } - - init(_ seq_of_DOMPointInit_or_Double: [DOMPointInit_or_Double]) { - let val: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double = .seq_of_DOMPointInit_or_Double(seq_of_DOMPointInit_or_Double) + public init(_ seq_of_DOMPointInit_or_Double: [DOMPointInit_or_Double]) { + let val: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double = .seq_of_DOMPointInit_or_Double( + seq_of_DOMPointInit_or_Double + ) self = val } @@ -21812,14 +23452,12 @@ public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueComp default: return nil } } - public var double: Double? { switch self { case let .double(double): return double default: return nil } } - public var seq_of_DOMPointInit_or_Double: [DOMPointInit_or_Double]? { switch self { case let .seq_of_DOMPointInit_or_Double(seq_of_DOMPointInit_or_Double): return seq_of_DOMPointInit_or_Double @@ -21828,12 +23466,8 @@ public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueComp } public static func construct(from value: JSValue) -> Self? { - if let domPointInit: DOMPointInit = value.fromJSValue() { - return .domPointInit(domPointInit) - } - if let double: Double = value.fromJSValue() { - return .double(double) - } + if let domPointInit: DOMPointInit = value.fromJSValue() { return .domPointInit(domPointInit) } + if let double: Double = value.fromJSValue() { return .double(double) } if let seq_of_DOMPointInit_or_Double: [DOMPointInit_or_Double] = value.fromJSValue() { return .seq_of_DOMPointInit_or_Double(seq_of_DOMPointInit_or_Double) } @@ -21842,16 +23476,13 @@ public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueComp public var jsValue: JSValue { switch self { - case let .domPointInit(domPointInit): - return domPointInit.jsValue - case let .double(double): - return double.jsValue + case let .domPointInit(domPointInit): return domPointInit.jsValue + case let .double(double): return double.jsValue case let .seq_of_DOMPointInit_or_Double(seq_of_DOMPointInit_or_Double): return seq_of_DOMPointInit_or_Double.jsValue } } } - public protocol Any_Document_or_XMLHttpRequestBodyInit: ConvertibleToJSValue {} extension Document: Any_Document_or_XMLHttpRequestBodyInit {} extension XMLHttpRequestBodyInit: Any_Document_or_XMLHttpRequestBodyInit {} @@ -21860,47 +23491,39 @@ public enum Document_or_XMLHttpRequestBodyInit: JSValueCompatible, Any_Document_ case document(Document) case xmlHttpRequestBodyInit(XMLHttpRequestBodyInit) - init(_ document: Document) { + public init(_ document: Document) { let val: Document_or_XMLHttpRequestBodyInit = .document(document) self = val } - - init(_ xmlHttpRequestBodyInit: XMLHttpRequestBodyInit) { + public init(_ xmlHttpRequestBodyInit: XMLHttpRequestBodyInit) { let val: Document_or_XMLHttpRequestBodyInit = .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit) self = val } - - init(_ blob: Blob) { + public init(_ blob: Blob) { let val: XMLHttpRequestBodyInit = .blob(blob) self = .init(val) } - - init(_ bufferSource: BufferSource) { + public init(_ bufferSource: BufferSource) { let val: XMLHttpRequestBodyInit = .bufferSource(bufferSource) self = .init(val) } - - init(_ arrayBuffer: ArrayBuffer) { + public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } - - init(_ arrayBufferView: ArrayBufferView) { + public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } - - init(_ formData: FormData) { + public init(_ formData: FormData) { let val: XMLHttpRequestBodyInit = .formData(formData) self = .init(val) } - - init(_ string: String) { + public init(_ string: String) { let val: XMLHttpRequestBodyInit = .string(string) self = .init(val) } - - init(_ urlSearchParams: URLSearchParams) { + public init(_ urlSearchParams: URLSearchParams) { let val: XMLHttpRequestBodyInit = .urlSearchParams(urlSearchParams) self = .init(val) } @@ -21911,7 +23534,6 @@ public enum Document_or_XMLHttpRequestBodyInit: JSValueCompatible, Any_Document_ default: return nil } } - public var xmlHttpRequestBodyInit: XMLHttpRequestBodyInit? { switch self { case let .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit): return xmlHttpRequestBodyInit @@ -21920,9 +23542,7 @@ public enum Document_or_XMLHttpRequestBodyInit: JSValueCompatible, Any_Document_ } public static func construct(from value: JSValue) -> Self? { - if let document: Document = value.fromJSValue() { - return .document(document) - } + if let document: Document = value.fromJSValue() { return .document(document) } if let xmlHttpRequestBodyInit: XMLHttpRequestBodyInit = value.fromJSValue() { return .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit) } @@ -21931,14 +23551,11 @@ public enum Document_or_XMLHttpRequestBodyInit: JSValueCompatible, Any_Document_ public var jsValue: JSValue { switch self { - case let .document(document): - return document.jsValue - case let .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit): - return xmlHttpRequestBodyInit.jsValue + case let .document(document): return document.jsValue + case let .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit): return xmlHttpRequestBodyInit.jsValue } } } - public protocol Any_ElementCreationOptions_or_String: ConvertibleToJSValue {} extension ElementCreationOptions: Any_ElementCreationOptions_or_String {} extension String: Any_ElementCreationOptions_or_String {} @@ -21947,12 +23564,11 @@ public enum ElementCreationOptions_or_String: JSValueCompatible, Any_ElementCrea case elementCreationOptions(ElementCreationOptions) case string(String) - init(_ elementCreationOptions: ElementCreationOptions) { + public init(_ elementCreationOptions: ElementCreationOptions) { let val: ElementCreationOptions_or_String = .elementCreationOptions(elementCreationOptions) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: ElementCreationOptions_or_String = .string(string) self = val } @@ -21963,7 +23579,6 @@ public enum ElementCreationOptions_or_String: JSValueCompatible, Any_ElementCrea default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -21975,22 +23590,17 @@ public enum ElementCreationOptions_or_String: JSValueCompatible, Any_ElementCrea if let elementCreationOptions: ElementCreationOptions = value.fromJSValue() { return .elementCreationOptions(elementCreationOptions) } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .elementCreationOptions(elementCreationOptions): - return elementCreationOptions.jsValue - case let .string(string): - return string.jsValue + case let .elementCreationOptions(elementCreationOptions): return elementCreationOptions.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_Element_or_HTMLCollection: ConvertibleToJSValue {} extension Element: Any_Element_or_HTMLCollection {} extension HTMLCollection: Any_Element_or_HTMLCollection {} @@ -21999,12 +23609,11 @@ public enum Element_or_HTMLCollection: JSValueCompatible, Any_Element_or_HTMLCol case element(Element) case htmlCollection(HTMLCollection) - init(_ element: Element) { + public init(_ element: Element) { let val: Element_or_HTMLCollection = .element(element) self = val } - - init(_ htmlCollection: HTMLCollection) { + public init(_ htmlCollection: HTMLCollection) { let val: Element_or_HTMLCollection = .htmlCollection(htmlCollection) self = val } @@ -22015,7 +23624,6 @@ public enum Element_or_HTMLCollection: JSValueCompatible, Any_Element_or_HTMLCol default: return nil } } - public var htmlCollection: HTMLCollection? { switch self { case let .htmlCollection(htmlCollection): return htmlCollection @@ -22024,25 +23632,18 @@ public enum Element_or_HTMLCollection: JSValueCompatible, Any_Element_or_HTMLCol } public static func construct(from value: JSValue) -> Self? { - if let element: Element = value.fromJSValue() { - return .element(element) - } - if let htmlCollection: HTMLCollection = value.fromJSValue() { - return .htmlCollection(htmlCollection) - } + if let element: Element = value.fromJSValue() { return .element(element) } + if let htmlCollection: HTMLCollection = value.fromJSValue() { return .htmlCollection(htmlCollection) } return nil } public var jsValue: JSValue { switch self { - case let .element(element): - return element.jsValue - case let .htmlCollection(htmlCollection): - return htmlCollection.jsValue + case let .element(element): return element.jsValue + case let .htmlCollection(htmlCollection): return htmlCollection.jsValue } } } - public protocol Any_Element_or_RadioNodeList: ConvertibleToJSValue {} extension Element: Any_Element_or_RadioNodeList {} extension RadioNodeList: Any_Element_or_RadioNodeList {} @@ -22051,12 +23652,11 @@ public enum Element_or_RadioNodeList: JSValueCompatible, Any_Element_or_RadioNod case element(Element) case radioNodeList(RadioNodeList) - init(_ element: Element) { + public init(_ element: Element) { let val: Element_or_RadioNodeList = .element(element) self = val } - - init(_ radioNodeList: RadioNodeList) { + public init(_ radioNodeList: RadioNodeList) { let val: Element_or_RadioNodeList = .radioNodeList(radioNodeList) self = val } @@ -22067,7 +23667,6 @@ public enum Element_or_RadioNodeList: JSValueCompatible, Any_Element_or_RadioNod default: return nil } } - public var radioNodeList: RadioNodeList? { switch self { case let .radioNodeList(radioNodeList): return radioNodeList @@ -22076,25 +23675,18 @@ public enum Element_or_RadioNodeList: JSValueCompatible, Any_Element_or_RadioNod } public static func construct(from value: JSValue) -> Self? { - if let element: Element = value.fromJSValue() { - return .element(element) - } - if let radioNodeList: RadioNodeList = value.fromJSValue() { - return .radioNodeList(radioNodeList) - } + if let element: Element = value.fromJSValue() { return .element(element) } + if let radioNodeList: RadioNodeList = value.fromJSValue() { return .radioNodeList(radioNodeList) } return nil } public var jsValue: JSValue { switch self { - case let .element(element): - return element.jsValue - case let .radioNodeList(radioNodeList): - return radioNodeList.jsValue + case let .element(element): return element.jsValue + case let .radioNodeList(radioNodeList): return radioNodeList.jsValue } } } - public protocol Any_Element_or_Text: ConvertibleToJSValue {} extension Element: Any_Element_or_Text {} extension Text: Any_Element_or_Text {} @@ -22103,12 +23695,11 @@ public enum Element_or_Text: JSValueCompatible, Any_Element_or_Text { case element(Element) case text(Text) - init(_ element: Element) { + public init(_ element: Element) { let val: Element_or_Text = .element(element) self = val } - - init(_ text: Text) { + public init(_ text: Text) { let val: Element_or_Text = .text(text) self = val } @@ -22119,7 +23710,6 @@ public enum Element_or_Text: JSValueCompatible, Any_Element_or_Text { default: return nil } } - public var text: Text? { switch self { case let .text(text): return text @@ -22128,25 +23718,18 @@ public enum Element_or_Text: JSValueCompatible, Any_Element_or_Text { } public static func construct(from value: JSValue) -> Self? { - if let element: Element = value.fromJSValue() { - return .element(element) - } - if let text: Text = value.fromJSValue() { - return .text(text) - } + if let element: Element = value.fromJSValue() { return .element(element) } + if let text: Text = value.fromJSValue() { return .text(text) } return nil } public var jsValue: JSValue { switch self { - case let .element(element): - return element.jsValue - case let .text(text): - return text.jsValue + case let .element(element): return element.jsValue + case let .text(text): return text.jsValue } } } - public protocol Any_Event_or_String: ConvertibleToJSValue {} extension Event: Any_Event_or_String {} extension String: Any_Event_or_String {} @@ -22155,12 +23738,11 @@ public enum Event_or_String: JSValueCompatible, Any_Event_or_String { case event(Event) case string(String) - init(_ event: Event) { + public init(_ event: Event) { let val: Event_or_String = .event(event) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: Event_or_String = .string(string) self = val } @@ -22171,7 +23753,6 @@ public enum Event_or_String: JSValueCompatible, Any_Event_or_String { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -22180,25 +23761,18 @@ public enum Event_or_String: JSValueCompatible, Any_Event_or_String { } public static func construct(from value: JSValue) -> Self? { - if let event: Event = value.fromJSValue() { - return .event(event) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let event: Event = value.fromJSValue() { return .event(event) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .event(event): - return event.jsValue - case let .string(string): - return string.jsValue + case let .event(event): return event.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_File_or_FormData_or_String: ConvertibleToJSValue {} extension File: Any_File_or_FormData_or_String {} extension FormData: Any_File_or_FormData_or_String {} @@ -22209,17 +23783,15 @@ public enum File_or_FormData_or_String: JSValueCompatible, Any_File_or_FormData_ case formData(FormData) case string(String) - init(_ file: File) { + public init(_ file: File) { let val: File_or_FormData_or_String = .file(file) self = val } - - init(_ formData: FormData) { + public init(_ formData: FormData) { let val: File_or_FormData_or_String = .formData(formData) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: File_or_FormData_or_String = .string(string) self = val } @@ -22230,14 +23802,12 @@ public enum File_or_FormData_or_String: JSValueCompatible, Any_File_or_FormData_ default: return nil } } - public var formData: FormData? { switch self { case let .formData(formData): return formData default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -22246,30 +23816,20 @@ public enum File_or_FormData_or_String: JSValueCompatible, Any_File_or_FormData_ } public static func construct(from value: JSValue) -> Self? { - if let file: File = value.fromJSValue() { - return .file(file) - } - if let formData: FormData = value.fromJSValue() { - return .formData(formData) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let file: File = value.fromJSValue() { return .file(file) } + if let formData: FormData = value.fromJSValue() { return .formData(formData) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .file(file): - return file.jsValue - case let .formData(formData): - return formData.jsValue - case let .string(string): - return string.jsValue + case let .file(file): return file.jsValue + case let .formData(formData): return formData.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_FormDataEntryValue: ConvertibleToJSValue {} extension File: Any_FormDataEntryValue {} extension String: Any_FormDataEntryValue {} @@ -22278,12 +23838,11 @@ public enum FormDataEntryValue: JSValueCompatible, Any_FormDataEntryValue { case file(File) case string(String) - init(_ file: File) { + public init(_ file: File) { let val: FormDataEntryValue = .file(file) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: FormDataEntryValue = .string(string) self = val } @@ -22294,7 +23853,6 @@ public enum FormDataEntryValue: JSValueCompatible, Any_FormDataEntryValue { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -22303,25 +23861,18 @@ public enum FormDataEntryValue: JSValueCompatible, Any_FormDataEntryValue { } public static func construct(from value: JSValue) -> Self? { - if let file: File = value.fromJSValue() { - return .file(file) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let file: File = value.fromJSValue() { return .file(file) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .file(file): - return file.jsValue - case let .string(string): - return string.jsValue + case let .file(file): return file.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_GeometryNode: ConvertibleToJSValue {} extension CSSPseudoElement: Any_GeometryNode {} extension Document: Any_GeometryNode {} @@ -22334,22 +23885,19 @@ public enum GeometryNode: JSValueCompatible, Any_GeometryNode { case element(Element) case text(Text) - init(_ cssPseudoElement: CSSPseudoElement) { + public init(_ cssPseudoElement: CSSPseudoElement) { let val: GeometryNode = .cssPseudoElement(cssPseudoElement) self = val } - - init(_ document: Document) { + public init(_ document: Document) { let val: GeometryNode = .document(document) self = val } - - init(_ element: Element) { + public init(_ element: Element) { let val: GeometryNode = .element(element) self = val } - - init(_ text: Text) { + public init(_ text: Text) { let val: GeometryNode = .text(text) self = val } @@ -22360,21 +23908,18 @@ public enum GeometryNode: JSValueCompatible, Any_GeometryNode { default: return nil } } - public var document: Document? { switch self { case let .document(document): return document default: return nil } } - public var element: Element? { switch self { case let .element(element): return element default: return nil } } - public var text: Text? { switch self { case let .text(text): return text @@ -22383,35 +23928,22 @@ public enum GeometryNode: JSValueCompatible, Any_GeometryNode { } public static func construct(from value: JSValue) -> Self? { - if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { - return .cssPseudoElement(cssPseudoElement) - } - if let document: Document = value.fromJSValue() { - return .document(document) - } - if let element: Element = value.fromJSValue() { - return .element(element) - } - if let text: Text = value.fromJSValue() { - return .text(text) - } + if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { return .cssPseudoElement(cssPseudoElement) } + if let document: Document = value.fromJSValue() { return .document(document) } + if let element: Element = value.fromJSValue() { return .element(element) } + if let text: Text = value.fromJSValue() { return .text(text) } return nil } public var jsValue: JSValue { switch self { - case let .cssPseudoElement(cssPseudoElement): - return cssPseudoElement.jsValue - case let .document(document): - return document.jsValue - case let .element(element): - return element.jsValue - case let .text(text): - return text.jsValue + case let .cssPseudoElement(cssPseudoElement): return cssPseudoElement.jsValue + case let .document(document): return document.jsValue + case let .element(element): return element.jsValue + case let .text(text): return text.jsValue } } } - public protocol Any_HTMLCanvasElement_or_OffscreenCanvas: ConvertibleToJSValue {} extension HTMLCanvasElement: Any_HTMLCanvasElement_or_OffscreenCanvas {} extension OffscreenCanvas: Any_HTMLCanvasElement_or_OffscreenCanvas {} @@ -22420,12 +23952,11 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan case htmlCanvasElement(HTMLCanvasElement) case offscreenCanvas(OffscreenCanvas) - init(_ htmlCanvasElement: HTMLCanvasElement) { + public init(_ htmlCanvasElement: HTMLCanvasElement) { let val: HTMLCanvasElement_or_OffscreenCanvas = .htmlCanvasElement(htmlCanvasElement) self = val } - - init(_ offscreenCanvas: OffscreenCanvas) { + public init(_ offscreenCanvas: OffscreenCanvas) { let val: HTMLCanvasElement_or_OffscreenCanvas = .offscreenCanvas(offscreenCanvas) self = val } @@ -22436,7 +23967,6 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan default: return nil } } - public var offscreenCanvas: OffscreenCanvas? { switch self { case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas @@ -22448,22 +23978,17 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan if let htmlCanvasElement: HTMLCanvasElement = value.fromJSValue() { return .htmlCanvasElement(htmlCanvasElement) } - if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { - return .offscreenCanvas(offscreenCanvas) - } + if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { return .offscreenCanvas(offscreenCanvas) } return nil } public var jsValue: JSValue { switch self { - case let .htmlCanvasElement(htmlCanvasElement): - return htmlCanvasElement.jsValue - case let .offscreenCanvas(offscreenCanvas): - return offscreenCanvas.jsValue + case let .htmlCanvasElement(htmlCanvasElement): return htmlCanvasElement.jsValue + case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas.jsValue } } } - public protocol Any_HTMLElement_or_Int32: ConvertibleToJSValue {} extension HTMLElement: Any_HTMLElement_or_Int32 {} extension Int32: Any_HTMLElement_or_Int32 {} @@ -22472,12 +23997,11 @@ public enum HTMLElement_or_Int32: JSValueCompatible, Any_HTMLElement_or_Int32 { case htmlElement(HTMLElement) case int32(Int32) - init(_ htmlElement: HTMLElement) { + public init(_ htmlElement: HTMLElement) { let val: HTMLElement_or_Int32 = .htmlElement(htmlElement) self = val } - - init(_ int32: Int32) { + public init(_ int32: Int32) { let val: HTMLElement_or_Int32 = .int32(int32) self = val } @@ -22488,7 +24012,6 @@ public enum HTMLElement_or_Int32: JSValueCompatible, Any_HTMLElement_or_Int32 { default: return nil } } - public var int32: Int32? { switch self { case let .int32(int32): return int32 @@ -22497,25 +24020,18 @@ public enum HTMLElement_or_Int32: JSValueCompatible, Any_HTMLElement_or_Int32 { } public static func construct(from value: JSValue) -> Self? { - if let htmlElement: HTMLElement = value.fromJSValue() { - return .htmlElement(htmlElement) - } - if let int32: Int32 = value.fromJSValue() { - return .int32(int32) - } + if let htmlElement: HTMLElement = value.fromJSValue() { return .htmlElement(htmlElement) } + if let int32: Int32 = value.fromJSValue() { return .int32(int32) } return nil } public var jsValue: JSValue { switch self { - case let .htmlElement(htmlElement): - return htmlElement.jsValue - case let .int32(int32): - return int32.jsValue + case let .htmlElement(htmlElement): return htmlElement.jsValue + case let .int32(int32): return int32.jsValue } } } - public protocol Any_HTMLOptGroupElement_or_HTMLOptionElement: ConvertibleToJSValue {} extension HTMLOptGroupElement: Any_HTMLOptGroupElement_or_HTMLOptionElement {} extension HTMLOptionElement: Any_HTMLOptGroupElement_or_HTMLOptionElement {} @@ -22524,12 +24040,11 @@ public enum HTMLOptGroupElement_or_HTMLOptionElement: JSValueCompatible, Any_HTM case htmlOptGroupElement(HTMLOptGroupElement) case htmlOptionElement(HTMLOptionElement) - init(_ htmlOptGroupElement: HTMLOptGroupElement) { + public init(_ htmlOptGroupElement: HTMLOptGroupElement) { let val: HTMLOptGroupElement_or_HTMLOptionElement = .htmlOptGroupElement(htmlOptGroupElement) self = val } - - init(_ htmlOptionElement: HTMLOptionElement) { + public init(_ htmlOptionElement: HTMLOptionElement) { let val: HTMLOptGroupElement_or_HTMLOptionElement = .htmlOptionElement(htmlOptionElement) self = val } @@ -22540,7 +24055,6 @@ public enum HTMLOptGroupElement_or_HTMLOptionElement: JSValueCompatible, Any_HTM default: return nil } } - public var htmlOptionElement: HTMLOptionElement? { switch self { case let .htmlOptionElement(htmlOptionElement): return htmlOptionElement @@ -22560,39 +24074,34 @@ public enum HTMLOptGroupElement_or_HTMLOptionElement: JSValueCompatible, Any_HTM public var jsValue: JSValue { switch self { - case let .htmlOptGroupElement(htmlOptGroupElement): - return htmlOptGroupElement.jsValue - case let .htmlOptionElement(htmlOptionElement): - return htmlOptionElement.jsValue + case let .htmlOptGroupElement(htmlOptGroupElement): return htmlOptGroupElement.jsValue + case let .htmlOptionElement(htmlOptionElement): return htmlOptionElement.jsValue } } } - public protocol Any_HeadersInit: ConvertibleToJSValue {} -extension Dictionary: Any_HeadersInit where Key == String, Value == String {} +extension JSObject: Any_HeadersInit {} extension Array: Any_HeadersInit where Element == [String] {} public enum HeadersInit: JSValueCompatible, Any_HeadersInit { - case record_String_to_String([String: String]) + case record_String_to_String(JSObject) case seq_of_seq_of_String([[String]]) - init(_ record_String_to_String: [String: String]) { + public init(_ record_String_to_String: JSObject) { let val: HeadersInit = .record_String_to_String(record_String_to_String) self = val } - - init(_ seq_of_seq_of_String: [[String]]) { + public init(_ seq_of_seq_of_String: [[String]]) { let val: HeadersInit = .seq_of_seq_of_String(seq_of_seq_of_String) self = val } - public var record_String_to_String: [String: String]? { + public var record_String_to_String: JSObject? { switch self { case let .record_String_to_String(record_String_to_String): return record_String_to_String default: return nil } } - public var seq_of_seq_of_String: [[String]]? { switch self { case let .seq_of_seq_of_String(seq_of_seq_of_String): return seq_of_seq_of_String @@ -22601,7 +24110,7 @@ public enum HeadersInit: JSValueCompatible, Any_HeadersInit { } public static func construct(from value: JSValue) -> Self? { - if let record_String_to_String: [String: String] = value.fromJSValue() { + if let record_String_to_String: JSObject = value.fromJSValue() { return .record_String_to_String(record_String_to_String) } if let seq_of_seq_of_String: [[String]] = value.fromJSValue() { @@ -22612,14 +24121,11 @@ public enum HeadersInit: JSValueCompatible, Any_HeadersInit { public var jsValue: JSValue { switch self { - case let .record_String_to_String(record_String_to_String): - return record_String_to_String.jsValue - case let .seq_of_seq_of_String(seq_of_seq_of_String): - return seq_of_seq_of_String.jsValue + case let .record_String_to_String(record_String_to_String): return record_String_to_String.jsValue + case let .seq_of_seq_of_String(seq_of_seq_of_String): return seq_of_seq_of_String.jsValue } } } - public protocol Any_ImageBitmapSource: ConvertibleToJSValue {} extension Blob: Any_ImageBitmapSource {} extension CanvasImageSource: Any_ImageBitmapSource {} @@ -22630,47 +24136,39 @@ public enum ImageBitmapSource: JSValueCompatible, Any_ImageBitmapSource { case canvasImageSource(CanvasImageSource) case imageData(ImageData) - init(_ blob: Blob) { + public init(_ blob: Blob) { let val: ImageBitmapSource = .blob(blob) self = val } - - init(_ canvasImageSource: CanvasImageSource) { + public init(_ canvasImageSource: CanvasImageSource) { let val: ImageBitmapSource = .canvasImageSource(canvasImageSource) self = val } - - init(_ htmlCanvasElement: HTMLCanvasElement) { + public init(_ htmlCanvasElement: HTMLCanvasElement) { let val: CanvasImageSource = .htmlCanvasElement(htmlCanvasElement) self = .init(val) } - - init(_ htmlImageElement: HTMLImageElement) { - let val: CanvasImageSource = .htmlOrSVGImageElement(htmlImageElement) + public init(_ htmlOrSVGImageElement: HTMLOrSVGImageElement) { + let val: CanvasImageSource = .htmlOrSVGImageElement(htmlOrSVGImageElement) self = .init(val) } - - init(_ htmlVideoElement: HTMLVideoElement) { + public init(_ htmlVideoElement: HTMLVideoElement) { let val: CanvasImageSource = .htmlVideoElement(htmlVideoElement) self = .init(val) } - - init(_ imageBitmap: ImageBitmap) { + public init(_ imageBitmap: ImageBitmap) { let val: CanvasImageSource = .imageBitmap(imageBitmap) self = .init(val) } - - init(_ offscreenCanvas: OffscreenCanvas) { + public init(_ offscreenCanvas: OffscreenCanvas) { let val: CanvasImageSource = .offscreenCanvas(offscreenCanvas) self = .init(val) } - - init(_ videoFrame: VideoFrame) { + public init(_ videoFrame: VideoFrame) { let val: CanvasImageSource = .videoFrame(videoFrame) self = .init(val) } - - init(_ imageData: ImageData) { + public init(_ imageData: ImageData) { let val: ImageBitmapSource = .imageData(imageData) self = val } @@ -22681,14 +24179,12 @@ public enum ImageBitmapSource: JSValueCompatible, Any_ImageBitmapSource { default: return nil } } - public var canvasImageSource: CanvasImageSource? { switch self { case let .canvasImageSource(canvasImageSource): return canvasImageSource default: return nil } } - public var imageData: ImageData? { switch self { case let .imageData(imageData): return imageData @@ -22697,30 +24193,22 @@ public enum ImageBitmapSource: JSValueCompatible, Any_ImageBitmapSource { } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { - return .blob(blob) - } + if let blob: Blob = value.fromJSValue() { return .blob(blob) } if let canvasImageSource: CanvasImageSource = value.fromJSValue() { return .canvasImageSource(canvasImageSource) } - if let imageData: ImageData = value.fromJSValue() { - return .imageData(imageData) - } + if let imageData: ImageData = value.fromJSValue() { return .imageData(imageData) } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): - return blob.jsValue - case let .canvasImageSource(canvasImageSource): - return canvasImageSource.jsValue - case let .imageData(imageData): - return imageData.jsValue + case let .blob(blob): return blob.jsValue + case let .canvasImageSource(canvasImageSource): return canvasImageSource.jsValue + case let .imageData(imageData): return imageData.jsValue } } } - public protocol Any_ImageBufferSource: ConvertibleToJSValue {} extension BufferSource: Any_ImageBufferSource {} extension ReadableStream: Any_ImageBufferSource {} @@ -22729,22 +24217,19 @@ public enum ImageBufferSource: JSValueCompatible, Any_ImageBufferSource { case bufferSource(BufferSource) case readableStream(ReadableStream) - init(_ bufferSource: BufferSource) { + public init(_ bufferSource: BufferSource) { let val: ImageBufferSource = .bufferSource(bufferSource) self = val } - - init(_ arrayBuffer: ArrayBuffer) { + public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } - - init(_ arrayBufferView: ArrayBufferView) { + public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } - - init(_ readableStream: ReadableStream) { + public init(_ readableStream: ReadableStream) { let val: ImageBufferSource = .readableStream(readableStream) self = val } @@ -22755,7 +24240,6 @@ public enum ImageBufferSource: JSValueCompatible, Any_ImageBufferSource { default: return nil } } - public var readableStream: ReadableStream? { switch self { case let .readableStream(readableStream): return readableStream @@ -22764,25 +24248,18 @@ public enum ImageBufferSource: JSValueCompatible, Any_ImageBufferSource { } public static func construct(from value: JSValue) -> Self? { - if let bufferSource: BufferSource = value.fromJSValue() { - return .bufferSource(bufferSource) - } - if let readableStream: ReadableStream = value.fromJSValue() { - return .readableStream(readableStream) - } + if let bufferSource: BufferSource = value.fromJSValue() { return .bufferSource(bufferSource) } + if let readableStream: ReadableStream = value.fromJSValue() { return .readableStream(readableStream) } return nil } public var jsValue: JSValue { switch self { - case let .bufferSource(bufferSource): - return bufferSource.jsValue - case let .readableStream(readableStream): - return readableStream.jsValue + case let .bufferSource(bufferSource): return bufferSource.jsValue + case let .readableStream(readableStream): return readableStream.jsValue } } } - public protocol Any_MediaProvider: ConvertibleToJSValue {} extension Blob: Any_MediaProvider {} extension MediaSource: Any_MediaProvider {} @@ -22793,17 +24270,15 @@ public enum MediaProvider: JSValueCompatible, Any_MediaProvider { case mediaSource(MediaSource) case mediaStream(MediaStream) - init(_ blob: Blob) { + public init(_ blob: Blob) { let val: MediaProvider = .blob(blob) self = val } - - init(_ mediaSource: MediaSource) { + public init(_ mediaSource: MediaSource) { let val: MediaProvider = .mediaSource(mediaSource) self = val } - - init(_ mediaStream: MediaStream) { + public init(_ mediaStream: MediaStream) { let val: MediaProvider = .mediaStream(mediaStream) self = val } @@ -22814,14 +24289,12 @@ public enum MediaProvider: JSValueCompatible, Any_MediaProvider { default: return nil } } - public var mediaSource: MediaSource? { switch self { case let .mediaSource(mediaSource): return mediaSource default: return nil } } - public var mediaStream: MediaStream? { switch self { case let .mediaStream(mediaStream): return mediaStream @@ -22830,30 +24303,20 @@ public enum MediaProvider: JSValueCompatible, Any_MediaProvider { } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { - return .blob(blob) - } - if let mediaSource: MediaSource = value.fromJSValue() { - return .mediaSource(mediaSource) - } - if let mediaStream: MediaStream = value.fromJSValue() { - return .mediaStream(mediaStream) - } + if let blob: Blob = value.fromJSValue() { return .blob(blob) } + if let mediaSource: MediaSource = value.fromJSValue() { return .mediaSource(mediaSource) } + if let mediaStream: MediaStream = value.fromJSValue() { return .mediaStream(mediaStream) } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): - return blob.jsValue - case let .mediaSource(mediaSource): - return mediaSource.jsValue - case let .mediaStream(mediaStream): - return mediaStream.jsValue + case let .blob(blob): return blob.jsValue + case let .mediaSource(mediaSource): return mediaSource.jsValue + case let .mediaStream(mediaStream): return mediaStream.jsValue } } } - public protocol Any_MessageEventSource: ConvertibleToJSValue {} extension MessagePort: Any_MessageEventSource {} extension ServiceWorker: Any_MessageEventSource {} @@ -22864,17 +24327,15 @@ public enum MessageEventSource: JSValueCompatible, Any_MessageEventSource { case serviceWorker(ServiceWorker) case windowProxy(WindowProxy) - init(_ messagePort: MessagePort) { + public init(_ messagePort: MessagePort) { let val: MessageEventSource = .messagePort(messagePort) self = val } - - init(_ serviceWorker: ServiceWorker) { + public init(_ serviceWorker: ServiceWorker) { let val: MessageEventSource = .serviceWorker(serviceWorker) self = val } - - init(_ windowProxy: WindowProxy) { + public init(_ windowProxy: WindowProxy) { let val: MessageEventSource = .windowProxy(windowProxy) self = val } @@ -22885,14 +24346,12 @@ public enum MessageEventSource: JSValueCompatible, Any_MessageEventSource { default: return nil } } - public var serviceWorker: ServiceWorker? { switch self { case let .serviceWorker(serviceWorker): return serviceWorker default: return nil } } - public var windowProxy: WindowProxy? { switch self { case let .windowProxy(windowProxy): return windowProxy @@ -22901,30 +24360,20 @@ public enum MessageEventSource: JSValueCompatible, Any_MessageEventSource { } public static func construct(from value: JSValue) -> Self? { - if let messagePort: MessagePort = value.fromJSValue() { - return .messagePort(messagePort) - } - if let serviceWorker: ServiceWorker = value.fromJSValue() { - return .serviceWorker(serviceWorker) - } - if let windowProxy: WindowProxy = value.fromJSValue() { - return .windowProxy(windowProxy) - } + if let messagePort: MessagePort = value.fromJSValue() { return .messagePort(messagePort) } + if let serviceWorker: ServiceWorker = value.fromJSValue() { return .serviceWorker(serviceWorker) } + if let windowProxy: WindowProxy = value.fromJSValue() { return .windowProxy(windowProxy) } return nil } public var jsValue: JSValue { switch self { - case let .messagePort(messagePort): - return messagePort.jsValue - case let .serviceWorker(serviceWorker): - return serviceWorker.jsValue - case let .windowProxy(windowProxy): - return windowProxy.jsValue + case let .messagePort(messagePort): return messagePort.jsValue + case let .serviceWorker(serviceWorker): return serviceWorker.jsValue + case let .windowProxy(windowProxy): return windowProxy.jsValue } } } - public protocol Any_Node_or_String: ConvertibleToJSValue {} extension Node: Any_Node_or_String {} extension String: Any_Node_or_String {} @@ -22933,12 +24382,11 @@ public enum Node_or_String: JSValueCompatible, Any_Node_or_String { case node(Node) case string(String) - init(_ node: Node) { + public init(_ node: Node) { let val: Node_or_String = .node(node) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: Node_or_String = .string(string) self = val } @@ -22949,7 +24397,6 @@ public enum Node_or_String: JSValueCompatible, Any_Node_or_String { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -22958,25 +24405,18 @@ public enum Node_or_String: JSValueCompatible, Any_Node_or_String { } public static func construct(from value: JSValue) -> Self? { - if let node: Node = value.fromJSValue() { - return .node(node) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let node: Node = value.fromJSValue() { return .node(node) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .node(node): - return node.jsValue - case let .string(string): - return string.jsValue + case let .node(node): return node.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_Path2D_or_String: ConvertibleToJSValue {} extension Path2D: Any_Path2D_or_String {} extension String: Any_Path2D_or_String {} @@ -22985,12 +24425,11 @@ public enum Path2D_or_String: JSValueCompatible, Any_Path2D_or_String { case path2D(Path2D) case string(String) - init(_ path2D: Path2D) { + public init(_ path2D: Path2D) { let val: Path2D_or_String = .path2D(path2D) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: Path2D_or_String = .string(string) self = val } @@ -23001,7 +24440,6 @@ public enum Path2D_or_String: JSValueCompatible, Any_Path2D_or_String { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -23010,25 +24448,18 @@ public enum Path2D_or_String: JSValueCompatible, Any_Path2D_or_String { } public static func construct(from value: JSValue) -> Self? { - if let path2D: Path2D = value.fromJSValue() { - return .path2D(path2D) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let path2D: Path2D = value.fromJSValue() { return .path2D(path2D) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .path2D(path2D): - return path2D.jsValue - case let .string(string): - return string.jsValue + case let .path2D(path2D): return path2D.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_ReadableStreamController: ConvertibleToJSValue {} extension ReadableByteStreamController: Any_ReadableStreamController {} extension ReadableStreamDefaultController: Any_ReadableStreamController {} @@ -23037,12 +24468,11 @@ public enum ReadableStreamController: JSValueCompatible, Any_ReadableStreamContr case readableByteStreamController(ReadableByteStreamController) case readableStreamDefaultController(ReadableStreamDefaultController) - init(_ readableByteStreamController: ReadableByteStreamController) { + public init(_ readableByteStreamController: ReadableByteStreamController) { let val: ReadableStreamController = .readableByteStreamController(readableByteStreamController) self = val } - - init(_ readableStreamDefaultController: ReadableStreamDefaultController) { + public init(_ readableStreamDefaultController: ReadableStreamDefaultController) { let val: ReadableStreamController = .readableStreamDefaultController(readableStreamDefaultController) self = val } @@ -23053,10 +24483,10 @@ public enum ReadableStreamController: JSValueCompatible, Any_ReadableStreamContr default: return nil } } - public var readableStreamDefaultController: ReadableStreamDefaultController? { switch self { - case let .readableStreamDefaultController(readableStreamDefaultController): return readableStreamDefaultController + case let .readableStreamDefaultController(readableStreamDefaultController): + return readableStreamDefaultController default: return nil } } @@ -23080,7 +24510,6 @@ public enum ReadableStreamController: JSValueCompatible, Any_ReadableStreamContr } } } - public protocol Any_ReadableStreamReader: ConvertibleToJSValue {} extension ReadableStreamBYOBReader: Any_ReadableStreamReader {} extension ReadableStreamDefaultReader: Any_ReadableStreamReader {} @@ -23089,12 +24518,11 @@ public enum ReadableStreamReader: JSValueCompatible, Any_ReadableStreamReader { case readableStreamBYOBReader(ReadableStreamBYOBReader) case readableStreamDefaultReader(ReadableStreamDefaultReader) - init(_ readableStreamBYOBReader: ReadableStreamBYOBReader) { + public init(_ readableStreamBYOBReader: ReadableStreamBYOBReader) { let val: ReadableStreamReader = .readableStreamBYOBReader(readableStreamBYOBReader) self = val } - - init(_ readableStreamDefaultReader: ReadableStreamDefaultReader) { + public init(_ readableStreamDefaultReader: ReadableStreamDefaultReader) { let val: ReadableStreamReader = .readableStreamDefaultReader(readableStreamDefaultReader) self = val } @@ -23105,7 +24533,6 @@ public enum ReadableStreamReader: JSValueCompatible, Any_ReadableStreamReader { default: return nil } } - public var readableStreamDefaultReader: ReadableStreamDefaultReader? { switch self { case let .readableStreamDefaultReader(readableStreamDefaultReader): return readableStreamDefaultReader @@ -23125,14 +24552,11 @@ public enum ReadableStreamReader: JSValueCompatible, Any_ReadableStreamReader { public var jsValue: JSValue { switch self { - case let .readableStreamBYOBReader(readableStreamBYOBReader): - return readableStreamBYOBReader.jsValue - case let .readableStreamDefaultReader(readableStreamDefaultReader): - return readableStreamDefaultReader.jsValue + case let .readableStreamBYOBReader(readableStreamBYOBReader): return readableStreamBYOBReader.jsValue + case let .readableStreamDefaultReader(readableStreamDefaultReader): return readableStreamDefaultReader.jsValue } } } - public protocol Any_RequestInfo: ConvertibleToJSValue {} extension Request: Any_RequestInfo {} extension String: Any_RequestInfo {} @@ -23141,12 +24565,11 @@ public enum RequestInfo: JSValueCompatible, Any_RequestInfo { case request(Request) case string(String) - init(_ request: Request) { + public init(_ request: Request) { let val: RequestInfo = .request(request) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: RequestInfo = .string(string) self = val } @@ -23157,7 +24580,6 @@ public enum RequestInfo: JSValueCompatible, Any_RequestInfo { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -23166,25 +24588,18 @@ public enum RequestInfo: JSValueCompatible, Any_RequestInfo { } public static func construct(from value: JSValue) -> Self? { - if let request: Request = value.fromJSValue() { - return .request(request) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let request: Request = value.fromJSValue() { return .request(request) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .request(request): - return request.jsValue - case let .string(string): - return string.jsValue + case let .request(request): return request.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_String_or_WorkerOptions: ConvertibleToJSValue {} extension String: Any_String_or_WorkerOptions {} extension WorkerOptions: Any_String_or_WorkerOptions {} @@ -23193,12 +24608,11 @@ public enum String_or_WorkerOptions: JSValueCompatible, Any_String_or_WorkerOpti case string(String) case workerOptions(WorkerOptions) - init(_ string: String) { + public init(_ string: String) { let val: String_or_WorkerOptions = .string(string) self = val } - - init(_ workerOptions: WorkerOptions) { + public init(_ workerOptions: WorkerOptions) { let val: String_or_WorkerOptions = .workerOptions(workerOptions) self = val } @@ -23209,7 +24623,6 @@ public enum String_or_WorkerOptions: JSValueCompatible, Any_String_or_WorkerOpti default: return nil } } - public var workerOptions: WorkerOptions? { switch self { case let .workerOptions(workerOptions): return workerOptions @@ -23218,25 +24631,18 @@ public enum String_or_WorkerOptions: JSValueCompatible, Any_String_or_WorkerOpti } public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { - return .string(string) - } - if let workerOptions: WorkerOptions = value.fromJSValue() { - return .workerOptions(workerOptions) - } + if let string: String = value.fromJSValue() { return .string(string) } + if let workerOptions: WorkerOptions = value.fromJSValue() { return .workerOptions(workerOptions) } return nil } public var jsValue: JSValue { switch self { - case let .string(string): - return string.jsValue - case let .workerOptions(workerOptions): - return workerOptions.jsValue + case let .string(string): return string.jsValue + case let .workerOptions(workerOptions): return workerOptions.jsValue } } } - public protocol Any_String_or_seq_of_Double: ConvertibleToJSValue {} extension String: Any_String_or_seq_of_Double {} extension Array: Any_String_or_seq_of_Double where Element == Double {} @@ -23245,12 +24651,11 @@ public enum String_or_seq_of_Double: JSValueCompatible, Any_String_or_seq_of_Dou case string(String) case seq_of_Double([Double]) - init(_ string: String) { + public init(_ string: String) { let val: String_or_seq_of_Double = .string(string) self = val } - - init(_ seq_of_Double: [Double]) { + public init(_ seq_of_Double: [Double]) { let val: String_or_seq_of_Double = .seq_of_Double(seq_of_Double) self = val } @@ -23261,7 +24666,6 @@ public enum String_or_seq_of_Double: JSValueCompatible, Any_String_or_seq_of_Dou default: return nil } } - public var seq_of_Double: [Double]? { switch self { case let .seq_of_Double(seq_of_Double): return seq_of_Double @@ -23270,25 +24674,18 @@ public enum String_or_seq_of_Double: JSValueCompatible, Any_String_or_seq_of_Dou } public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { - return .string(string) - } - if let seq_of_Double: [Double] = value.fromJSValue() { - return .seq_of_Double(seq_of_Double) - } + if let string: String = value.fromJSValue() { return .string(string) } + if let seq_of_Double: [Double] = value.fromJSValue() { return .seq_of_Double(seq_of_Double) } return nil } public var jsValue: JSValue { switch self { - case let .string(string): - return string.jsValue - case let .seq_of_Double(seq_of_Double): - return seq_of_Double.jsValue + case let .string(string): return string.jsValue + case let .seq_of_Double(seq_of_Double): return seq_of_Double.jsValue } } } - public protocol Any_String_or_seq_of_String: ConvertibleToJSValue {} extension String: Any_String_or_seq_of_String {} extension Array: Any_String_or_seq_of_String where Element == String {} @@ -23297,12 +24694,11 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str case string(String) case seq_of_String([String]) - init(_ string: String) { + public init(_ string: String) { let val: String_or_seq_of_String = .string(string) self = val } - - init(_ seq_of_String: [String]) { + public init(_ seq_of_String: [String]) { let val: String_or_seq_of_String = .seq_of_String(seq_of_String) self = val } @@ -23313,7 +24709,6 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str default: return nil } } - public var seq_of_String: [String]? { switch self { case let .seq_of_String(seq_of_String): return seq_of_String @@ -23322,25 +24717,18 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str } public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { - return .string(string) - } - if let seq_of_String: [String] = value.fromJSValue() { - return .seq_of_String(seq_of_String) - } + if let string: String = value.fromJSValue() { return .string(string) } + if let seq_of_String: [String] = value.fromJSValue() { return .seq_of_String(seq_of_String) } return nil } public var jsValue: JSValue { switch self { - case let .string(string): - return string.jsValue - case let .seq_of_String(seq_of_String): - return seq_of_String.jsValue + case let .string(string): return string.jsValue + case let .seq_of_String(seq_of_String): return seq_of_String.jsValue } } } - public protocol Any_TimerHandler: ConvertibleToJSValue {} extension JSFunction: Any_TimerHandler {} extension String: Any_TimerHandler {} @@ -23349,12 +24737,11 @@ public enum TimerHandler: JSValueCompatible, Any_TimerHandler { case jsFunction(JSFunction) case string(String) - init(_ jsFunction: JSFunction) { + public init(_ jsFunction: JSFunction) { let val: TimerHandler = .jsFunction(jsFunction) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: TimerHandler = .string(string) self = val } @@ -23365,7 +24752,6 @@ public enum TimerHandler: JSValueCompatible, Any_TimerHandler { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -23374,25 +24760,118 @@ public enum TimerHandler: JSValueCompatible, Any_TimerHandler { } public static func construct(from value: JSValue) -> Self? { - if let jsFunction: JSFunction = value.fromJSValue() { - return .jsFunction(jsFunction) + if let jsFunction: JSFunction = value.fromJSValue() { return .jsFunction(jsFunction) } + if let string: String = value.fromJSValue() { return .string(string) } + return nil + } + + public var jsValue: JSValue { + switch self { + case let .jsFunction(jsFunction): return jsFunction.jsValue + case let .string(string): return string.jsValue + } + } +} +public protocol Any_TrustedType: ConvertibleToJSValue {} +extension TrustedHTML: Any_TrustedType {} +extension TrustedScript: Any_TrustedType {} +extension TrustedScriptURL: Any_TrustedType {} + +public enum TrustedType: JSValueCompatible, Any_TrustedType { + case trustedHTML(TrustedHTML) + case trustedScript(TrustedScript) + case trustedScriptURL(TrustedScriptURL) + + public init(_ trustedHTML: TrustedHTML) { + let val: TrustedType = .trustedHTML(trustedHTML) + self = val + } + public init(_ trustedScript: TrustedScript) { + let val: TrustedType = .trustedScript(trustedScript) + self = val + } + public init(_ trustedScriptURL: TrustedScriptURL) { + let val: TrustedType = .trustedScriptURL(trustedScriptURL) + self = val + } + + public var trustedHTML: TrustedHTML? { + switch self { + case let .trustedHTML(trustedHTML): return trustedHTML + default: return nil + } + } + public var trustedScript: TrustedScript? { + switch self { + case let .trustedScript(trustedScript): return trustedScript + default: return nil } - if let string: String = value.fromJSValue() { - return .string(string) + } + public var trustedScriptURL: TrustedScriptURL? { + switch self { + case let .trustedScriptURL(trustedScriptURL): return trustedScriptURL + default: return nil } + } + + public static func construct(from value: JSValue) -> Self? { + if let trustedHTML: TrustedHTML = value.fromJSValue() { return .trustedHTML(trustedHTML) } + if let trustedScript: TrustedScript = value.fromJSValue() { return .trustedScript(trustedScript) } + if let trustedScriptURL: TrustedScriptURL = value.fromJSValue() { return .trustedScriptURL(trustedScriptURL) } return nil } public var jsValue: JSValue { switch self { - case let .jsFunction(jsFunction): - return jsFunction.jsValue - case let .string(string): - return string.jsValue + case let .trustedHTML(trustedHTML): return trustedHTML.jsValue + case let .trustedScript(trustedScript): return trustedScript.jsValue + case let .trustedScriptURL(trustedScriptURL): return trustedScriptURL.jsValue } } } +public protocol Any_URLPatternInput: ConvertibleToJSValue {} +extension String: Any_URLPatternInput {} +extension URLPatternInit: Any_URLPatternInput {} + +public enum URLPatternInput: JSValueCompatible, Any_URLPatternInput { + case string(String) + case urlPatternInit(URLPatternInit) + + public init(_ string: String) { + let val: URLPatternInput = .string(string) + self = val + } + public init(_ urlPatternInit: URLPatternInit) { + let val: URLPatternInput = .urlPatternInit(urlPatternInit) + self = val + } + + public var string: String? { + switch self { + case let .string(string): return string + default: return nil + } + } + public var urlPatternInit: URLPatternInit? { + switch self { + case let .urlPatternInit(urlPatternInit): return urlPatternInit + default: return nil + } + } + public static func construct(from value: JSValue) -> Self? { + if let string: String = value.fromJSValue() { return .string(string) } + if let urlPatternInit: URLPatternInit = value.fromJSValue() { return .urlPatternInit(urlPatternInit) } + return nil + } + + public var jsValue: JSValue { + switch self { + case let .string(string): return string.jsValue + case let .urlPatternInit(urlPatternInit): return urlPatternInit.jsValue + } + } +} public protocol Any_XMLHttpRequestBodyInit: ConvertibleToJSValue {} extension Blob: Any_XMLHttpRequestBodyInit {} extension BufferSource: Any_XMLHttpRequestBodyInit {} @@ -23407,37 +24886,31 @@ public enum XMLHttpRequestBodyInit: JSValueCompatible, Any_XMLHttpRequestBodyIni case string(String) case urlSearchParams(URLSearchParams) - init(_ blob: Blob) { + public init(_ blob: Blob) { let val: XMLHttpRequestBodyInit = .blob(blob) self = val } - - init(_ bufferSource: BufferSource) { + public init(_ bufferSource: BufferSource) { let val: XMLHttpRequestBodyInit = .bufferSource(bufferSource) self = val } - - init(_ arrayBuffer: ArrayBuffer) { + public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } - - init(_ arrayBufferView: ArrayBufferView) { + public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } - - init(_ formData: FormData) { + public init(_ formData: FormData) { let val: XMLHttpRequestBodyInit = .formData(formData) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: XMLHttpRequestBodyInit = .string(string) self = val } - - init(_ urlSearchParams: URLSearchParams) { + public init(_ urlSearchParams: URLSearchParams) { let val: XMLHttpRequestBodyInit = .urlSearchParams(urlSearchParams) self = val } @@ -23448,28 +24921,24 @@ public enum XMLHttpRequestBodyInit: JSValueCompatible, Any_XMLHttpRequestBodyIni default: return nil } } - public var bufferSource: BufferSource? { switch self { case let .bufferSource(bufferSource): return bufferSource default: return nil } } - public var formData: FormData? { switch self { case let .formData(formData): return formData default: return nil } } - public var string: String? { switch self { case let .string(string): return string default: return nil } } - public var urlSearchParams: URLSearchParams? { switch self { case let .urlSearchParams(urlSearchParams): return urlSearchParams @@ -23478,36 +24947,21 @@ public enum XMLHttpRequestBodyInit: JSValueCompatible, Any_XMLHttpRequestBodyIni } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { - return .blob(blob) - } - if let bufferSource: BufferSource = value.fromJSValue() { - return .bufferSource(bufferSource) - } - if let formData: FormData = value.fromJSValue() { - return .formData(formData) - } - if let string: String = value.fromJSValue() { - return .string(string) - } - if let urlSearchParams: URLSearchParams = value.fromJSValue() { - return .urlSearchParams(urlSearchParams) - } + if let blob: Blob = value.fromJSValue() { return .blob(blob) } + if let bufferSource: BufferSource = value.fromJSValue() { return .bufferSource(bufferSource) } + if let formData: FormData = value.fromJSValue() { return .formData(formData) } + if let string: String = value.fromJSValue() { return .string(string) } + if let urlSearchParams: URLSearchParams = value.fromJSValue() { return .urlSearchParams(urlSearchParams) } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): - return blob.jsValue - case let .bufferSource(bufferSource): - return bufferSource.jsValue - case let .formData(formData): - return formData.jsValue - case let .string(string): - return string.jsValue - case let .urlSearchParams(urlSearchParams): - return urlSearchParams.jsValue + case let .blob(blob): return blob.jsValue + case let .bufferSource(bufferSource): return bufferSource.jsValue + case let .formData(formData): return formData.jsValue + case let .string(string): return string.jsValue + case let .urlSearchParams(urlSearchParams): return urlSearchParams.jsValue } } } diff --git a/Sources/FileSystem/Generated.swift b/Sources/FileSystem/Generated.swift index 44acf7ac..f6dbbe78 100644 --- a/Sources/FileSystem/Generated.swift +++ b/Sources/FileSystem/Generated.swift @@ -3,286 +3,364 @@ import DOM import ECMAScript import JavaScriptBigIntSupport -import JavaScriptEventLoop import JavaScriptKit import WebAPIBase -public class DirectoryPickerOptions: BridgedDictionary { - public convenience init(id: String, startIn: StartInDirectory, mode: FileSystemPermissionMode) { +#if canImport(JavaScriptEventLoop) + import JavaScriptEventLoop +#endif +#if canImport(_Concurrency) + import _Concurrency +#endif + +open class DirectoryPickerOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(id: String? = nil, startIn: StartInDirectory? = nil, mode: FileSystemPermissionMode? = nil) + { let object = JSObject.global[Strings.Object].function!.new() object[Strings.id] = _toJSValue(id) object[Strings.startIn] = _toJSValue(startIn) object[Strings.mode] = _toJSValue(mode) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _id = ReadWriteAttribute(jsObject: object, name: Strings.id) - _startIn = ReadWriteAttribute(jsObject: object, name: Strings.startIn) - _mode = ReadWriteAttribute(jsObject: object, name: Strings.mode) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var id: String - - @ReadWriteAttribute - public var startIn: StartInDirectory + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var mode: FileSystemPermissionMode + @inlinable public var id: String { + get { jsObject[Strings.id].fromJSValue()! } + set { jsObject[Strings.id] = _toJSValue(newValue) } + } + @inlinable public var startIn: StartInDirectory { + get { jsObject[Strings.startIn].fromJSValue()! } + set { jsObject[Strings.startIn] = _toJSValue(newValue) } + } + @inlinable public var mode: FileSystemPermissionMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } } +open class FilePickerAcceptType: JSDictionaryCompatible { + public let jsObject: JSObject -public class FilePickerAcceptType: BridgedDictionary { - public convenience init(description: String, accept: [String: String_or_seq_of_String]) { + public convenience init(description: String? = nil, accept: JSObject? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.description] = _toJSValue(description) object[Strings.accept] = _toJSValue(accept) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _description = ReadWriteAttribute(jsObject: object, name: Strings.description) - _accept = ReadWriteAttribute(jsObject: object, name: Strings.accept) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var description: String + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var accept: [String: String_or_seq_of_String] + @inlinable public var description: String { + get { jsObject[Strings.description].fromJSValue()! } + set { jsObject[Strings.description] = _toJSValue(newValue) } + } + @inlinable public var accept: JSObject { + get { jsObject[Strings.accept].fromJSValue()! } + set { jsObject[Strings.accept] = _toJSValue(newValue) } + } } +open class FilePickerOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class FilePickerOptions: BridgedDictionary { - public convenience init(types: [FilePickerAcceptType], excludeAcceptAllOption: Bool, id: String, startIn: StartInDirectory) { + public convenience init( + types: [FilePickerAcceptType]? = nil, + excludeAcceptAllOption: Bool? = nil, + id: String? = nil, + startIn: StartInDirectory? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.types] = _toJSValue(types) object[Strings.excludeAcceptAllOption] = _toJSValue(excludeAcceptAllOption) object[Strings.id] = _toJSValue(id) object[Strings.startIn] = _toJSValue(startIn) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _types = ReadWriteAttribute(jsObject: object, name: Strings.types) - _excludeAcceptAllOption = ReadWriteAttribute(jsObject: object, name: Strings.excludeAcceptAllOption) - _id = ReadWriteAttribute(jsObject: object, name: Strings.id) - _startIn = ReadWriteAttribute(jsObject: object, name: Strings.startIn) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var types: [FilePickerAcceptType] - - @ReadWriteAttribute - public var excludeAcceptAllOption: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var id: String - - @ReadWriteAttribute - public var startIn: StartInDirectory + @inlinable public var types: [FilePickerAcceptType] { + get { jsObject[Strings.types].fromJSValue()! } + set { jsObject[Strings.types] = _toJSValue(newValue) } + } + @inlinable public var excludeAcceptAllOption: Bool { + get { jsObject[Strings.excludeAcceptAllOption].fromJSValue()! } + set { jsObject[Strings.excludeAcceptAllOption] = _toJSValue(newValue) } + } + @inlinable public var id: String { + get { jsObject[Strings.id].fromJSValue()! } + set { jsObject[Strings.id] = _toJSValue(newValue) } + } + @inlinable public var startIn: StartInDirectory { + get { jsObject[Strings.startIn].fromJSValue()! } + set { jsObject[Strings.startIn] = _toJSValue(newValue) } + } } +open class FileSystemCreateWritableOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class FileSystemCreateWritableOptions: BridgedDictionary { - public convenience init(keepExistingData: Bool) { + public convenience init(keepExistingData: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.keepExistingData] = _toJSValue(keepExistingData) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _keepExistingData = ReadWriteAttribute(jsObject: object, name: Strings.keepExistingData) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var keepExistingData: Bool -} - -public class FileSystemDirectoryHandle: FileSystemHandle, AsyncSequence { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.FileSystemDirectoryHandle].function } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public var keepExistingData: Bool { + get { jsObject[Strings.keepExistingData].fromJSValue()! } + set { jsObject[Strings.keepExistingData] = _toJSValue(newValue) } } - - public typealias Element = String - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - public func makeAsyncIterator() -> ValueIterableAsyncIterator { - ValueIterableAsyncIterator(sequence: self) +} +public class FileSystemDirectoryHandle: FileSystemHandle { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.FileSystemDirectoryHandle].function } - @inlinable public func getFileHandle(name: String, options: FileSystemGetFileOptions? = nil) -> JSPromise { - let this = jsObject - return this[Strings.getFileHandle].function!(this: this, arguments: [_toJSValue(name), _toJSValue(options)]).fromJSValue()! - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func getFileHandle(name: String, options: FileSystemGetFileOptions? = nil) async throws -> FileSystemFileHandle { - let this = jsObject - let _promise: JSPromise = this[Strings.getFileHandle].function!(this: this, arguments: [_toJSValue(name), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + public typealias Element = String + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) public func makeAsyncIterator() + -> ValueIterableAsyncIterator + { ValueIterableAsyncIterator(sequence: self) } + #endif - @inlinable public func getDirectoryHandle(name: String, options: FileSystemGetDirectoryOptions? = nil) -> JSPromise { + @inlinable final public func getFileHandle(name: String, options: FileSystemGetFileOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.getDirectoryHandle].function!(this: this, arguments: [_toJSValue(name), _toJSValue(options)]).fromJSValue()! + return this[Strings.getFileHandle].function!(this: this, arguments: [_toJSValue(name), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func getDirectoryHandle(name: String, options: FileSystemGetDirectoryOptions? = nil) async throws -> FileSystemDirectoryHandle { - let this = jsObject - let _promise: JSPromise = this[Strings.getDirectoryHandle].function!(this: this, arguments: [_toJSValue(name), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getFileHandle( + name: String, + options: FileSystemGetFileOptions? = nil + ) async throws(JSException) -> FileSystemFileHandle { + let this = jsObject + let _promise: JSPromise = this[Strings.getFileHandle].function!( + this: this, + arguments: [_toJSValue(name), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif + + @inlinable final public func getDirectoryHandle( + name: String, + options: FileSystemGetDirectoryOptions? = nil + ) -> JSPromise { + let this = jsObject + return this[Strings.getDirectoryHandle].function!( + this: this, + arguments: [_toJSValue(name), _toJSValue(options)] + ).fromJSValue()! + } + + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getDirectoryHandle( + name: String, + options: FileSystemGetDirectoryOptions? = nil + ) async throws(JSException) -> FileSystemDirectoryHandle { + let this = jsObject + let _promise: JSPromise = this[Strings.getDirectoryHandle].function!( + this: this, + arguments: [_toJSValue(name), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func removeEntry(name: String, options: FileSystemRemoveOptions? = nil) -> JSPromise { + @inlinable final public func removeEntry(name: String, options: FileSystemRemoveOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.removeEntry].function!(this: this, arguments: [_toJSValue(name), _toJSValue(options)]).fromJSValue()! + return this[Strings.removeEntry].function!(this: this, arguments: [_toJSValue(name), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func removeEntry(name: String, options: FileSystemRemoveOptions? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.removeEntry].function!(this: this, arguments: [_toJSValue(name), _toJSValue(options)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func removeEntry( + name: String, + options: FileSystemRemoveOptions? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.removeEntry].function!( + this: this, + arguments: [_toJSValue(name), _toJSValue(options)] + ).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func resolve(possibleDescendant: FileSystemHandle) -> JSPromise { + @inlinable final public func resolve(possibleDescendant: FileSystemHandle) -> JSPromise { let this = jsObject return this[Strings.resolve].function!(this: this, arguments: [_toJSValue(possibleDescendant)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func resolve(possibleDescendant: FileSystemHandle) async throws -> [String]? { - let this = jsObject - let _promise: JSPromise = this[Strings.resolve].function!(this: this, arguments: [_toJSValue(possibleDescendant)]).fromJSValue()! - return try await _promise.value.fromJSValue() - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func resolve( + possibleDescendant: FileSystemHandle + ) async throws(JSException) -> [String]? { + let this = jsObject + let _promise: JSPromise = this[Strings.resolve].function!( + this: this, + arguments: [_toJSValue(possibleDescendant)] + ).fromJSValue()! + return try await _promise.value.fromJSValue() + } + #endif } -public class FileSystemFileHandle: FileSystemHandle { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.FileSystemFileHandle].function } +#if canImport(JavaScriptEventLoop) + extension FileSystemDirectoryHandle: AsyncSequence {} +#endif - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) +public class FileSystemFileHandle: FileSystemHandle { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.FileSystemFileHandle].function } - @inlinable public func getFile() -> JSPromise { + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable final public func getFile() -> JSPromise { let this = jsObject return this[Strings.getFile].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func getFile() async throws -> File { - let this = jsObject - let _promise: JSPromise = this[Strings.getFile].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getFile() + async throws(JSException) -> File + { + let this = jsObject + let _promise: JSPromise = this[Strings.getFile].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func createWritable(options: FileSystemCreateWritableOptions? = nil) -> JSPromise { + @inlinable final public func createWritable(options: FileSystemCreateWritableOptions? = nil) -> JSPromise { let this = jsObject return this[Strings.createWritable].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func createWritable(options: FileSystemCreateWritableOptions? = nil) async throws -> FileSystemWritableFileStream { - let this = jsObject - let _promise: JSPromise = this[Strings.createWritable].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func createWritable( + options: FileSystemCreateWritableOptions? = nil + ) async throws(JSException) -> FileSystemWritableFileStream { + let this = jsObject + let _promise: JSPromise = this[Strings.createWritable].function!( + this: this, + arguments: [_toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif // XXX: member 'createSyncAccessHandle' is ignored // XXX: member 'createSyncAccessHandle' is ignored } -public class FileSystemGetDirectoryOptions: BridgedDictionary { - public convenience init(create: Bool) { +open class FileSystemGetDirectoryOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(create: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.create] = _toJSValue(create) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _create = ReadWriteAttribute(jsObject: object, name: Strings.create) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var create: Bool + @inlinable public var create: Bool { + get { jsObject[Strings.create].fromJSValue()! } + set { jsObject[Strings.create] = _toJSValue(newValue) } + } } +open class FileSystemGetFileOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class FileSystemGetFileOptions: BridgedDictionary { - public convenience init(create: Bool) { + public convenience init(create: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.create] = _toJSValue(create) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _create = ReadWriteAttribute(jsObject: object, name: Strings.create) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var create: Bool + @inlinable public var create: Bool { + get { jsObject[Strings.create].fromJSValue()! } + set { jsObject[Strings.create] = _toJSValue(newValue) } + } } - public class FileSystemHandle: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.FileSystemHandle].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var kind: FileSystemHandleKind + @inlinable public var kind: FileSystemHandleKind { jsObject[Strings.kind].fromJSValue()! } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @inlinable public func isSameEntry(other: FileSystemHandle) -> JSPromise { + @inlinable final public func isSameEntry(other: FileSystemHandle) -> JSPromise { let this = jsObject return this[Strings.isSameEntry].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func isSameEntry(other: FileSystemHandle) async throws -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.isSameEntry].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func isSameEntry( + other: FileSystemHandle + ) async throws(JSException) -> Bool { + let this = jsObject + let _promise: JSPromise = this[Strings.isSameEntry].function!(this: this, arguments: [_toJSValue(other)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func queryPermission(descriptor: FileSystemHandlePermissionDescriptor? = nil) -> JSPromise { + @inlinable final public func queryPermission(descriptor: FileSystemHandlePermissionDescriptor? = nil) -> JSPromise { let this = jsObject return this[Strings.queryPermission].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func queryPermission(descriptor: FileSystemHandlePermissionDescriptor? = nil) async throws -> PermissionState { - let this = jsObject - let _promise: JSPromise = this[Strings.queryPermission].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func queryPermission( + descriptor: FileSystemHandlePermissionDescriptor? = nil + ) async throws(JSException) -> PermissionState { + let this = jsObject + let _promise: JSPromise = this[Strings.queryPermission].function!( + this: this, + arguments: [_toJSValue(descriptor)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func requestPermission(descriptor: FileSystemHandlePermissionDescriptor? = nil) -> JSPromise { + @inlinable final public func requestPermission(descriptor: FileSystemHandlePermissionDescriptor? = nil) -> JSPromise + { let this = jsObject return this[Strings.requestPermission].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func requestPermission(descriptor: FileSystemHandlePermissionDescriptor? = nil) async throws -> PermissionState { - let this = jsObject - let _promise: JSPromise = this[Strings.requestPermission].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func requestPermission( + descriptor: FileSystemHandlePermissionDescriptor? = nil + ) async throws(JSException) -> PermissionState { + let this = jsObject + let _promise: JSPromise = this[Strings.requestPermission].function!( + this: this, + arguments: [_toJSValue(descriptor)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } public enum FileSystemHandleKind: JSString, JSValueCompatible { @@ -290,266 +368,301 @@ public enum FileSystemHandleKind: JSString, JSValueCompatible { case directory = "directory" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class FileSystemHandlePermissionDescriptor: JSDictionaryCompatible { + public let jsObject: JSObject -public class FileSystemHandlePermissionDescriptor: BridgedDictionary { - public convenience init(mode: FileSystemPermissionMode) { + public convenience init(mode: FileSystemPermissionMode? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.mode] = _toJSValue(mode) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _mode = ReadWriteAttribute(jsObject: object, name: Strings.mode) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var mode: FileSystemPermissionMode + @inlinable public var mode: FileSystemPermissionMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } } +open class FileSystemPermissionDescriptor: PermissionDescriptor { -public class FileSystemPermissionDescriptor: BridgedDictionary { - public convenience init(handle: FileSystemHandle, mode: FileSystemPermissionMode) { + public convenience init(handle: FileSystemHandle, mode: FileSystemPermissionMode? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.handle] = _toJSValue(handle) object[Strings.mode] = _toJSValue(mode) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _handle = ReadWriteAttribute(jsObject: object, name: Strings.handle) - _mode = ReadWriteAttribute(jsObject: object, name: Strings.mode) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var handle: FileSystemHandle + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var mode: FileSystemPermissionMode + @inlinable public var handle: FileSystemHandle { + get { jsObject[Strings.handle].fromJSValue()! } + set { jsObject[Strings.handle] = _toJSValue(newValue) } + } + @inlinable public var mode: FileSystemPermissionMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } } - public enum FileSystemPermissionMode: JSString, JSValueCompatible { case read = "read" case readwrite = "readwrite" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class FileSystemReadWriteOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class FileSystemReadWriteOptions: BridgedDictionary { - public convenience init(at: UInt64) { + public convenience init(at: UInt64? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.at] = _toJSValue(at) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _at = ReadWriteAttribute(jsObject: object, name: Strings.at) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var at: UInt64 + @inlinable public var at: UInt64 { + get { jsObject[Strings.at].fromJSValue()! } + set { jsObject[Strings.at] = _toJSValue(newValue) } + } } +open class FileSystemRemoveOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class FileSystemRemoveOptions: BridgedDictionary { - public convenience init(recursive: Bool) { + public convenience init(recursive: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.recursive] = _toJSValue(recursive) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _recursive = ReadWriteAttribute(jsObject: object, name: Strings.recursive) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var recursive: Bool + @inlinable public var recursive: Bool { + get { jsObject[Strings.recursive].fromJSValue()! } + set { jsObject[Strings.recursive] = _toJSValue(newValue) } + } } - public class FileSystemWritableFileStream: WritableStream { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.FileSystemWritableFileStream].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.FileSystemWritableFileStream].function } - @inlinable public func write(data: FileSystemWriteChunkType) -> JSPromise { + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable final public func write(data: FileSystemWriteChunkType) -> JSPromise { let this = jsObject return this[Strings.write].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func write(data: FileSystemWriteChunkType) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.write].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func write( + data: FileSystemWriteChunkType + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.write].function!(this: this, arguments: [_toJSValue(data)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func seek(position: UInt64) -> JSPromise { + @inlinable final public func seek(position: UInt64) -> JSPromise { let this = jsObject return this[Strings.seek].function!(this: this, arguments: [_toJSValue(position)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func seek(position: UInt64) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.seek].function!(this: this, arguments: [_toJSValue(position)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func seek( + position: UInt64 + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.seek].function!(this: this, arguments: [_toJSValue(position)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func truncate(size: UInt64) -> JSPromise { + @inlinable final public func truncate(size: UInt64) -> JSPromise { let this = jsObject return this[Strings.truncate].function!(this: this, arguments: [_toJSValue(size)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func truncate(size: UInt64) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.truncate].function!(this: this, arguments: [_toJSValue(size)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func truncate( + size: UInt64 + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.truncate].function!(this: this, arguments: [_toJSValue(size)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif } public protocol NavigatorStorage: JSBridgedClass {} -public extension NavigatorStorage { - @inlinable var storage: StorageManager { jsObject[Strings.storage].fromJSValue()! } +extension NavigatorStorage { + @inlinable public var storage: StorageManager { jsObject[Strings.storage].fromJSValue()! } } - extension Navigator: NavigatorStorage {} -public class OpenFilePickerOptions: BridgedDictionary { - public convenience init(multiple: Bool) { +open class OpenFilePickerOptions: FilePickerOptions { + + public convenience init( + types: [FilePickerAcceptType]? = nil, + excludeAcceptAllOption: Bool? = nil, + id: String? = nil, + startIn: StartInDirectory? = nil, + multiple: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.types] = _toJSValue(types) + object[Strings.excludeAcceptAllOption] = _toJSValue(excludeAcceptAllOption) + object[Strings.id] = _toJSValue(id) + object[Strings.startIn] = _toJSValue(startIn) object[Strings.multiple] = _toJSValue(multiple) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _multiple = ReadWriteAttribute(jsObject: object, name: Strings.multiple) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var multiple: Bool + @inlinable public var multiple: Bool { + get { jsObject[Strings.multiple].fromJSValue()! } + set { jsObject[Strings.multiple] = _toJSValue(newValue) } + } } - -public class SaveFilePickerOptions: BridgedDictionary { - public convenience init(suggestedName: String?) { +open class SaveFilePickerOptions: FilePickerOptions { + + public convenience init( + types: [FilePickerAcceptType]? = nil, + excludeAcceptAllOption: Bool? = nil, + id: String? = nil, + startIn: StartInDirectory? = nil, + suggestedName: String? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.types] = _toJSValue(types) + object[Strings.excludeAcceptAllOption] = _toJSValue(excludeAcceptAllOption) + object[Strings.id] = _toJSValue(id) + object[Strings.startIn] = _toJSValue(startIn) object[Strings.suggestedName] = _toJSValue(suggestedName) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _suggestedName = ReadWriteAttribute(jsObject: object, name: Strings.suggestedName) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var suggestedName: String? + @inlinable public var suggestedName: String? { + get { jsObject[Strings.suggestedName].fromJSValue() } + set { jsObject[Strings.suggestedName] = _toJSValue(newValue) } + } } +open class StorageEstimate: JSDictionaryCompatible { + public let jsObject: JSObject -public class StorageEstimate: BridgedDictionary { - public convenience init(usage: UInt64, quota: UInt64) { + public convenience init(usage: UInt64? = nil, quota: UInt64? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.usage] = _toJSValue(usage) object[Strings.quota] = _toJSValue(quota) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _usage = ReadWriteAttribute(jsObject: object, name: Strings.usage) - _quota = ReadWriteAttribute(jsObject: object, name: Strings.quota) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var usage: UInt64 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var quota: UInt64 + @inlinable public var usage: UInt64 { + get { jsObject[Strings.usage].fromJSValue()! } + set { jsObject[Strings.usage] = _toJSValue(newValue) } + } + @inlinable public var quota: UInt64 { + get { jsObject[Strings.quota].fromJSValue()! } + set { jsObject[Strings.quota] = _toJSValue(newValue) } + } } - public class StorageManager: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.StorageManager].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func getDirectory() -> JSPromise { + @inlinable final public func getDirectory() -> JSPromise { let this = jsObject return this[Strings.getDirectory].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func getDirectory() async throws -> FileSystemDirectoryHandle { - let this = jsObject - let _promise: JSPromise = this[Strings.getDirectory].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getDirectory() + async throws(JSException) -> FileSystemDirectoryHandle + { + let this = jsObject + let _promise: JSPromise = this[Strings.getDirectory].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func persisted() -> JSPromise { + @inlinable final public func persisted() -> JSPromise { let this = jsObject return this[Strings.persisted].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func persisted() async throws -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.persisted].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func persisted() + async throws(JSException) -> Bool + { + let this = jsObject + let _promise: JSPromise = this[Strings.persisted].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func persist() -> JSPromise { + @inlinable final public func persist() -> JSPromise { let this = jsObject return this[Strings.persist].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func persist() async throws -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.persist].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func persist() + async throws(JSException) -> Bool + { + let this = jsObject + let _promise: JSPromise = this[Strings.persist].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func estimate() -> JSPromise { + @inlinable final public func estimate() -> JSPromise { let this = jsObject return this[Strings.estimate].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func estimate() async throws -> StorageEstimate { - let this = jsObject - let _promise: JSPromise = this[Strings.estimate].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func estimate() + async throws(JSException) -> StorageEstimate + { + let this = jsObject + let _promise: JSPromise = this[Strings.estimate].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } public enum WellKnownDirectory: JSString, JSValueCompatible { @@ -561,119 +674,114 @@ public enum WellKnownDirectory: JSString, JSValueCompatible { case videos = "videos" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum WriteCommandType: JSString, JSValueCompatible { case write = "write" case seek = "seek" case truncate = "truncate" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class WriteParams: JSDictionaryCompatible { + public let jsObject: JSObject -public class WriteParams: BridgedDictionary { - public convenience init(type: WriteCommandType, size: UInt64?, position: UInt64?, data: Blob_or_BufferSource_or_String?) { + public convenience init( + type: WriteCommandType, + size: UInt64?, + position: UInt64?, + data: Blob_or_BufferSource_or_String? + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.size] = _toJSValue(size) object[Strings.position] = _toJSValue(position) object[Strings.data] = _toJSValue(data) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _size = ReadWriteAttribute(jsObject: object, name: Strings.size) - _position = ReadWriteAttribute(jsObject: object, name: Strings.position) - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: WriteCommandType - - @ReadWriteAttribute - public var size: UInt64? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var position: UInt64? - - @ReadWriteAttribute - public var data: Blob_or_BufferSource_or_String? + @inlinable public var type: WriteCommandType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var size: UInt64? { + get { jsObject[Strings.size].fromJSValue() } + set { jsObject[Strings.size] = _toJSValue(newValue) } + } + @inlinable public var position: UInt64? { + get { jsObject[Strings.position].fromJSValue() } + set { jsObject[Strings.position] = _toJSValue(newValue) } + } + @inlinable public var data: Blob_or_BufferSource_or_String? { + get { jsObject[Strings.data].fromJSValue() } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } } - @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let FileSystemDirectoryHandle: JSString = "FileSystemDirectoryHandle" - @usableFromInline static let FileSystemFileHandle: JSString = "FileSystemFileHandle" - @usableFromInline static let FileSystemHandle: JSString = "FileSystemHandle" - @usableFromInline static let FileSystemWritableFileStream: JSString = "FileSystemWritableFileStream" - @usableFromInline static let Object: JSString = "Object" - @usableFromInline static let StorageManager: JSString = "StorageManager" - @usableFromInline static let accept: JSString = "accept" - @usableFromInline static let at: JSString = "at" - @usableFromInline static let create: JSString = "create" - @usableFromInline static let createWritable: JSString = "createWritable" - @usableFromInline static let data: JSString = "data" - @usableFromInline static let description: JSString = "description" - @usableFromInline static let estimate: JSString = "estimate" - @usableFromInline static let excludeAcceptAllOption: JSString = "excludeAcceptAllOption" - @usableFromInline static let getDirectory: JSString = "getDirectory" - @usableFromInline static let getDirectoryHandle: JSString = "getDirectoryHandle" - @usableFromInline static let getFile: JSString = "getFile" - @usableFromInline static let getFileHandle: JSString = "getFileHandle" - @usableFromInline static let handle: JSString = "handle" - @usableFromInline static let id: JSString = "id" - @usableFromInline static let isSameEntry: JSString = "isSameEntry" - @usableFromInline static let keepExistingData: JSString = "keepExistingData" - @usableFromInline static let kind: JSString = "kind" - @usableFromInline static let mode: JSString = "mode" - @usableFromInline static let multiple: JSString = "multiple" - @usableFromInline static let name: JSString = "name" - @usableFromInline static let persist: JSString = "persist" - @usableFromInline static let persisted: JSString = "persisted" - @usableFromInline static let position: JSString = "position" - @usableFromInline static let queryPermission: JSString = "queryPermission" - @usableFromInline static let quota: JSString = "quota" - @usableFromInline static let recursive: JSString = "recursive" - @usableFromInline static let removeEntry: JSString = "removeEntry" - @usableFromInline static let requestPermission: JSString = "requestPermission" - @usableFromInline static let resolve: JSString = "resolve" - @usableFromInline static let seek: JSString = "seek" - @usableFromInline static let size: JSString = "size" - @usableFromInline static let startIn: JSString = "startIn" - @usableFromInline static let storage: JSString = "storage" - @usableFromInline static let suggestedName: JSString = "suggestedName" - @usableFromInline static let toString: JSString = "toString" - @usableFromInline static let truncate: JSString = "truncate" - @usableFromInline static let type: JSString = "type" - @usableFromInline static let types: JSString = "types" - @usableFromInline static let usage: JSString = "usage" - @usableFromInline static let write: JSString = "write" + @usableFromInline static let `FileSystemDirectoryHandle`: JSString = "FileSystemDirectoryHandle" + @usableFromInline static let `FileSystemFileHandle`: JSString = "FileSystemFileHandle" + @usableFromInline static let `FileSystemHandle`: JSString = "FileSystemHandle" + @usableFromInline static let `FileSystemWritableFileStream`: JSString = "FileSystemWritableFileStream" + @usableFromInline static let `Object`: JSString = "Object" + @usableFromInline static let `StorageManager`: JSString = "StorageManager" + @usableFromInline static let `accept`: JSString = "accept" + @usableFromInline static let `at`: JSString = "at" + @usableFromInline static let `create`: JSString = "create" + @usableFromInline static let `createWritable`: JSString = "createWritable" + @usableFromInline static let `data`: JSString = "data" + @usableFromInline static let `description`: JSString = "description" + @usableFromInline static let `estimate`: JSString = "estimate" + @usableFromInline static let `excludeAcceptAllOption`: JSString = "excludeAcceptAllOption" + @usableFromInline static let `getDirectory`: JSString = "getDirectory" + @usableFromInline static let `getDirectoryHandle`: JSString = "getDirectoryHandle" + @usableFromInline static let `getFile`: JSString = "getFile" + @usableFromInline static let `getFileHandle`: JSString = "getFileHandle" + @usableFromInline static let `handle`: JSString = "handle" + @usableFromInline static let `id`: JSString = "id" + @usableFromInline static let `isSameEntry`: JSString = "isSameEntry" + @usableFromInline static let `keepExistingData`: JSString = "keepExistingData" + @usableFromInline static let `kind`: JSString = "kind" + @usableFromInline static let `mode`: JSString = "mode" + @usableFromInline static let `multiple`: JSString = "multiple" + @usableFromInline static let `name`: JSString = "name" + @usableFromInline static let `persist`: JSString = "persist" + @usableFromInline static let `persisted`: JSString = "persisted" + @usableFromInline static let `position`: JSString = "position" + @usableFromInline static let `queryPermission`: JSString = "queryPermission" + @usableFromInline static let `quota`: JSString = "quota" + @usableFromInline static let `recursive`: JSString = "recursive" + @usableFromInline static let `removeEntry`: JSString = "removeEntry" + @usableFromInline static let `requestPermission`: JSString = "requestPermission" + @usableFromInline static let `resolve`: JSString = "resolve" + @usableFromInline static let `seek`: JSString = "seek" + @usableFromInline static let `size`: JSString = "size" + @usableFromInline static let `startIn`: JSString = "startIn" + @usableFromInline static let `storage`: JSString = "storage" + @usableFromInline static let `suggestedName`: JSString = "suggestedName" + @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `truncate`: JSString = "truncate" + @usableFromInline static let `type`: JSString = "type" + @usableFromInline static let `types`: JSString = "types" + @usableFromInline static let `usage`: JSString = "usage" + @usableFromInline static let `write`: JSString = "write" } - public protocol Any_Blob_or_BufferSource_or_String: ConvertibleToJSValue {} extension Blob: Any_Blob_or_BufferSource_or_String {} extension BufferSource: Any_Blob_or_BufferSource_or_String {} @@ -684,27 +792,23 @@ public enum Blob_or_BufferSource_or_String: JSValueCompatible, Any_Blob_or_Buffe case bufferSource(BufferSource) case string(String) - init(_ blob: Blob) { + public init(_ blob: Blob) { let val: Blob_or_BufferSource_or_String = .blob(blob) self = val } - - init(_ bufferSource: BufferSource) { + public init(_ bufferSource: BufferSource) { let val: Blob_or_BufferSource_or_String = .bufferSource(bufferSource) self = val } - - init(_ arrayBuffer: ArrayBuffer) { + public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } - - init(_ arrayBufferView: ArrayBufferView) { + public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } - - init(_ string: String) { + public init(_ string: String) { let val: Blob_or_BufferSource_or_String = .string(string) self = val } @@ -715,14 +819,12 @@ public enum Blob_or_BufferSource_or_String: JSValueCompatible, Any_Blob_or_Buffe default: return nil } } - public var bufferSource: BufferSource? { switch self { case let .bufferSource(bufferSource): return bufferSource default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -731,30 +833,20 @@ public enum Blob_or_BufferSource_or_String: JSValueCompatible, Any_Blob_or_Buffe } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { - return .blob(blob) - } - if let bufferSource: BufferSource = value.fromJSValue() { - return .bufferSource(bufferSource) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let blob: Blob = value.fromJSValue() { return .blob(blob) } + if let bufferSource: BufferSource = value.fromJSValue() { return .bufferSource(bufferSource) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): - return blob.jsValue - case let .bufferSource(bufferSource): - return bufferSource.jsValue - case let .string(string): - return string.jsValue + case let .blob(blob): return blob.jsValue + case let .bufferSource(bufferSource): return bufferSource.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_FileSystemWriteChunkType: ConvertibleToJSValue {} extension Blob: Any_FileSystemWriteChunkType {} extension BufferSource: Any_FileSystemWriteChunkType {} @@ -767,32 +859,27 @@ public enum FileSystemWriteChunkType: JSValueCompatible, Any_FileSystemWriteChun case string(String) case writeParams(WriteParams) - init(_ blob: Blob) { + public init(_ blob: Blob) { let val: FileSystemWriteChunkType = .blob(blob) self = val } - - init(_ bufferSource: BufferSource) { + public init(_ bufferSource: BufferSource) { let val: FileSystemWriteChunkType = .bufferSource(bufferSource) self = val } - - init(_ arrayBuffer: ArrayBuffer) { + public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } - - init(_ arrayBufferView: ArrayBufferView) { + public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } - - init(_ string: String) { + public init(_ string: String) { let val: FileSystemWriteChunkType = .string(string) self = val } - - init(_ writeParams: WriteParams) { + public init(_ writeParams: WriteParams) { let val: FileSystemWriteChunkType = .writeParams(writeParams) self = val } @@ -803,21 +890,18 @@ public enum FileSystemWriteChunkType: JSValueCompatible, Any_FileSystemWriteChun default: return nil } } - public var bufferSource: BufferSource? { switch self { case let .bufferSource(bufferSource): return bufferSource default: return nil } } - public var string: String? { switch self { case let .string(string): return string default: return nil } } - public var writeParams: WriteParams? { switch self { case let .writeParams(writeParams): return writeParams @@ -826,35 +910,22 @@ public enum FileSystemWriteChunkType: JSValueCompatible, Any_FileSystemWriteChun } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { - return .blob(blob) - } - if let bufferSource: BufferSource = value.fromJSValue() { - return .bufferSource(bufferSource) - } - if let string: String = value.fromJSValue() { - return .string(string) - } - if let writeParams: WriteParams = value.fromJSValue() { - return .writeParams(writeParams) - } + if let blob: Blob = value.fromJSValue() { return .blob(blob) } + if let bufferSource: BufferSource = value.fromJSValue() { return .bufferSource(bufferSource) } + if let string: String = value.fromJSValue() { return .string(string) } + if let writeParams: WriteParams = value.fromJSValue() { return .writeParams(writeParams) } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): - return blob.jsValue - case let .bufferSource(bufferSource): - return bufferSource.jsValue - case let .string(string): - return string.jsValue - case let .writeParams(writeParams): - return writeParams.jsValue + case let .blob(blob): return blob.jsValue + case let .bufferSource(bufferSource): return bufferSource.jsValue + case let .string(string): return string.jsValue + case let .writeParams(writeParams): return writeParams.jsValue } } } - public protocol Any_StartInDirectory: ConvertibleToJSValue {} extension FileSystemHandle: Any_StartInDirectory {} extension WellKnownDirectory: Any_StartInDirectory {} @@ -863,12 +934,11 @@ public enum StartInDirectory: JSValueCompatible, Any_StartInDirectory { case fileSystemHandle(FileSystemHandle) case wellKnownDirectory(WellKnownDirectory) - init(_ fileSystemHandle: FileSystemHandle) { + public init(_ fileSystemHandle: FileSystemHandle) { let val: StartInDirectory = .fileSystemHandle(fileSystemHandle) self = val } - - init(_ wellKnownDirectory: WellKnownDirectory) { + public init(_ wellKnownDirectory: WellKnownDirectory) { let val: StartInDirectory = .wellKnownDirectory(wellKnownDirectory) self = val } @@ -879,7 +949,6 @@ public enum StartInDirectory: JSValueCompatible, Any_StartInDirectory { default: return nil } } - public var wellKnownDirectory: WellKnownDirectory? { switch self { case let .wellKnownDirectory(wellKnownDirectory): return wellKnownDirectory @@ -888,9 +957,7 @@ public enum StartInDirectory: JSValueCompatible, Any_StartInDirectory { } public static func construct(from value: JSValue) -> Self? { - if let fileSystemHandle: FileSystemHandle = value.fromJSValue() { - return .fileSystemHandle(fileSystemHandle) - } + if let fileSystemHandle: FileSystemHandle = value.fromJSValue() { return .fileSystemHandle(fileSystemHandle) } if let wellKnownDirectory: WellKnownDirectory = value.fromJSValue() { return .wellKnownDirectory(wellKnownDirectory) } @@ -899,62 +966,8 @@ public enum StartInDirectory: JSValueCompatible, Any_StartInDirectory { public var jsValue: JSValue { switch self { - case let .fileSystemHandle(fileSystemHandle): - return fileSystemHandle.jsValue - case let .wellKnownDirectory(wellKnownDirectory): - return wellKnownDirectory.jsValue - } - } -} - -public protocol Any_String_or_seq_of_String: ConvertibleToJSValue {} -extension String: Any_String_or_seq_of_String {} -extension Array: Any_String_or_seq_of_String where Element == String {} - -public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_String { - case string(String) - case seq_of_String([String]) - - init(_ string: String) { - let val: String_or_seq_of_String = .string(string) - self = val - } - - init(_ seq_of_String: [String]) { - let val: String_or_seq_of_String = .seq_of_String(seq_of_String) - self = val - } - - public var string: String? { - switch self { - case let .string(string): return string - default: return nil - } - } - - public var seq_of_String: [String]? { - switch self { - case let .seq_of_String(seq_of_String): return seq_of_String - default: return nil - } - } - - public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { - return .string(string) - } - if let seq_of_String: [String] = value.fromJSValue() { - return .seq_of_String(seq_of_String) - } - return nil - } - - public var jsValue: JSValue { - switch self { - case let .string(string): - return string.jsValue - case let .seq_of_String(seq_of_String): - return seq_of_String.jsValue + case let .fileSystemHandle(fileSystemHandle): return fileSystemHandle.jsValue + case let .wellKnownDirectory(wellKnownDirectory): return wellKnownDirectory.jsValue } } } diff --git a/Sources/Gamepad/Generated.swift b/Sources/Gamepad/Generated.swift index 3dfb8190..96e5cb07 100644 --- a/Sources/Gamepad/Generated.swift +++ b/Sources/Gamepad/Generated.swift @@ -2,66 +2,48 @@ import DOM import ECMAScript -import JavaScriptEventLoop import JavaScriptKit import WebAPIBase +#if canImport(JavaScriptEventLoop) + import JavaScriptEventLoop +#endif +#if canImport(_Concurrency) + import _Concurrency +#endif + public class Gamepad: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Gamepad].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _index = ReadonlyAttribute(jsObject: jsObject, name: Strings.index) - _connected = ReadonlyAttribute(jsObject: jsObject, name: Strings.connected) - _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) - _mapping = ReadonlyAttribute(jsObject: jsObject, name: Strings.mapping) - _axes = ReadonlyAttribute(jsObject: jsObject, name: Strings.axes) - _buttons = ReadonlyAttribute(jsObject: jsObject, name: Strings.buttons) - _hand = ReadonlyAttribute(jsObject: jsObject, name: Strings.hand) - _hapticActuators = ReadonlyAttribute(jsObject: jsObject, name: Strings.hapticActuators) - _pose = ReadonlyAttribute(jsObject: jsObject, name: Strings.pose) - _touchEvents = ReadonlyAttribute(jsObject: jsObject, name: Strings.touchEvents) - _vibrationActuator = ReadonlyAttribute(jsObject: jsObject, name: Strings.vibrationActuator) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var index: Int32 + @inlinable public var index: Int32 { jsObject[Strings.index].fromJSValue()! } - @ReadonlyAttribute - public var connected: Bool + @inlinable public var connected: Bool { jsObject[Strings.connected].fromJSValue()! } - @ReadonlyAttribute - public var timestamp: DOMHighResTimeStamp + @inlinable public var timestamp: DOMHighResTimeStamp { jsObject[Strings.timestamp].fromJSValue()! } - @ReadonlyAttribute - public var mapping: GamepadMappingType + @inlinable public var mapping: GamepadMappingType { jsObject[Strings.mapping].fromJSValue()! } - @ReadonlyAttribute - public var axes: [Double] + @inlinable public var axes: [Double] { jsObject[Strings.axes].fromJSValue()! } - @ReadonlyAttribute - public var buttons: [GamepadButton] + @inlinable public var buttons: [GamepadButton] { jsObject[Strings.buttons].fromJSValue()! } - @ReadonlyAttribute - public var hand: GamepadHand + @inlinable public var hand: GamepadHand { jsObject[Strings.hand].fromJSValue()! } - @ReadonlyAttribute - public var hapticActuators: [GamepadHapticActuator] + @inlinable public var hapticActuators: [GamepadHapticActuator] { jsObject[Strings.hapticActuators].fromJSValue()! } - @ReadonlyAttribute - public var pose: GamepadPose? + @inlinable public var pose: GamepadPose? { jsObject[Strings.pose].fromJSValue() } - @ReadonlyAttribute - public var touchEvents: [GamepadTouch]? + @inlinable public var touchEvents: [GamepadTouch]? { jsObject[Strings.touchEvents].fromJSValue() } - @ReadonlyAttribute - public var vibrationActuator: GamepadHapticActuator? + @inlinable public var vibrationActuator: GamepadHapticActuator? { + jsObject[Strings.vibrationActuator].fromJSValue() + } } public class GamepadButton: JSBridgedClass { @@ -69,158 +51,165 @@ public class GamepadButton: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _pressed = ReadonlyAttribute(jsObject: jsObject, name: Strings.pressed) - _touched = ReadonlyAttribute(jsObject: jsObject, name: Strings.touched) - _value = ReadonlyAttribute(jsObject: jsObject, name: Strings.value) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var pressed: Bool + @inlinable public var pressed: Bool { jsObject[Strings.pressed].fromJSValue()! } - @ReadonlyAttribute - public var touched: Bool + @inlinable public var touched: Bool { jsObject[Strings.touched].fromJSValue()! } - @ReadonlyAttribute - public var value: Double + @inlinable public var value: Double { jsObject[Strings.value].fromJSValue()! } } -public class GamepadEffectParameters: BridgedDictionary { - public convenience init(duration: Double, startDelay: Double, strongMagnitude: Double, weakMagnitude: Double) { +open class GamepadEffectParameters: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + duration: Double? = nil, + startDelay: Double? = nil, + strongMagnitude: Double? = nil, + weakMagnitude: Double? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.duration] = _toJSValue(duration) object[Strings.startDelay] = _toJSValue(startDelay) object[Strings.strongMagnitude] = _toJSValue(strongMagnitude) object[Strings.weakMagnitude] = _toJSValue(weakMagnitude) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) - _startDelay = ReadWriteAttribute(jsObject: object, name: Strings.startDelay) - _strongMagnitude = ReadWriteAttribute(jsObject: object, name: Strings.strongMagnitude) - _weakMagnitude = ReadWriteAttribute(jsObject: object, name: Strings.weakMagnitude) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var duration: Double - - @ReadWriteAttribute - public var startDelay: Double - - @ReadWriteAttribute - public var strongMagnitude: Double + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var weakMagnitude: Double + @inlinable public var duration: Double { + get { jsObject[Strings.duration].fromJSValue()! } + set { jsObject[Strings.duration] = _toJSValue(newValue) } + } + @inlinable public var startDelay: Double { + get { jsObject[Strings.startDelay].fromJSValue()! } + set { jsObject[Strings.startDelay] = _toJSValue(newValue) } + } + @inlinable public var strongMagnitude: Double { + get { jsObject[Strings.strongMagnitude].fromJSValue()! } + set { jsObject[Strings.strongMagnitude] = _toJSValue(newValue) } + } + @inlinable public var weakMagnitude: Double { + get { jsObject[Strings.weakMagnitude].fromJSValue()! } + set { jsObject[Strings.weakMagnitude] = _toJSValue(newValue) } + } } - public class GamepadEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.GamepadEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.GamepadEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _gamepad = ReadonlyAttribute(jsObject: jsObject, name: Strings.gamepad) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: GamepadEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var gamepad: Gamepad + @inlinable public var gamepad: Gamepad { jsObject[Strings.gamepad].fromJSValue()! } } -public class GamepadEventInit: BridgedDictionary { +open class GamepadEventInit: EventInit { + public convenience init(gamepad: Gamepad) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.gamepad] = _toJSValue(gamepad) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _gamepad = ReadWriteAttribute(jsObject: object, name: Strings.gamepad) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var gamepad: Gamepad + @inlinable public var gamepad: Gamepad { + get { jsObject[Strings.gamepad].fromJSValue()! } + set { jsObject[Strings.gamepad] = _toJSValue(newValue) } + } } - public enum GamepadHand: JSString, JSValueCompatible { case _empty = "" case left = "left" case right = "right" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class GamepadHapticActuator: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GamepadHapticActuator].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var type: GamepadHapticActuatorType + @inlinable public var type: GamepadHapticActuatorType { jsObject[Strings.type].fromJSValue()! } - @inlinable public func canPlayEffectType(type: GamepadHapticEffectType) -> Bool { + @inlinable final public func canPlayEffectType(type: GamepadHapticEffectType) -> Bool { let this = jsObject return this[Strings.canPlayEffectType].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @inlinable public func playEffect(type: GamepadHapticEffectType, params: GamepadEffectParameters? = nil) -> JSPromise { + @inlinable final public func playEffect( + type: GamepadHapticEffectType, + params: GamepadEffectParameters? = nil + ) -> JSPromise { let this = jsObject - return this[Strings.playEffect].function!(this: this, arguments: [_toJSValue(type), _toJSValue(params)]).fromJSValue()! + return this[Strings.playEffect].function!(this: this, arguments: [_toJSValue(type), _toJSValue(params)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func playEffect(type: GamepadHapticEffectType, params: GamepadEffectParameters? = nil) async throws -> GamepadHapticsResult { - let this = jsObject - let _promise: JSPromise = this[Strings.playEffect].function!(this: this, arguments: [_toJSValue(type), _toJSValue(params)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func playEffect( + type: GamepadHapticEffectType, + params: GamepadEffectParameters? = nil + ) async throws(JSException) -> GamepadHapticsResult { + let this = jsObject + let _promise: JSPromise = this[Strings.playEffect].function!( + this: this, + arguments: [_toJSValue(type), _toJSValue(params)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func pulse(value: Double, duration: Double) -> JSPromise { + @inlinable final public func pulse(value: Double, duration: Double) -> JSPromise { let this = jsObject - return this[Strings.pulse].function!(this: this, arguments: [_toJSValue(value), _toJSValue(duration)]).fromJSValue()! + return this[Strings.pulse].function!(this: this, arguments: [_toJSValue(value), _toJSValue(duration)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func pulse(value: Double, duration: Double) async throws -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.pulse].function!(this: this, arguments: [_toJSValue(value), _toJSValue(duration)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func pulse( + value: Double, + duration: Double + ) async throws(JSException) -> Bool { + let this = jsObject + let _promise: JSPromise = this[Strings.pulse].function!( + this: this, + arguments: [_toJSValue(value), _toJSValue(duration)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func reset() -> JSPromise { + @inlinable final public func reset() -> JSPromise { let this = jsObject return this[Strings.reset].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func reset() async throws -> GamepadHapticsResult { - let this = jsObject - let _promise: JSPromise = this[Strings.reset].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func reset() + async throws(JSException) -> GamepadHapticsResult + { + let this = jsObject + let _promise: JSPromise = this[Strings.reset].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } public enum GamepadHapticActuatorType: JSString, JSValueCompatible { @@ -228,113 +217,75 @@ public enum GamepadHapticActuatorType: JSString, JSValueCompatible { case dualRumble = "dual-rumble" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum GamepadHapticEffectType: JSString, JSValueCompatible { case dualRumble = "dual-rumble" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum GamepadHapticsResult: JSString, JSValueCompatible { case complete = "complete" case preempted = "preempted" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum GamepadMappingType: JSString, JSValueCompatible { case _empty = "" case standard = "standard" case xrStandard = "xr-standard" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class GamepadPose: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GamepadPose].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _hasOrientation = ReadonlyAttribute(jsObject: jsObject, name: Strings.hasOrientation) - _hasPosition = ReadonlyAttribute(jsObject: jsObject, name: Strings.hasPosition) - _position = ReadonlyAttribute(jsObject: jsObject, name: Strings.position) - _linearVelocity = ReadonlyAttribute(jsObject: jsObject, name: Strings.linearVelocity) - _linearAcceleration = ReadonlyAttribute(jsObject: jsObject, name: Strings.linearAcceleration) - _orientation = ReadonlyAttribute(jsObject: jsObject, name: Strings.orientation) - _angularVelocity = ReadonlyAttribute(jsObject: jsObject, name: Strings.angularVelocity) - _angularAcceleration = ReadonlyAttribute(jsObject: jsObject, name: Strings.angularAcceleration) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var hasOrientation: Bool + @inlinable public var hasOrientation: Bool { jsObject[Strings.hasOrientation].fromJSValue()! } - @ReadonlyAttribute - public var hasPosition: Bool + @inlinable public var hasPosition: Bool { jsObject[Strings.hasPosition].fromJSValue()! } - @ReadonlyAttribute - public var position: Float32Array? + @inlinable public var position: Float32Array? { jsObject[Strings.position].fromJSValue() } - @ReadonlyAttribute - public var linearVelocity: Float32Array? + @inlinable public var linearVelocity: Float32Array? { jsObject[Strings.linearVelocity].fromJSValue() } - @ReadonlyAttribute - public var linearAcceleration: Float32Array? + @inlinable public var linearAcceleration: Float32Array? { jsObject[Strings.linearAcceleration].fromJSValue() } - @ReadonlyAttribute - public var orientation: Float32Array? + @inlinable public var orientation: Float32Array? { jsObject[Strings.orientation].fromJSValue() } - @ReadonlyAttribute - public var angularVelocity: Float32Array? + @inlinable public var angularVelocity: Float32Array? { jsObject[Strings.angularVelocity].fromJSValue() } - @ReadonlyAttribute - public var angularAcceleration: Float32Array? + @inlinable public var angularAcceleration: Float32Array? { jsObject[Strings.angularAcceleration].fromJSValue() } } public class GamepadTouch: JSBridgedClass { @@ -342,94 +293,103 @@ public class GamepadTouch: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _touchId = ReadonlyAttribute(jsObject: jsObject, name: Strings.touchId) - _surfaceId = ReadonlyAttribute(jsObject: jsObject, name: Strings.surfaceId) - _position = ReadonlyAttribute(jsObject: jsObject, name: Strings.position) - _surfaceDimensions = ReadonlyAttribute(jsObject: jsObject, name: Strings.surfaceDimensions) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var touchId: UInt32 + @inlinable public var touchId: UInt32 { jsObject[Strings.touchId].fromJSValue()! } - @ReadonlyAttribute - public var surfaceId: UInt8 + @inlinable public var surfaceId: UInt8 { jsObject[Strings.surfaceId].fromJSValue()! } - @ReadonlyAttribute - public var position: Float32Array + @inlinable public var position: Float32Array { jsObject[Strings.position].fromJSValue()! } - @ReadonlyAttribute - public var surfaceDimensions: Uint32Array? + @inlinable public var surfaceDimensions: Uint32Array? { jsObject[Strings.surfaceDimensions].fromJSValue() } } -public extension Navigator { - @inlinable func getGamepads() -> [Gamepad?] { +extension Navigator { + + @inlinable final public func getGamepads() -> [Gamepad?] { let this = jsObject return this[Strings.getGamepads].function!(this: this, arguments: []).fromJSValue()! } } -public extension WindowEventHandlers { - @inlinable var ongamepadconnected: EventHandler { - get { ClosureAttribute1Optional[Strings.ongamepadconnected, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ongamepadconnected, in: jsObject] = newValue } +extension WindowEventHandlers { + @inlinable public var ongamepadconnected: EventHandler { + get { + guard let function = jsObject[Strings.ongamepadconnected].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ongamepadconnected] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ongamepadconnected] = .null + } + } } - @inlinable var ongamepaddisconnected: EventHandler { - get { ClosureAttribute1Optional[Strings.ongamepaddisconnected, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ongamepaddisconnected, in: jsObject] = newValue } + @inlinable public var ongamepaddisconnected: EventHandler { + get { + guard let function = jsObject[Strings.ongamepaddisconnected].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ongamepaddisconnected] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ongamepaddisconnected] = .null + } + } } } - @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let Gamepad: JSString = "Gamepad" - @usableFromInline static let GamepadButton: JSString = "GamepadButton" - @usableFromInline static let GamepadEvent: JSString = "GamepadEvent" - @usableFromInline static let GamepadHapticActuator: JSString = "GamepadHapticActuator" - @usableFromInline static let GamepadPose: JSString = "GamepadPose" - @usableFromInline static let GamepadTouch: JSString = "GamepadTouch" - @usableFromInline static let Navigator: JSString = "Navigator" - @usableFromInline static let Object: JSString = "Object" - @usableFromInline static let angularAcceleration: JSString = "angularAcceleration" - @usableFromInline static let angularVelocity: JSString = "angularVelocity" - @usableFromInline static let axes: JSString = "axes" - @usableFromInline static let buttons: JSString = "buttons" - @usableFromInline static let canPlayEffectType: JSString = "canPlayEffectType" - @usableFromInline static let connected: JSString = "connected" - @usableFromInline static let duration: JSString = "duration" - @usableFromInline static let gamepad: JSString = "gamepad" - @usableFromInline static let getGamepads: JSString = "getGamepads" - @usableFromInline static let hand: JSString = "hand" - @usableFromInline static let hapticActuators: JSString = "hapticActuators" - @usableFromInline static let hasOrientation: JSString = "hasOrientation" - @usableFromInline static let hasPosition: JSString = "hasPosition" - @usableFromInline static let id: JSString = "id" - @usableFromInline static let index: JSString = "index" - @usableFromInline static let linearAcceleration: JSString = "linearAcceleration" - @usableFromInline static let linearVelocity: JSString = "linearVelocity" - @usableFromInline static let mapping: JSString = "mapping" - @usableFromInline static let ongamepadconnected: JSString = "ongamepadconnected" - @usableFromInline static let ongamepaddisconnected: JSString = "ongamepaddisconnected" - @usableFromInline static let orientation: JSString = "orientation" - @usableFromInline static let playEffect: JSString = "playEffect" - @usableFromInline static let pose: JSString = "pose" - @usableFromInline static let position: JSString = "position" - @usableFromInline static let pressed: JSString = "pressed" - @usableFromInline static let pulse: JSString = "pulse" - @usableFromInline static let reset: JSString = "reset" - @usableFromInline static let startDelay: JSString = "startDelay" - @usableFromInline static let strongMagnitude: JSString = "strongMagnitude" - @usableFromInline static let surfaceDimensions: JSString = "surfaceDimensions" - @usableFromInline static let surfaceId: JSString = "surfaceId" - @usableFromInline static let timestamp: JSString = "timestamp" - @usableFromInline static let toString: JSString = "toString" - @usableFromInline static let touchEvents: JSString = "touchEvents" - @usableFromInline static let touchId: JSString = "touchId" - @usableFromInline static let touched: JSString = "touched" - @usableFromInline static let type: JSString = "type" - @usableFromInline static let value: JSString = "value" - @usableFromInline static let vibrationActuator: JSString = "vibrationActuator" - @usableFromInline static let weakMagnitude: JSString = "weakMagnitude" + @usableFromInline static let `Gamepad`: JSString = "Gamepad" + @usableFromInline static let `GamepadButton`: JSString = "GamepadButton" + @usableFromInline static let `GamepadEvent`: JSString = "GamepadEvent" + @usableFromInline static let `GamepadHapticActuator`: JSString = "GamepadHapticActuator" + @usableFromInline static let `GamepadPose`: JSString = "GamepadPose" + @usableFromInline static let `GamepadTouch`: JSString = "GamepadTouch" + @usableFromInline static let `Navigator`: JSString = "Navigator" + @usableFromInline static let `Object`: JSString = "Object" + @usableFromInline static let `angularAcceleration`: JSString = "angularAcceleration" + @usableFromInline static let `angularVelocity`: JSString = "angularVelocity" + @usableFromInline static let `axes`: JSString = "axes" + @usableFromInline static let `buttons`: JSString = "buttons" + @usableFromInline static let `canPlayEffectType`: JSString = "canPlayEffectType" + @usableFromInline static let `connected`: JSString = "connected" + @usableFromInline static let `duration`: JSString = "duration" + @usableFromInline static let `gamepad`: JSString = "gamepad" + @usableFromInline static let `getGamepads`: JSString = "getGamepads" + @usableFromInline static let `hand`: JSString = "hand" + @usableFromInline static let `hapticActuators`: JSString = "hapticActuators" + @usableFromInline static let `hasOrientation`: JSString = "hasOrientation" + @usableFromInline static let `hasPosition`: JSString = "hasPosition" + @usableFromInline static let `id`: JSString = "id" + @usableFromInline static let `index`: JSString = "index" + @usableFromInline static let `linearAcceleration`: JSString = "linearAcceleration" + @usableFromInline static let `linearVelocity`: JSString = "linearVelocity" + @usableFromInline static let `mapping`: JSString = "mapping" + @usableFromInline static let `ongamepadconnected`: JSString = "ongamepadconnected" + @usableFromInline static let `ongamepaddisconnected`: JSString = "ongamepaddisconnected" + @usableFromInline static let `orientation`: JSString = "orientation" + @usableFromInline static let `playEffect`: JSString = "playEffect" + @usableFromInline static let `pose`: JSString = "pose" + @usableFromInline static let `position`: JSString = "position" + @usableFromInline static let `pressed`: JSString = "pressed" + @usableFromInline static let `pulse`: JSString = "pulse" + @usableFromInline static let `reset`: JSString = "reset" + @usableFromInline static let `startDelay`: JSString = "startDelay" + @usableFromInline static let `strongMagnitude`: JSString = "strongMagnitude" + @usableFromInline static let `surfaceDimensions`: JSString = "surfaceDimensions" + @usableFromInline static let `surfaceId`: JSString = "surfaceId" + @usableFromInline static let `timestamp`: JSString = "timestamp" + @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `touchEvents`: JSString = "touchEvents" + @usableFromInline static let `touchId`: JSString = "touchId" + @usableFromInline static let `touched`: JSString = "touched" + @usableFromInline static let `type`: JSString = "type" + @usableFromInline static let `value`: JSString = "value" + @usableFromInline static let `vibrationActuator`: JSString = "vibrationActuator" + @usableFromInline static let `weakMagnitude`: JSString = "weakMagnitude" } diff --git a/Sources/SVG/Generated.swift b/Sources/SVG/Generated.swift index a9601b0b..bf8f1dd1 100644 --- a/Sources/SVG/Generated.swift +++ b/Sources/SVG/Generated.swift @@ -2,100 +2,113 @@ import DOM import ECMAScript -import JavaScriptEventLoop import JavaScriptKit import WebAPIBase +#if canImport(JavaScriptEventLoop) + import JavaScriptEventLoop +#endif +#if canImport(_Concurrency) + import _Concurrency +#endif + public protocol GetSVGDocument: JSBridgedClass {} -public extension GetSVGDocument { - @inlinable func getSVGDocument() -> Document { +extension GetSVGDocument { + @inlinable public func getSVGDocument() -> Document { let this = jsObject return this[Strings.getSVGDocument].function!(this: this, arguments: []).fromJSValue()! } } - public class SVGAElement: SVGGraphicsElement, SVGURIReference { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGAElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGAElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _target = ReadonlyAttribute(jsObject: jsObject, name: Strings.target) - _download = ReadWriteAttribute(jsObject: jsObject, name: Strings.download) - _ping = ReadWriteAttribute(jsObject: jsObject, name: Strings.ping) - _rel = ReadWriteAttribute(jsObject: jsObject, name: Strings.rel) - _relList = ReadonlyAttribute(jsObject: jsObject, name: Strings.relList) - _hreflang = ReadWriteAttribute(jsObject: jsObject, name: Strings.hreflang) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) - _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _origin = ReadonlyAttribute(jsObject: jsObject, name: Strings.origin) - _protocol = ReadWriteAttribute(jsObject: jsObject, name: Strings.protocol) - _username = ReadWriteAttribute(jsObject: jsObject, name: Strings.username) - _password = ReadWriteAttribute(jsObject: jsObject, name: Strings.password) - _host = ReadWriteAttribute(jsObject: jsObject, name: Strings.host) - _hostname = ReadWriteAttribute(jsObject: jsObject, name: Strings.hostname) - _port = ReadWriteAttribute(jsObject: jsObject, name: Strings.port) - _pathname = ReadWriteAttribute(jsObject: jsObject, name: Strings.pathname) - _search = ReadWriteAttribute(jsObject: jsObject, name: Strings.search) - _hash = ReadWriteAttribute(jsObject: jsObject, name: Strings.hash) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var target: SVGAnimatedString + @inlinable public var target: SVGAnimatedString { jsObject[Strings.target].fromJSValue()! } - @ReadWriteAttribute - public var download: String + @inlinable public var download: String { + get { jsObject[Strings.download].fromJSValue()! } + set { jsObject[Strings.download] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ping: String + @inlinable public var ping: String { + get { jsObject[Strings.ping].fromJSValue()! } + set { jsObject[Strings.ping] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rel: String + @inlinable public var rel: String { + get { jsObject[Strings.rel].fromJSValue()! } + set { jsObject[Strings.rel] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var relList: DOMTokenList + @inlinable public var relList: DOMTokenList { jsObject[Strings.relList].fromJSValue()! } - @ReadWriteAttribute - public var hreflang: String + @inlinable public var hreflang: String { + get { jsObject[Strings.hreflang].fromJSValue()! } + set { jsObject[Strings.hreflang] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var text: String + @inlinable public var text: String { + get { jsObject[Strings.text].fromJSValue()! } + set { jsObject[Strings.text] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var referrerPolicy: String + @inlinable public var referrerPolicy: String { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var origin: String + @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } - @ReadWriteAttribute - public var `protocol`: String + @inlinable public var `protocol`: String { + get { jsObject[Strings.`protocol`].fromJSValue()! } + set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var username: String + @inlinable public var username: String { + get { jsObject[Strings.username].fromJSValue()! } + set { jsObject[Strings.username] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var password: String + @inlinable public var password: String { + get { jsObject[Strings.password].fromJSValue()! } + set { jsObject[Strings.password] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var host: String + @inlinable public var host: String { + get { jsObject[Strings.host].fromJSValue()! } + set { jsObject[Strings.host] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hostname: String + @inlinable public var hostname: String { + get { jsObject[Strings.hostname].fromJSValue()! } + set { jsObject[Strings.hostname] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var port: String + @inlinable public var port: String { + get { jsObject[Strings.port].fromJSValue()! } + set { jsObject[Strings.port] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var pathname: String + @inlinable public var pathname: String { + get { jsObject[Strings.pathname].fromJSValue()! } + set { jsObject[Strings.pathname] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var search: String + @inlinable public var search: String { + get { jsObject[Strings.search].fromJSValue()! } + set { jsObject[Strings.search] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hash: String + @inlinable public var hash: String { + get { jsObject[Strings.hash].fromJSValue()! } + set { jsObject[Strings.hash] = _toJSValue(newValue) } + } } public class SVGAngle: JSBridgedClass { @@ -103,13 +116,7 @@ public class SVGAngle: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _unitType = ReadonlyAttribute(jsObject: jsObject, name: Strings.unitType) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _valueInSpecifiedUnits = ReadWriteAttribute(jsObject: jsObject, name: Strings.valueInSpecifiedUnits) - _valueAsString = ReadWriteAttribute(jsObject: jsObject, name: Strings.valueAsString) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } public static let SVG_ANGLETYPE_UNKNOWN: UInt16 = 0 @@ -121,51 +128,62 @@ public class SVGAngle: JSBridgedClass { public static let SVG_ANGLETYPE_GRAD: UInt16 = 4 - @ReadonlyAttribute - public var unitType: UInt16 + @inlinable public var unitType: UInt16 { jsObject[Strings.unitType].fromJSValue()! } - @ReadWriteAttribute - public var value: Float + @inlinable public var value: Float { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var valueInSpecifiedUnits: Float + @inlinable public var valueInSpecifiedUnits: Float { + get { jsObject[Strings.valueInSpecifiedUnits].fromJSValue()! } + set { jsObject[Strings.valueInSpecifiedUnits] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var valueAsString: String + @inlinable public var valueAsString: String { + get { jsObject[Strings.valueAsString].fromJSValue()! } + set { jsObject[Strings.valueAsString] = _toJSValue(newValue) } + } - @inlinable public func newValueSpecifiedUnits(unitType: UInt16, valueInSpecifiedUnits: Float) { + @inlinable final public func newValueSpecifiedUnits(unitType: UInt16, valueInSpecifiedUnits: Float) { let this = jsObject - _ = this[Strings.newValueSpecifiedUnits].function!(this: this, arguments: [_toJSValue(unitType), _toJSValue(valueInSpecifiedUnits)]) + _ = this[Strings.newValueSpecifiedUnits].function!( + this: this, + arguments: [_toJSValue(unitType), _toJSValue(valueInSpecifiedUnits)] + ) } - @inlinable public func convertToSpecifiedUnits(unitType: UInt16) { + @inlinable final public func convertToSpecifiedUnits(unitType: UInt16) { let this = jsObject _ = this[Strings.convertToSpecifiedUnits].function!(this: this, arguments: [_toJSValue(unitType)]) } } public class SVGAnimateElement: SVGAnimationElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGAnimateElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGAnimateElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } public class SVGAnimateMotionElement: SVGAnimationElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGAnimateMotionElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGAnimateMotionElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } public class SVGAnimateTransformElement: SVGAnimationElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGAnimateTransformElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGAnimateTransformElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } public class SVGAnimatedAngle: JSBridgedClass { @@ -173,17 +191,11 @@ public class SVGAnimatedAngle: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _baseVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.baseVal) - _animVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.animVal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var baseVal: SVGAngle + @inlinable public var baseVal: SVGAngle { jsObject[Strings.baseVal].fromJSValue()! } - @ReadonlyAttribute - public var animVal: SVGAngle + @inlinable public var animVal: SVGAngle { jsObject[Strings.animVal].fromJSValue()! } } public class SVGAnimatedBoolean: JSBridgedClass { @@ -191,17 +203,14 @@ public class SVGAnimatedBoolean: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _baseVal = ReadWriteAttribute(jsObject: jsObject, name: Strings.baseVal) - _animVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.animVal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var baseVal: Bool + @inlinable public var baseVal: Bool { + get { jsObject[Strings.baseVal].fromJSValue()! } + set { jsObject[Strings.baseVal] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var animVal: Bool + @inlinable public var animVal: Bool { jsObject[Strings.animVal].fromJSValue()! } } public class SVGAnimatedEnumeration: JSBridgedClass { @@ -209,17 +218,14 @@ public class SVGAnimatedEnumeration: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _baseVal = ReadWriteAttribute(jsObject: jsObject, name: Strings.baseVal) - _animVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.animVal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var baseVal: UInt16 + @inlinable public var baseVal: UInt16 { + get { jsObject[Strings.baseVal].fromJSValue()! } + set { jsObject[Strings.baseVal] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var animVal: UInt16 + @inlinable public var animVal: UInt16 { jsObject[Strings.animVal].fromJSValue()! } } public class SVGAnimatedInteger: JSBridgedClass { @@ -227,17 +233,14 @@ public class SVGAnimatedInteger: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _baseVal = ReadWriteAttribute(jsObject: jsObject, name: Strings.baseVal) - _animVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.animVal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var baseVal: Int32 + @inlinable public var baseVal: Int32 { + get { jsObject[Strings.baseVal].fromJSValue()! } + set { jsObject[Strings.baseVal] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var animVal: Int32 + @inlinable public var animVal: Int32 { jsObject[Strings.animVal].fromJSValue()! } } public class SVGAnimatedLength: JSBridgedClass { @@ -245,17 +248,11 @@ public class SVGAnimatedLength: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _baseVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.baseVal) - _animVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.animVal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var baseVal: SVGLength + @inlinable public var baseVal: SVGLength { jsObject[Strings.baseVal].fromJSValue()! } - @ReadonlyAttribute - public var animVal: SVGLength + @inlinable public var animVal: SVGLength { jsObject[Strings.animVal].fromJSValue()! } } public class SVGAnimatedLengthList: JSBridgedClass { @@ -263,17 +260,11 @@ public class SVGAnimatedLengthList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _baseVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.baseVal) - _animVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.animVal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var baseVal: SVGLengthList + @inlinable public var baseVal: SVGLengthList { jsObject[Strings.baseVal].fromJSValue()! } - @ReadonlyAttribute - public var animVal: SVGLengthList + @inlinable public var animVal: SVGLengthList { jsObject[Strings.animVal].fromJSValue()! } } public class SVGAnimatedNumber: JSBridgedClass { @@ -281,17 +272,14 @@ public class SVGAnimatedNumber: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _baseVal = ReadWriteAttribute(jsObject: jsObject, name: Strings.baseVal) - _animVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.animVal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var baseVal: Float + @inlinable public var baseVal: Float { + get { jsObject[Strings.baseVal].fromJSValue()! } + set { jsObject[Strings.baseVal] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var animVal: Float + @inlinable public var animVal: Float { jsObject[Strings.animVal].fromJSValue()! } } public class SVGAnimatedNumberList: JSBridgedClass { @@ -299,42 +287,31 @@ public class SVGAnimatedNumberList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _baseVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.baseVal) - _animVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.animVal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var baseVal: SVGNumberList + @inlinable public var baseVal: SVGNumberList { jsObject[Strings.baseVal].fromJSValue()! } - @ReadonlyAttribute - public var animVal: SVGNumberList + @inlinable public var animVal: SVGNumberList { jsObject[Strings.animVal].fromJSValue()! } } public protocol SVGAnimatedPoints: JSBridgedClass {} -public extension SVGAnimatedPoints { - @inlinable var points: SVGPointList { jsObject[Strings.points].fromJSValue()! } +extension SVGAnimatedPoints { + @inlinable public var points: SVGPointList { jsObject[Strings.points].fromJSValue()! } - @inlinable var animatedPoints: SVGPointList { jsObject[Strings.animatedPoints].fromJSValue()! } + @inlinable public var animatedPoints: SVGPointList { jsObject[Strings.animatedPoints].fromJSValue()! } } - public class SVGAnimatedPreserveAspectRatio: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.SVGAnimatedPreserveAspectRatio].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.SVGAnimatedPreserveAspectRatio].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _baseVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.baseVal) - _animVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.animVal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var baseVal: SVGPreserveAspectRatio + @inlinable public var baseVal: SVGPreserveAspectRatio { jsObject[Strings.baseVal].fromJSValue()! } - @ReadonlyAttribute - public var animVal: SVGPreserveAspectRatio + @inlinable public var animVal: SVGPreserveAspectRatio { jsObject[Strings.animVal].fromJSValue()! } } public class SVGAnimatedRect: JSBridgedClass { @@ -342,17 +319,11 @@ public class SVGAnimatedRect: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _baseVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.baseVal) - _animVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.animVal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var baseVal: DOMRect + @inlinable public var baseVal: DOMRect { jsObject[Strings.baseVal].fromJSValue()! } - @ReadonlyAttribute - public var animVal: DOMRectReadOnly + @inlinable public var animVal: DOMRectReadOnly { jsObject[Strings.animVal].fromJSValue()! } } public class SVGAnimatedString: JSBridgedClass { @@ -360,17 +331,14 @@ public class SVGAnimatedString: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _baseVal = ReadWriteAttribute(jsObject: jsObject, name: Strings.baseVal) - _animVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.animVal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var baseVal: String + @inlinable public var baseVal: String { + get { jsObject[Strings.baseVal].fromJSValue()! } + set { jsObject[Strings.baseVal] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var animVal: String + @inlinable public var animVal: String { jsObject[Strings.animVal].fromJSValue()! } } public class SVGAnimatedTransformList: JSBridgedClass { @@ -378,303 +346,285 @@ public class SVGAnimatedTransformList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _baseVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.baseVal) - _animVal = ReadonlyAttribute(jsObject: jsObject, name: Strings.animVal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var baseVal: SVGTransformList + @inlinable public var baseVal: SVGTransformList { jsObject[Strings.baseVal].fromJSValue()! } - @ReadonlyAttribute - public var animVal: SVGTransformList + @inlinable public var animVal: SVGTransformList { jsObject[Strings.animVal].fromJSValue()! } } public class SVGAnimationElement: SVGElement, SVGTests { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGAnimationElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _targetElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.targetElement) - _onbegin = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onbegin) - _onend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onend) - _onrepeat = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onrepeat) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGAnimationElement].function } - @ReadonlyAttribute - public var targetElement: SVGElement? + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var targetElement: SVGElement? { jsObject[Strings.targetElement].fromJSValue() } - @ClosureAttribute1Optional - public var onbegin: EventHandler + @inlinable public var onbegin: EventHandler { + get { + guard let function = jsObject[Strings.onbegin].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onbegin] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onbegin] = .null + } + } + } - @ClosureAttribute1Optional - public var onend: EventHandler + @inlinable public var onend: EventHandler { + get { + guard let function = jsObject[Strings.onend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onend] = .null + } + } + } - @ClosureAttribute1Optional - public var onrepeat: EventHandler + @inlinable public var onrepeat: EventHandler { + get { + guard let function = jsObject[Strings.onrepeat].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onrepeat] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onrepeat] = .null + } + } + } - @inlinable public func getStartTime() -> Float { + @inlinable final public func getStartTime() -> Float { let this = jsObject return this[Strings.getStartTime].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getCurrentTime() -> Float { + @inlinable final public func getCurrentTime() -> Float { let this = jsObject return this[Strings.getCurrentTime].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getSimpleDuration() -> Float { + @inlinable final public func getSimpleDuration() -> Float { let this = jsObject return this[Strings.getSimpleDuration].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func beginElement() { + @inlinable final public func beginElement() { let this = jsObject _ = this[Strings.beginElement].function!(this: this, arguments: []) } - @inlinable public func beginElementAt(offset: Float) { + @inlinable final public func beginElementAt(offset: Float) { let this = jsObject _ = this[Strings.beginElementAt].function!(this: this, arguments: [_toJSValue(offset)]) } - @inlinable public func endElement() { + @inlinable final public func endElement() { let this = jsObject _ = this[Strings.endElement].function!(this: this, arguments: []) } - @inlinable public func endElementAt(offset: Float) { + @inlinable final public func endElementAt(offset: Float) { let this = jsObject _ = this[Strings.endElementAt].function!(this: this, arguments: [_toJSValue(offset)]) } } -public class SVGBoundingBoxOptions: BridgedDictionary { - public convenience init(fill: Bool, stroke: Bool, markers: Bool, clipped: Bool) { +open class SVGBoundingBoxOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(fill: Bool? = nil, stroke: Bool? = nil, markers: Bool? = nil, clipped: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.fill] = _toJSValue(fill) object[Strings.stroke] = _toJSValue(stroke) object[Strings.markers] = _toJSValue(markers) object[Strings.clipped] = _toJSValue(clipped) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _fill = ReadWriteAttribute(jsObject: object, name: Strings.fill) - _stroke = ReadWriteAttribute(jsObject: object, name: Strings.stroke) - _markers = ReadWriteAttribute(jsObject: object, name: Strings.markers) - _clipped = ReadWriteAttribute(jsObject: object, name: Strings.clipped) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var fill: Bool - - @ReadWriteAttribute - public var stroke: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var markers: Bool - - @ReadWriteAttribute - public var clipped: Bool + @inlinable public var fill: Bool { + get { jsObject[Strings.fill].fromJSValue()! } + set { jsObject[Strings.fill] = _toJSValue(newValue) } + } + @inlinable public var stroke: Bool { + get { jsObject[Strings.stroke].fromJSValue()! } + set { jsObject[Strings.stroke] = _toJSValue(newValue) } + } + @inlinable public var markers: Bool { + get { jsObject[Strings.markers].fromJSValue()! } + set { jsObject[Strings.markers] = _toJSValue(newValue) } + } + @inlinable public var clipped: Bool { + get { jsObject[Strings.clipped].fromJSValue()! } + set { jsObject[Strings.clipped] = _toJSValue(newValue) } + } } - public class SVGCircleElement: SVGGeometryElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGCircleElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGCircleElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _cx = ReadonlyAttribute(jsObject: jsObject, name: Strings.cx) - _cy = ReadonlyAttribute(jsObject: jsObject, name: Strings.cy) - _r = ReadonlyAttribute(jsObject: jsObject, name: Strings.r) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var cx: SVGAnimatedLength + @inlinable public var cx: SVGAnimatedLength { jsObject[Strings.cx].fromJSValue()! } - @ReadonlyAttribute - public var cy: SVGAnimatedLength + @inlinable public var cy: SVGAnimatedLength { jsObject[Strings.cy].fromJSValue()! } - @ReadonlyAttribute - public var r: SVGAnimatedLength + @inlinable public var r: SVGAnimatedLength { jsObject[Strings.r].fromJSValue()! } } public class SVGClipPathElement: SVGElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGClipPathElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _clipPathUnits = ReadonlyAttribute(jsObject: jsObject, name: Strings.clipPathUnits) - _transform = ReadonlyAttribute(jsObject: jsObject, name: Strings.transform) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGClipPathElement].function } - @ReadonlyAttribute - public var clipPathUnits: SVGAnimatedEnumeration + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var transform: SVGAnimatedTransformList + @inlinable public var clipPathUnits: SVGAnimatedEnumeration { jsObject[Strings.clipPathUnits].fromJSValue()! } + + @inlinable public var transform: SVGAnimatedTransformList { jsObject[Strings.transform].fromJSValue()! } } public class SVGDefsElement: SVGGraphicsElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGDefsElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGDefsElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class SVGDescElement: SVGElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGDescElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGDescElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class SVGDiscardElement: SVGAnimationElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGDiscardElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGDiscardElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } public class SVGElement: Element, GlobalEventHandlers, SVGElementInstance, HTMLOrSVGElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _svgClassName = ReadonlyAttribute(jsObject: jsObject, name: Strings.className) - _ownerSVGElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.ownerSVGElement) - _viewportElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.viewportElement) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } // Renamed because superclass has a `className` property of type `String` // NOTE! Accessing `className` on an SVGElement will crash your app - @ReadonlyAttribute - public var svgClassName: SVGAnimatedString + @inlinable public var svgClassName: SVGAnimatedString { jsObject[Strings.className].fromJSValue()! } - @ReadonlyAttribute - public var ownerSVGElement: SVGSVGElement? + @inlinable public var ownerSVGElement: SVGSVGElement? { jsObject[Strings.ownerSVGElement].fromJSValue() } - @ReadonlyAttribute - public var viewportElement: SVGElement? + @inlinable public var viewportElement: SVGElement? { jsObject[Strings.viewportElement].fromJSValue() } } public protocol SVGElementInstance: JSBridgedClass {} -public extension SVGElementInstance { - @inlinable var correspondingElement: SVGElement? { jsObject[Strings.correspondingElement].fromJSValue() } +extension SVGElementInstance { + @inlinable public var correspondingElement: SVGElement? { jsObject[Strings.correspondingElement].fromJSValue() } - @inlinable var correspondingUseElement: SVGUseElement? { jsObject[Strings.correspondingUseElement].fromJSValue() } + @inlinable public var correspondingUseElement: SVGUseElement? { + jsObject[Strings.correspondingUseElement].fromJSValue() + } } - public class SVGEllipseElement: SVGGeometryElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGEllipseElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _cx = ReadonlyAttribute(jsObject: jsObject, name: Strings.cx) - _cy = ReadonlyAttribute(jsObject: jsObject, name: Strings.cy) - _rx = ReadonlyAttribute(jsObject: jsObject, name: Strings.rx) - _ry = ReadonlyAttribute(jsObject: jsObject, name: Strings.ry) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGEllipseElement].function } - @ReadonlyAttribute - public var cx: SVGAnimatedLength + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var cx: SVGAnimatedLength { jsObject[Strings.cx].fromJSValue()! } - @ReadonlyAttribute - public var cy: SVGAnimatedLength + @inlinable public var cy: SVGAnimatedLength { jsObject[Strings.cy].fromJSValue()! } - @ReadonlyAttribute - public var rx: SVGAnimatedLength + @inlinable public var rx: SVGAnimatedLength { jsObject[Strings.rx].fromJSValue()! } - @ReadonlyAttribute - public var ry: SVGAnimatedLength + @inlinable public var ry: SVGAnimatedLength { jsObject[Strings.ry].fromJSValue()! } } public protocol SVGFitToViewBox: JSBridgedClass {} -public extension SVGFitToViewBox { - @inlinable var viewBox: SVGAnimatedRect { jsObject[Strings.viewBox].fromJSValue()! } +extension SVGFitToViewBox { + @inlinable public var viewBox: SVGAnimatedRect { jsObject[Strings.viewBox].fromJSValue()! } - @inlinable var preserveAspectRatio: SVGAnimatedPreserveAspectRatio { jsObject[Strings.preserveAspectRatio].fromJSValue()! } + @inlinable public var preserveAspectRatio: SVGAnimatedPreserveAspectRatio { + jsObject[Strings.preserveAspectRatio].fromJSValue()! + } } - public class SVGForeignObjectElement: SVGGraphicsElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGForeignObjectElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGForeignObjectElement].function } - @ReadonlyAttribute - public var x: SVGAnimatedLength + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var x: SVGAnimatedLength { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var y: SVGAnimatedLength + @inlinable public var y: SVGAnimatedLength { jsObject[Strings.y].fromJSValue()! } - @ReadonlyAttribute - public var width: SVGAnimatedLength + @inlinable public var width: SVGAnimatedLength { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: SVGAnimatedLength + @inlinable public var height: SVGAnimatedLength { jsObject[Strings.height].fromJSValue()! } } public class SVGGElement: SVGGraphicsElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGGElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGGElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class SVGGeometryElement: SVGGraphicsElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGGeometryElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _pathLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.pathLength) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGGeometryElement].function } - @ReadonlyAttribute - public var pathLength: SVGAnimatedNumber + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var pathLength: SVGAnimatedNumber { jsObject[Strings.pathLength].fromJSValue()! } - @inlinable public func isPointInFill(point: DOMPointInit? = nil) -> Bool { + @inlinable final public func isPointInFill(point: DOMPointInit? = nil) -> Bool { let this = jsObject return this[Strings.isPointInFill].function!(this: this, arguments: [_toJSValue(point)]).fromJSValue()! } - @inlinable public func isPointInStroke(point: DOMPointInit? = nil) -> Bool { + @inlinable final public func isPointInStroke(point: DOMPointInit? = nil) -> Bool { let this = jsObject return this[Strings.isPointInStroke].function!(this: this, arguments: [_toJSValue(point)]).fromJSValue()! } - @inlinable public func getTotalLength() -> Float { + @inlinable final public func getTotalLength() -> Float { let this = jsObject return this[Strings.getTotalLength].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getPointAtLength(distance: Float) -> DOMPoint { + @inlinable final public func getPointAtLength(distance: Float) -> DOMPoint { let this = jsObject return this[Strings.getPointAtLength].function!(this: this, arguments: [_toJSValue(distance)]).fromJSValue()! } } public class SVGGradientElement: SVGElement, SVGURIReference { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGGradientElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _gradientUnits = ReadonlyAttribute(jsObject: jsObject, name: Strings.gradientUnits) - _gradientTransform = ReadonlyAttribute(jsObject: jsObject, name: Strings.gradientTransform) - _spreadMethod = ReadonlyAttribute(jsObject: jsObject, name: Strings.spreadMethod) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGGradientElement].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public static let SVG_SPREADMETHOD_UNKNOWN: UInt16 = 0 public static let SVG_SPREADMETHOD_PAD: UInt16 = 1 @@ -683,73 +633,61 @@ public class SVGGradientElement: SVGElement, SVGURIReference { public static let SVG_SPREADMETHOD_REPEAT: UInt16 = 3 - @ReadonlyAttribute - public var gradientUnits: SVGAnimatedEnumeration + @inlinable public var gradientUnits: SVGAnimatedEnumeration { jsObject[Strings.gradientUnits].fromJSValue()! } - @ReadonlyAttribute - public var gradientTransform: SVGAnimatedTransformList + @inlinable public var gradientTransform: SVGAnimatedTransformList { + jsObject[Strings.gradientTransform].fromJSValue()! + } - @ReadonlyAttribute - public var spreadMethod: SVGAnimatedEnumeration + @inlinable public var spreadMethod: SVGAnimatedEnumeration { jsObject[Strings.spreadMethod].fromJSValue()! } } public class SVGGraphicsElement: SVGElement, SVGTests { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGGraphicsElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _transform = ReadonlyAttribute(jsObject: jsObject, name: Strings.transform) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGGraphicsElement].function } - @ReadonlyAttribute - public var transform: SVGAnimatedTransformList + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var transform: SVGAnimatedTransformList { jsObject[Strings.transform].fromJSValue()! } - @inlinable public func getBBox(options: SVGBoundingBoxOptions? = nil) -> DOMRect { + @inlinable final public func getBBox(options: SVGBoundingBoxOptions? = nil) -> DOMRect { let this = jsObject return this[Strings.getBBox].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func getCTM() -> DOMMatrix? { + @inlinable final public func getCTM() -> DOMMatrix? { let this = jsObject return this[Strings.getCTM].function!(this: this, arguments: []).fromJSValue() } - @inlinable public func getScreenCTM() -> DOMMatrix? { + @inlinable final public func getScreenCTM() -> DOMMatrix? { let this = jsObject return this[Strings.getScreenCTM].function!(this: this, arguments: []).fromJSValue() } } public class SVGImageElement: SVGGraphicsElement, SVGURIReference { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGImageElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGImageElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _preserveAspectRatio = ReadonlyAttribute(jsObject: jsObject, name: Strings.preserveAspectRatio) - _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var x: SVGAnimatedLength + @inlinable public var x: SVGAnimatedLength { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var y: SVGAnimatedLength + @inlinable public var y: SVGAnimatedLength { jsObject[Strings.y].fromJSValue()! } - @ReadonlyAttribute - public var width: SVGAnimatedLength + @inlinable public var width: SVGAnimatedLength { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: SVGAnimatedLength + @inlinable public var height: SVGAnimatedLength { jsObject[Strings.height].fromJSValue()! } - @ReadonlyAttribute - public var preserveAspectRatio: SVGAnimatedPreserveAspectRatio + @inlinable public var preserveAspectRatio: SVGAnimatedPreserveAspectRatio { + jsObject[Strings.preserveAspectRatio].fromJSValue()! + } - @ReadWriteAttribute - public var crossOrigin: String? + @inlinable public var crossOrigin: String? { + get { jsObject[Strings.crossOrigin].fromJSValue() } + set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } + } } public class SVGLength: JSBridgedClass { @@ -757,13 +695,7 @@ public class SVGLength: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _unitType = ReadonlyAttribute(jsObject: jsObject, name: Strings.unitType) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _valueInSpecifiedUnits = ReadWriteAttribute(jsObject: jsObject, name: Strings.valueInSpecifiedUnits) - _valueAsString = ReadWriteAttribute(jsObject: jsObject, name: Strings.valueAsString) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } public static let SVG_LENGTHTYPE_UNKNOWN: UInt16 = 0 @@ -787,24 +719,32 @@ public class SVGLength: JSBridgedClass { public static let SVG_LENGTHTYPE_PC: UInt16 = 10 - @ReadonlyAttribute - public var unitType: UInt16 + @inlinable public var unitType: UInt16 { jsObject[Strings.unitType].fromJSValue()! } - @ReadWriteAttribute - public var value: Float + @inlinable public var value: Float { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var valueInSpecifiedUnits: Float + @inlinable public var valueInSpecifiedUnits: Float { + get { jsObject[Strings.valueInSpecifiedUnits].fromJSValue()! } + set { jsObject[Strings.valueInSpecifiedUnits] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var valueAsString: String + @inlinable public var valueAsString: String { + get { jsObject[Strings.valueAsString].fromJSValue()! } + set { jsObject[Strings.valueAsString] = _toJSValue(newValue) } + } - @inlinable public func newValueSpecifiedUnits(unitType: UInt16, valueInSpecifiedUnits: Float) { + @inlinable final public func newValueSpecifiedUnits(unitType: UInt16, valueInSpecifiedUnits: Float) { let this = jsObject - _ = this[Strings.newValueSpecifiedUnits].function!(this: this, arguments: [_toJSValue(unitType), _toJSValue(valueInSpecifiedUnits)]) + _ = this[Strings.newValueSpecifiedUnits].function!( + this: this, + arguments: [_toJSValue(unitType), _toJSValue(valueInSpecifiedUnits)] + ) } - @inlinable public func convertToSpecifiedUnits(unitType: UInt16) { + @inlinable final public func convertToSpecifiedUnits(unitType: UInt16) { let this = jsObject _ = this[Strings.convertToSpecifiedUnits].function!(this: this, arguments: [_toJSValue(unitType)]) } @@ -815,133 +755,98 @@ public class SVGLengthList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _numberOfItems = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfItems) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ReadonlyAttribute - public var numberOfItems: UInt32 + @inlinable public var numberOfItems: UInt32 { jsObject[Strings.numberOfItems].fromJSValue()! } - @inlinable public func clear() { + @inlinable final public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } - @inlinable public func initialize(newItem: SVGLength) -> SVGLength { + @inlinable final public func initialize(newItem: SVGLength) -> SVGLength { let this = jsObject return this[Strings.initialize].function!(this: this, arguments: [_toJSValue(newItem)]).fromJSValue()! } - @inlinable public func getItem(index: UInt32) -> SVGLength { + @inlinable final public func getItem(index: UInt32) -> SVGLength { let this = jsObject return this[Strings.getItem].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func insertItemBefore(newItem: SVGLength, index: UInt32) -> SVGLength { + @inlinable final public func insertItemBefore(newItem: SVGLength, index: UInt32) -> SVGLength { let this = jsObject - return this[Strings.insertItemBefore].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]).fromJSValue()! + return this[Strings.insertItemBefore].function!( + this: this, + arguments: [_toJSValue(newItem), _toJSValue(index)] + ).fromJSValue()! } - @inlinable public func replaceItem(newItem: SVGLength, index: UInt32) -> SVGLength { + @inlinable final public func replaceItem(newItem: SVGLength, index: UInt32) -> SVGLength { let this = jsObject - return this[Strings.replaceItem].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]).fromJSValue()! + return this[Strings.replaceItem].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]) + .fromJSValue()! } - @inlinable public func removeItem(index: UInt32) -> SVGLength { + @inlinable final public func removeItem(index: UInt32) -> SVGLength { let this = jsObject return this[Strings.removeItem].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func appendItem(newItem: SVGLength) -> SVGLength { + @inlinable final public func appendItem(newItem: SVGLength) -> SVGLength { let this = jsObject return this[Strings.appendItem].function!(this: this, arguments: [_toJSValue(newItem)]).fromJSValue()! } @inlinable public subscript(key: Int) -> SVGLength { - get { - jsObject[key].fromJSValue()! - } - set { - jsObject[key] = _toJSValue(newValue) - } + get { jsObject[key].fromJSValue()! } + set { jsObject[key] = _toJSValue(newValue) } } } public class SVGLineElement: SVGGeometryElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGLineElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGLineElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _x1 = ReadonlyAttribute(jsObject: jsObject, name: Strings.x1) - _y1 = ReadonlyAttribute(jsObject: jsObject, name: Strings.y1) - _x2 = ReadonlyAttribute(jsObject: jsObject, name: Strings.x2) - _y2 = ReadonlyAttribute(jsObject: jsObject, name: Strings.y2) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var x1: SVGAnimatedLength + @inlinable public var x1: SVGAnimatedLength { jsObject[Strings.x1].fromJSValue()! } - @ReadonlyAttribute - public var y1: SVGAnimatedLength + @inlinable public var y1: SVGAnimatedLength { jsObject[Strings.y1].fromJSValue()! } - @ReadonlyAttribute - public var x2: SVGAnimatedLength + @inlinable public var x2: SVGAnimatedLength { jsObject[Strings.x2].fromJSValue()! } - @ReadonlyAttribute - public var y2: SVGAnimatedLength + @inlinable public var y2: SVGAnimatedLength { jsObject[Strings.y2].fromJSValue()! } } public class SVGLinearGradientElement: SVGGradientElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGLinearGradientElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _x1 = ReadonlyAttribute(jsObject: jsObject, name: Strings.x1) - _y1 = ReadonlyAttribute(jsObject: jsObject, name: Strings.y1) - _x2 = ReadonlyAttribute(jsObject: jsObject, name: Strings.x2) - _y2 = ReadonlyAttribute(jsObject: jsObject, name: Strings.y2) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGLinearGradientElement].function } - @ReadonlyAttribute - public var x1: SVGAnimatedLength + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var y1: SVGAnimatedLength + @inlinable public var x1: SVGAnimatedLength { jsObject[Strings.x1].fromJSValue()! } - @ReadonlyAttribute - public var x2: SVGAnimatedLength + @inlinable public var y1: SVGAnimatedLength { jsObject[Strings.y1].fromJSValue()! } - @ReadonlyAttribute - public var y2: SVGAnimatedLength + @inlinable public var x2: SVGAnimatedLength { jsObject[Strings.x2].fromJSValue()! } + + @inlinable public var y2: SVGAnimatedLength { jsObject[Strings.y2].fromJSValue()! } } public class SVGMPathElement: SVGElement, SVGURIReference { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGMPathElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGMPathElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class SVGMarkerElement: SVGElement, SVGFitToViewBox { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGMarkerElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGMarkerElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _refX = ReadonlyAttribute(jsObject: jsObject, name: Strings.refX) - _refY = ReadonlyAttribute(jsObject: jsObject, name: Strings.refY) - _markerUnits = ReadonlyAttribute(jsObject: jsObject, name: Strings.markerUnits) - _markerWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.markerWidth) - _markerHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.markerHeight) - _orientType = ReadonlyAttribute(jsObject: jsObject, name: Strings.orientType) - _orientAngle = ReadonlyAttribute(jsObject: jsObject, name: Strings.orientAngle) - _orient = ReadWriteAttribute(jsObject: jsObject, name: Strings.orient) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } public static let SVG_MARKERUNITS_UNKNOWN: UInt16 = 0 @@ -955,79 +860,61 @@ public class SVGMarkerElement: SVGElement, SVGFitToViewBox { public static let SVG_MARKER_ORIENT_ANGLE: UInt16 = 2 - @ReadonlyAttribute - public var refX: SVGAnimatedLength + @inlinable public var refX: SVGAnimatedLength { jsObject[Strings.refX].fromJSValue()! } - @ReadonlyAttribute - public var refY: SVGAnimatedLength + @inlinable public var refY: SVGAnimatedLength { jsObject[Strings.refY].fromJSValue()! } - @ReadonlyAttribute - public var markerUnits: SVGAnimatedEnumeration + @inlinable public var markerUnits: SVGAnimatedEnumeration { jsObject[Strings.markerUnits].fromJSValue()! } - @ReadonlyAttribute - public var markerWidth: SVGAnimatedLength + @inlinable public var markerWidth: SVGAnimatedLength { jsObject[Strings.markerWidth].fromJSValue()! } - @ReadonlyAttribute - public var markerHeight: SVGAnimatedLength + @inlinable public var markerHeight: SVGAnimatedLength { jsObject[Strings.markerHeight].fromJSValue()! } - @ReadonlyAttribute - public var orientType: SVGAnimatedEnumeration + @inlinable public var orientType: SVGAnimatedEnumeration { jsObject[Strings.orientType].fromJSValue()! } - @ReadonlyAttribute - public var orientAngle: SVGAnimatedAngle + @inlinable public var orientAngle: SVGAnimatedAngle { jsObject[Strings.orientAngle].fromJSValue()! } - @ReadWriteAttribute - public var orient: String + @inlinable public var orient: String { + get { jsObject[Strings.orient].fromJSValue()! } + set { jsObject[Strings.orient] = _toJSValue(newValue) } + } - @inlinable public func setOrientToAuto() { + @inlinable final public func setOrientToAuto() { let this = jsObject _ = this[Strings.setOrientToAuto].function!(this: this, arguments: []) } - @inlinable public func setOrientToAngle(angle: SVGAngle) { + @inlinable final public func setOrientToAngle(angle: SVGAngle) { let this = jsObject _ = this[Strings.setOrientToAngle].function!(this: this, arguments: [_toJSValue(angle)]) } } public class SVGMaskElement: SVGElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGMaskElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGMaskElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _maskUnits = ReadonlyAttribute(jsObject: jsObject, name: Strings.maskUnits) - _maskContentUnits = ReadonlyAttribute(jsObject: jsObject, name: Strings.maskContentUnits) - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var maskUnits: SVGAnimatedEnumeration + @inlinable public var maskUnits: SVGAnimatedEnumeration { jsObject[Strings.maskUnits].fromJSValue()! } - @ReadonlyAttribute - public var maskContentUnits: SVGAnimatedEnumeration + @inlinable public var maskContentUnits: SVGAnimatedEnumeration { jsObject[Strings.maskContentUnits].fromJSValue()! } - @ReadonlyAttribute - public var x: SVGAnimatedLength + @inlinable public var x: SVGAnimatedLength { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var y: SVGAnimatedLength + @inlinable public var y: SVGAnimatedLength { jsObject[Strings.y].fromJSValue()! } - @ReadonlyAttribute - public var width: SVGAnimatedLength + @inlinable public var width: SVGAnimatedLength { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: SVGAnimatedLength + @inlinable public var height: SVGAnimatedLength { jsObject[Strings.height].fromJSValue()! } } public class SVGMetadataElement: SVGElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGMetadataElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGMetadataElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } public class SVGNumber: JSBridgedClass { @@ -1035,13 +922,12 @@ public class SVGNumber: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var value: Float + @inlinable public var value: Float { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } } public class SVGNumberList: JSBridgedClass { @@ -1049,105 +935,88 @@ public class SVGNumberList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _numberOfItems = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfItems) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ReadonlyAttribute - public var numberOfItems: UInt32 + @inlinable public var numberOfItems: UInt32 { jsObject[Strings.numberOfItems].fromJSValue()! } - @inlinable public func clear() { + @inlinable final public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } - @inlinable public func initialize(newItem: SVGNumber) -> SVGNumber { + @inlinable final public func initialize(newItem: SVGNumber) -> SVGNumber { let this = jsObject return this[Strings.initialize].function!(this: this, arguments: [_toJSValue(newItem)]).fromJSValue()! } - @inlinable public func getItem(index: UInt32) -> SVGNumber { + @inlinable final public func getItem(index: UInt32) -> SVGNumber { let this = jsObject return this[Strings.getItem].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func insertItemBefore(newItem: SVGNumber, index: UInt32) -> SVGNumber { + @inlinable final public func insertItemBefore(newItem: SVGNumber, index: UInt32) -> SVGNumber { let this = jsObject - return this[Strings.insertItemBefore].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]).fromJSValue()! + return this[Strings.insertItemBefore].function!( + this: this, + arguments: [_toJSValue(newItem), _toJSValue(index)] + ).fromJSValue()! } - @inlinable public func replaceItem(newItem: SVGNumber, index: UInt32) -> SVGNumber { + @inlinable final public func replaceItem(newItem: SVGNumber, index: UInt32) -> SVGNumber { let this = jsObject - return this[Strings.replaceItem].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]).fromJSValue()! + return this[Strings.replaceItem].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]) + .fromJSValue()! } - @inlinable public func removeItem(index: UInt32) -> SVGNumber { + @inlinable final public func removeItem(index: UInt32) -> SVGNumber { let this = jsObject return this[Strings.removeItem].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func appendItem(newItem: SVGNumber) -> SVGNumber { + @inlinable final public func appendItem(newItem: SVGNumber) -> SVGNumber { let this = jsObject return this[Strings.appendItem].function!(this: this, arguments: [_toJSValue(newItem)]).fromJSValue()! } @inlinable public subscript(key: Int) -> SVGNumber { - get { - jsObject[key].fromJSValue()! - } - set { - jsObject[key] = _toJSValue(newValue) - } + get { jsObject[key].fromJSValue()! } + set { jsObject[key] = _toJSValue(newValue) } } } public class SVGPathElement: SVGGeometryElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGPathElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGPathElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class SVGPatternElement: SVGElement, SVGFitToViewBox, SVGURIReference { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGPatternElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _patternUnits = ReadonlyAttribute(jsObject: jsObject, name: Strings.patternUnits) - _patternContentUnits = ReadonlyAttribute(jsObject: jsObject, name: Strings.patternContentUnits) - _patternTransform = ReadonlyAttribute(jsObject: jsObject, name: Strings.patternTransform) - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGPatternElement].function } - @ReadonlyAttribute - public var patternUnits: SVGAnimatedEnumeration + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var patternUnits: SVGAnimatedEnumeration { jsObject[Strings.patternUnits].fromJSValue()! } - @ReadonlyAttribute - public var patternContentUnits: SVGAnimatedEnumeration + @inlinable public var patternContentUnits: SVGAnimatedEnumeration { + jsObject[Strings.patternContentUnits].fromJSValue()! + } - @ReadonlyAttribute - public var patternTransform: SVGAnimatedTransformList + @inlinable public var patternTransform: SVGAnimatedTransformList { + jsObject[Strings.patternTransform].fromJSValue()! + } - @ReadonlyAttribute - public var x: SVGAnimatedLength + @inlinable public var x: SVGAnimatedLength { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var y: SVGAnimatedLength + @inlinable public var y: SVGAnimatedLength { jsObject[Strings.y].fromJSValue()! } - @ReadonlyAttribute - public var width: SVGAnimatedLength + @inlinable public var width: SVGAnimatedLength { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: SVGAnimatedLength + @inlinable public var height: SVGAnimatedLength { jsObject[Strings.height].fromJSValue()! } } public class SVGPointList: JSBridgedClass { @@ -1155,77 +1024,73 @@ public class SVGPointList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _numberOfItems = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfItems) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ReadonlyAttribute - public var numberOfItems: UInt32 + @inlinable public var numberOfItems: UInt32 { jsObject[Strings.numberOfItems].fromJSValue()! } - @inlinable public func clear() { + @inlinable final public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } - @inlinable public func initialize(newItem: DOMPoint) -> DOMPoint { + @inlinable final public func initialize(newItem: DOMPoint) -> DOMPoint { let this = jsObject return this[Strings.initialize].function!(this: this, arguments: [_toJSValue(newItem)]).fromJSValue()! } - @inlinable public func getItem(index: UInt32) -> DOMPoint { + @inlinable final public func getItem(index: UInt32) -> DOMPoint { let this = jsObject return this[Strings.getItem].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func insertItemBefore(newItem: DOMPoint, index: UInt32) -> DOMPoint { + @inlinable final public func insertItemBefore(newItem: DOMPoint, index: UInt32) -> DOMPoint { let this = jsObject - return this[Strings.insertItemBefore].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]).fromJSValue()! + return this[Strings.insertItemBefore].function!( + this: this, + arguments: [_toJSValue(newItem), _toJSValue(index)] + ).fromJSValue()! } - @inlinable public func replaceItem(newItem: DOMPoint, index: UInt32) -> DOMPoint { + @inlinable final public func replaceItem(newItem: DOMPoint, index: UInt32) -> DOMPoint { let this = jsObject - return this[Strings.replaceItem].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]).fromJSValue()! + return this[Strings.replaceItem].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]) + .fromJSValue()! } - @inlinable public func removeItem(index: UInt32) -> DOMPoint { + @inlinable final public func removeItem(index: UInt32) -> DOMPoint { let this = jsObject return this[Strings.removeItem].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func appendItem(newItem: DOMPoint) -> DOMPoint { + @inlinable final public func appendItem(newItem: DOMPoint) -> DOMPoint { let this = jsObject return this[Strings.appendItem].function!(this: this, arguments: [_toJSValue(newItem)]).fromJSValue()! } @inlinable public subscript(key: Int) -> DOMPoint { - get { - jsObject[key].fromJSValue()! - } - set { - jsObject[key] = _toJSValue(newValue) - } + get { jsObject[key].fromJSValue()! } + set { jsObject[key] = _toJSValue(newValue) } } } public class SVGPolygonElement: SVGGeometryElement, SVGAnimatedPoints { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGPolygonElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGPolygonElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } public class SVGPolylineElement: SVGGeometryElement, SVGAnimatedPoints { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGPolylineElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGPolylineElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } public class SVGPreserveAspectRatio: JSBridgedClass { @@ -1233,11 +1098,7 @@ public class SVGPreserveAspectRatio: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _meetOrSlice = ReadWriteAttribute(jsObject: jsObject, name: Strings.meetOrSlice) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } public static let SVG_PRESERVEASPECTRATIO_UNKNOWN: UInt16 = 0 @@ -1267,258 +1128,232 @@ public class SVGPreserveAspectRatio: JSBridgedClass { public static let SVG_MEETORSLICE_SLICE: UInt16 = 2 - @ReadWriteAttribute - public var align: UInt16 + @inlinable public var align: UInt16 { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var meetOrSlice: UInt16 + @inlinable public var meetOrSlice: UInt16 { + get { jsObject[Strings.meetOrSlice].fromJSValue()! } + set { jsObject[Strings.meetOrSlice] = _toJSValue(newValue) } + } } public class SVGRadialGradientElement: SVGGradientElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGRadialGradientElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _cx = ReadonlyAttribute(jsObject: jsObject, name: Strings.cx) - _cy = ReadonlyAttribute(jsObject: jsObject, name: Strings.cy) - _r = ReadonlyAttribute(jsObject: jsObject, name: Strings.r) - _fx = ReadonlyAttribute(jsObject: jsObject, name: Strings.fx) - _fy = ReadonlyAttribute(jsObject: jsObject, name: Strings.fy) - _fr = ReadonlyAttribute(jsObject: jsObject, name: Strings.fr) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGRadialGradientElement].function } - @ReadonlyAttribute - public var cx: SVGAnimatedLength + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var cy: SVGAnimatedLength + @inlinable public var cx: SVGAnimatedLength { jsObject[Strings.cx].fromJSValue()! } - @ReadonlyAttribute - public var r: SVGAnimatedLength + @inlinable public var cy: SVGAnimatedLength { jsObject[Strings.cy].fromJSValue()! } - @ReadonlyAttribute - public var fx: SVGAnimatedLength + @inlinable public var r: SVGAnimatedLength { jsObject[Strings.r].fromJSValue()! } - @ReadonlyAttribute - public var fy: SVGAnimatedLength + @inlinable public var fx: SVGAnimatedLength { jsObject[Strings.fx].fromJSValue()! } - @ReadonlyAttribute - public var fr: SVGAnimatedLength + @inlinable public var fy: SVGAnimatedLength { jsObject[Strings.fy].fromJSValue()! } + + @inlinable public var fr: SVGAnimatedLength { jsObject[Strings.fr].fromJSValue()! } } public class SVGRectElement: SVGGeometryElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGRectElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGRectElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _rx = ReadonlyAttribute(jsObject: jsObject, name: Strings.rx) - _ry = ReadonlyAttribute(jsObject: jsObject, name: Strings.ry) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var x: SVGAnimatedLength + @inlinable public var x: SVGAnimatedLength { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var y: SVGAnimatedLength + @inlinable public var y: SVGAnimatedLength { jsObject[Strings.y].fromJSValue()! } - @ReadonlyAttribute - public var width: SVGAnimatedLength + @inlinable public var width: SVGAnimatedLength { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: SVGAnimatedLength + @inlinable public var height: SVGAnimatedLength { jsObject[Strings.height].fromJSValue()! } - @ReadonlyAttribute - public var rx: SVGAnimatedLength + @inlinable public var rx: SVGAnimatedLength { jsObject[Strings.rx].fromJSValue()! } - @ReadonlyAttribute - public var ry: SVGAnimatedLength + @inlinable public var ry: SVGAnimatedLength { jsObject[Strings.ry].fromJSValue()! } } public class SVGSVGElement: SVGGraphicsElement, SVGFitToViewBox, WindowEventHandlers { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGSVGElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGSVGElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _currentScale = ReadWriteAttribute(jsObject: jsObject, name: Strings.currentScale) - _currentTranslate = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentTranslate) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var x: SVGAnimatedLength + @inlinable public var x: SVGAnimatedLength { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var y: SVGAnimatedLength + @inlinable public var y: SVGAnimatedLength { jsObject[Strings.y].fromJSValue()! } - @ReadonlyAttribute - public var width: SVGAnimatedLength + @inlinable public var width: SVGAnimatedLength { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: SVGAnimatedLength + @inlinable public var height: SVGAnimatedLength { jsObject[Strings.height].fromJSValue()! } - @ReadWriteAttribute - public var currentScale: Float + @inlinable public var currentScale: Float { + get { jsObject[Strings.currentScale].fromJSValue()! } + set { jsObject[Strings.currentScale] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var currentTranslate: DOMPointReadOnly + @inlinable public var currentTranslate: DOMPointReadOnly { jsObject[Strings.currentTranslate].fromJSValue()! } - @inlinable public func getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement?) -> NodeList { + @inlinable final public func getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement?) -> NodeList { let this = jsObject - return this[Strings.getIntersectionList].function!(this: this, arguments: [_toJSValue(rect), _toJSValue(referenceElement)]).fromJSValue()! + return this[Strings.getIntersectionList].function!( + this: this, + arguments: [_toJSValue(rect), _toJSValue(referenceElement)] + ).fromJSValue()! } - @inlinable public func getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement?) -> NodeList { + @inlinable final public func getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement?) -> NodeList { let this = jsObject - return this[Strings.getEnclosureList].function!(this: this, arguments: [_toJSValue(rect), _toJSValue(referenceElement)]).fromJSValue()! + return this[Strings.getEnclosureList].function!( + this: this, + arguments: [_toJSValue(rect), _toJSValue(referenceElement)] + ).fromJSValue()! } - @inlinable public func checkIntersection(element: SVGElement, rect: DOMRectReadOnly) -> Bool { + @inlinable final public func checkIntersection(element: SVGElement, rect: DOMRectReadOnly) -> Bool { let this = jsObject - return this[Strings.checkIntersection].function!(this: this, arguments: [_toJSValue(element), _toJSValue(rect)]).fromJSValue()! + return this[Strings.checkIntersection].function!( + this: this, + arguments: [_toJSValue(element), _toJSValue(rect)] + ).fromJSValue()! } - @inlinable public func checkEnclosure(element: SVGElement, rect: DOMRectReadOnly) -> Bool { + @inlinable final public func checkEnclosure(element: SVGElement, rect: DOMRectReadOnly) -> Bool { let this = jsObject - return this[Strings.checkEnclosure].function!(this: this, arguments: [_toJSValue(element), _toJSValue(rect)]).fromJSValue()! + return this[Strings.checkEnclosure].function!(this: this, arguments: [_toJSValue(element), _toJSValue(rect)]) + .fromJSValue()! } - @inlinable public func deselectAll() { + @inlinable final public func deselectAll() { let this = jsObject _ = this[Strings.deselectAll].function!(this: this, arguments: []) } - @inlinable public func createSVGNumber() -> SVGNumber { + @inlinable final public func createSVGNumber() -> SVGNumber { let this = jsObject return this[Strings.createSVGNumber].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createSVGLength() -> SVGLength { + @inlinable final public func createSVGLength() -> SVGLength { let this = jsObject return this[Strings.createSVGLength].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createSVGAngle() -> SVGAngle { + @inlinable final public func createSVGAngle() -> SVGAngle { let this = jsObject return this[Strings.createSVGAngle].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createSVGPoint() -> DOMPoint { + @inlinable final public func createSVGPoint() -> DOMPoint { let this = jsObject return this[Strings.createSVGPoint].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createSVGMatrix() -> DOMMatrix { + @inlinable final public func createSVGMatrix() -> DOMMatrix { let this = jsObject return this[Strings.createSVGMatrix].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createSVGRect() -> DOMRect { + @inlinable final public func createSVGRect() -> DOMRect { let this = jsObject return this[Strings.createSVGRect].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createSVGTransform() -> SVGTransform { + @inlinable final public func createSVGTransform() -> SVGTransform { let this = jsObject return this[Strings.createSVGTransform].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createSVGTransformFromMatrix(matrix: DOMMatrix2DInit? = nil) -> SVGTransform { + @inlinable final public func createSVGTransformFromMatrix(matrix: DOMMatrix2DInit? = nil) -> SVGTransform { let this = jsObject - return this[Strings.createSVGTransformFromMatrix].function!(this: this, arguments: [_toJSValue(matrix)]).fromJSValue()! + return this[Strings.createSVGTransformFromMatrix].function!(this: this, arguments: [_toJSValue(matrix)]) + .fromJSValue()! } - @inlinable public func getElementById(elementId: String) -> Element { + @inlinable final public func getElementById(elementId: String) -> Element { let this = jsObject return this[Strings.getElementById].function!(this: this, arguments: [_toJSValue(elementId)]).fromJSValue()! } - @inlinable public func suspendRedraw(maxWaitMilliseconds: UInt32) -> UInt32 { + @inlinable final public func suspendRedraw(maxWaitMilliseconds: UInt32) -> UInt32 { let this = jsObject - return this[Strings.suspendRedraw].function!(this: this, arguments: [_toJSValue(maxWaitMilliseconds)]).fromJSValue()! + return this[Strings.suspendRedraw].function!(this: this, arguments: [_toJSValue(maxWaitMilliseconds)]) + .fromJSValue()! } - @inlinable public func unsuspendRedraw(suspendHandleID: UInt32) { + @inlinable final public func unsuspendRedraw(suspendHandleID: UInt32) { let this = jsObject _ = this[Strings.unsuspendRedraw].function!(this: this, arguments: [_toJSValue(suspendHandleID)]) } - @inlinable public func unsuspendRedrawAll() { + @inlinable final public func unsuspendRedrawAll() { let this = jsObject _ = this[Strings.unsuspendRedrawAll].function!(this: this, arguments: []) } - @inlinable public func forceRedraw() { + @inlinable final public func forceRedraw() { let this = jsObject _ = this[Strings.forceRedraw].function!(this: this, arguments: []) } - @inlinable public func pauseAnimations() { + @inlinable final public func pauseAnimations() { let this = jsObject _ = this[Strings.pauseAnimations].function!(this: this, arguments: []) } - @inlinable public func unpauseAnimations() { + @inlinable final public func unpauseAnimations() { let this = jsObject _ = this[Strings.unpauseAnimations].function!(this: this, arguments: []) } - @inlinable public func animationsPaused() -> Bool { + @inlinable final public func animationsPaused() -> Bool { let this = jsObject return this[Strings.animationsPaused].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getCurrentTime() -> Float { + @inlinable final public func getCurrentTime() -> Float { let this = jsObject return this[Strings.getCurrentTime].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCurrentTime(seconds: Float) { + @inlinable final public func setCurrentTime(seconds: Float) { let this = jsObject _ = this[Strings.setCurrentTime].function!(this: this, arguments: [_toJSValue(seconds)]) } } public class SVGScriptElement: SVGElement, SVGURIReference { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGScriptElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGScriptElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var crossOrigin: String? + @inlinable public var crossOrigin: String? { + get { jsObject[Strings.crossOrigin].fromJSValue() } + set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } + } } public class SVGSetElement: SVGAnimationElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGSetElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGSetElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class SVGStopElement: SVGElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGStopElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGStopElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _offset = ReadonlyAttribute(jsObject: jsObject, name: Strings.offset) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var offset: SVGAnimatedNumber + @inlinable public var offset: SVGAnimatedNumber { jsObject[Strings.offset].fromJSValue()! } } public class SVGStringList: JSBridgedClass { @@ -1526,199 +1361,186 @@ public class SVGStringList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _numberOfItems = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfItems) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ReadonlyAttribute - public var numberOfItems: UInt32 + @inlinable public var numberOfItems: UInt32 { jsObject[Strings.numberOfItems].fromJSValue()! } - @inlinable public func clear() { + @inlinable final public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } - @inlinable public func initialize(newItem: String) -> String { + @inlinable final public func initialize(newItem: String) -> String { let this = jsObject return this[Strings.initialize].function!(this: this, arguments: [_toJSValue(newItem)]).fromJSValue()! } - @inlinable public func getItem(index: UInt32) -> String { + @inlinable final public func getItem(index: UInt32) -> String { let this = jsObject return this[Strings.getItem].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func insertItemBefore(newItem: String, index: UInt32) -> String { + @inlinable final public func insertItemBefore(newItem: String, index: UInt32) -> String { let this = jsObject - return this[Strings.insertItemBefore].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]).fromJSValue()! + return this[Strings.insertItemBefore].function!( + this: this, + arguments: [_toJSValue(newItem), _toJSValue(index)] + ).fromJSValue()! } - @inlinable public func replaceItem(newItem: String, index: UInt32) -> String { + @inlinable final public func replaceItem(newItem: String, index: UInt32) -> String { let this = jsObject - return this[Strings.replaceItem].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]).fromJSValue()! + return this[Strings.replaceItem].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]) + .fromJSValue()! } - @inlinable public func removeItem(index: UInt32) -> String { + @inlinable final public func removeItem(index: UInt32) -> String { let this = jsObject return this[Strings.removeItem].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func appendItem(newItem: String) -> String { + @inlinable final public func appendItem(newItem: String) -> String { let this = jsObject return this[Strings.appendItem].function!(this: this, arguments: [_toJSValue(newItem)]).fromJSValue()! } @inlinable public subscript(key: Int) -> String { - get { - jsObject[key].fromJSValue()! - } - set { - jsObject[key] = _toJSValue(newValue) - } + get { jsObject[key].fromJSValue()! } + set { jsObject[key] = _toJSValue(newValue) } } } public class SVGStyleElement: SVGElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGStyleElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGStyleElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _media = ReadWriteAttribute(jsObject: jsObject, name: Strings.media) - _title = ReadWriteAttribute(jsObject: jsObject, name: Strings.title) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var media: String + @inlinable public var media: String { + get { jsObject[Strings.media].fromJSValue()! } + set { jsObject[Strings.media] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var title: String + @inlinable public var title: String { + get { jsObject[Strings.title].fromJSValue()! } + set { jsObject[Strings.title] = _toJSValue(newValue) } + } } public class SVGSwitchElement: SVGGraphicsElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGSwitchElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGSwitchElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class SVGSymbolElement: SVGGraphicsElement, SVGFitToViewBox { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGSymbolElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGSymbolElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class SVGTSpanElement: SVGTextPositioningElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGTSpanElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGTSpanElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public protocol SVGTests: JSBridgedClass {} -public extension SVGTests { - @inlinable var requiredExtensions: SVGStringList { jsObject[Strings.requiredExtensions].fromJSValue()! } +extension SVGTests { + @inlinable public var requiredExtensions: SVGStringList { jsObject[Strings.requiredExtensions].fromJSValue()! } - @inlinable var systemLanguage: SVGStringList { jsObject[Strings.systemLanguage].fromJSValue()! } + @inlinable public var systemLanguage: SVGStringList { jsObject[Strings.systemLanguage].fromJSValue()! } } - public class SVGTextContentElement: SVGGraphicsElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGTextContentElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _textLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.textLength) - _lengthAdjust = ReadonlyAttribute(jsObject: jsObject, name: Strings.lengthAdjust) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGTextContentElement].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public static let LENGTHADJUST_UNKNOWN: UInt16 = 0 public static let LENGTHADJUST_SPACING: UInt16 = 1 public static let LENGTHADJUST_SPACINGANDGLYPHS: UInt16 = 2 - @ReadonlyAttribute - public var textLength: SVGAnimatedLength + @inlinable public var textLength: SVGAnimatedLength { jsObject[Strings.textLength].fromJSValue()! } - @ReadonlyAttribute - public var lengthAdjust: SVGAnimatedEnumeration + @inlinable public var lengthAdjust: SVGAnimatedEnumeration { jsObject[Strings.lengthAdjust].fromJSValue()! } - @inlinable public func getNumberOfChars() -> Int32 { + @inlinable final public func getNumberOfChars() -> Int32 { let this = jsObject return this[Strings.getNumberOfChars].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getComputedTextLength() -> Float { + @inlinable final public func getComputedTextLength() -> Float { let this = jsObject return this[Strings.getComputedTextLength].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getSubStringLength(charnum: UInt32, nchars: UInt32) -> Float { + @inlinable final public func getSubStringLength(charnum: UInt32, nchars: UInt32) -> Float { let this = jsObject - return this[Strings.getSubStringLength].function!(this: this, arguments: [_toJSValue(charnum), _toJSValue(nchars)]).fromJSValue()! + return this[Strings.getSubStringLength].function!( + this: this, + arguments: [_toJSValue(charnum), _toJSValue(nchars)] + ).fromJSValue()! } - @inlinable public func getStartPositionOfChar(charnum: UInt32) -> DOMPoint { + @inlinable final public func getStartPositionOfChar(charnum: UInt32) -> DOMPoint { let this = jsObject - return this[Strings.getStartPositionOfChar].function!(this: this, arguments: [_toJSValue(charnum)]).fromJSValue()! + return this[Strings.getStartPositionOfChar].function!(this: this, arguments: [_toJSValue(charnum)]) + .fromJSValue()! } - @inlinable public func getEndPositionOfChar(charnum: UInt32) -> DOMPoint { + @inlinable final public func getEndPositionOfChar(charnum: UInt32) -> DOMPoint { let this = jsObject return this[Strings.getEndPositionOfChar].function!(this: this, arguments: [_toJSValue(charnum)]).fromJSValue()! } - @inlinable public func getExtentOfChar(charnum: UInt32) -> DOMRect { + @inlinable final public func getExtentOfChar(charnum: UInt32) -> DOMRect { let this = jsObject return this[Strings.getExtentOfChar].function!(this: this, arguments: [_toJSValue(charnum)]).fromJSValue()! } - @inlinable public func getRotationOfChar(charnum: UInt32) -> Float { + @inlinable final public func getRotationOfChar(charnum: UInt32) -> Float { let this = jsObject return this[Strings.getRotationOfChar].function!(this: this, arguments: [_toJSValue(charnum)]).fromJSValue()! } - @inlinable public func getCharNumAtPosition(point: DOMPointInit? = nil) -> Int32 { + @inlinable final public func getCharNumAtPosition(point: DOMPointInit? = nil) -> Int32 { let this = jsObject return this[Strings.getCharNumAtPosition].function!(this: this, arguments: [_toJSValue(point)]).fromJSValue()! } - @inlinable public func selectSubString(charnum: UInt32, nchars: UInt32) { + @inlinable final public func selectSubString(charnum: UInt32, nchars: UInt32) { let this = jsObject _ = this[Strings.selectSubString].function!(this: this, arguments: [_toJSValue(charnum), _toJSValue(nchars)]) } } public class SVGTextElement: SVGTextPositioningElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGTextElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGTextElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class SVGTextPathElement: SVGTextContentElement, SVGURIReference { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGTextPathElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _startOffset = ReadonlyAttribute(jsObject: jsObject, name: Strings.startOffset) - _method = ReadonlyAttribute(jsObject: jsObject, name: Strings.method) - _spacing = ReadonlyAttribute(jsObject: jsObject, name: Strings.spacing) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGTextPathElement].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public static let TEXTPATH_METHODTYPE_UNKNOWN: UInt16 = 0 public static let TEXTPATH_METHODTYPE_ALIGN: UInt16 = 1 @@ -1731,50 +1553,36 @@ public class SVGTextPathElement: SVGTextContentElement, SVGURIReference { public static let TEXTPATH_SPACINGTYPE_EXACT: UInt16 = 2 - @ReadonlyAttribute - public var startOffset: SVGAnimatedLength + @inlinable public var startOffset: SVGAnimatedLength { jsObject[Strings.startOffset].fromJSValue()! } - @ReadonlyAttribute - public var method: SVGAnimatedEnumeration + @inlinable public var method: SVGAnimatedEnumeration { jsObject[Strings.method].fromJSValue()! } - @ReadonlyAttribute - public var spacing: SVGAnimatedEnumeration + @inlinable public var spacing: SVGAnimatedEnumeration { jsObject[Strings.spacing].fromJSValue()! } } public class SVGTextPositioningElement: SVGTextContentElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGTextPositioningElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _dx = ReadonlyAttribute(jsObject: jsObject, name: Strings.dx) - _dy = ReadonlyAttribute(jsObject: jsObject, name: Strings.dy) - _rotate = ReadonlyAttribute(jsObject: jsObject, name: Strings.rotate) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGTextPositioningElement].function } - @ReadonlyAttribute - public var x: SVGAnimatedLengthList + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var y: SVGAnimatedLengthList + @inlinable public var x: SVGAnimatedLengthList { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var dx: SVGAnimatedLengthList + @inlinable public var y: SVGAnimatedLengthList { jsObject[Strings.y].fromJSValue()! } - @ReadonlyAttribute - public var dy: SVGAnimatedLengthList + @inlinable public var dx: SVGAnimatedLengthList { jsObject[Strings.dx].fromJSValue()! } - @ReadonlyAttribute - public var rotate: SVGAnimatedNumberList + @inlinable public var dy: SVGAnimatedLengthList { jsObject[Strings.dy].fromJSValue()! } + + @inlinable public var rotate: SVGAnimatedNumberList { jsObject[Strings.rotate].fromJSValue()! } } public class SVGTitleElement: SVGElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGTitleElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGTitleElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class SVGTransform: JSBridgedClass { @@ -1782,12 +1590,7 @@ public class SVGTransform: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _matrix = ReadonlyAttribute(jsObject: jsObject, name: Strings.matrix) - _angle = ReadonlyAttribute(jsObject: jsObject, name: Strings.angle) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } public static let SVG_TRANSFORM_UNKNOWN: UInt16 = 0 @@ -1803,41 +1606,41 @@ public class SVGTransform: JSBridgedClass { public static let SVG_TRANSFORM_SKEWY: UInt16 = 6 - @ReadonlyAttribute - public var type: UInt16 + @inlinable public var type: UInt16 { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var matrix: DOMMatrix + @inlinable public var matrix: DOMMatrix { jsObject[Strings.matrix].fromJSValue()! } - @ReadonlyAttribute - public var angle: Float + @inlinable public var angle: Float { jsObject[Strings.angle].fromJSValue()! } - @inlinable public func setMatrix(matrix: DOMMatrix2DInit? = nil) { + @inlinable final public func setMatrix(matrix: DOMMatrix2DInit? = nil) { let this = jsObject _ = this[Strings.setMatrix].function!(this: this, arguments: [_toJSValue(matrix)]) } - @inlinable public func setTranslate(tx: Float, ty: Float) { + @inlinable final public func setTranslate(tx: Float, ty: Float) { let this = jsObject _ = this[Strings.setTranslate].function!(this: this, arguments: [_toJSValue(tx), _toJSValue(ty)]) } - @inlinable public func setScale(sx: Float, sy: Float) { + @inlinable final public func setScale(sx: Float, sy: Float) { let this = jsObject _ = this[Strings.setScale].function!(this: this, arguments: [_toJSValue(sx), _toJSValue(sy)]) } - @inlinable public func setRotate(angle: Float, cx: Float, cy: Float) { + @inlinable final public func setRotate(angle: Float, cx: Float, cy: Float) { let this = jsObject - _ = this[Strings.setRotate].function!(this: this, arguments: [_toJSValue(angle), _toJSValue(cx), _toJSValue(cy)]) + _ = this[Strings.setRotate].function!( + this: this, + arguments: [_toJSValue(angle), _toJSValue(cx), _toJSValue(cy)] + ) } - @inlinable public func setSkewX(angle: Float) { + @inlinable final public func setSkewX(angle: Float) { let this = jsObject _ = this[Strings.setSkewX].function!(this: this, arguments: [_toJSValue(angle)]) } - @inlinable public func setSkewY(angle: Float) { + @inlinable final public func setSkewY(angle: Float) { let this = jsObject _ = this[Strings.setSkewY].function!(this: this, arguments: [_toJSValue(angle)]) } @@ -1848,86 +1651,76 @@ public class SVGTransformList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _numberOfItems = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfItems) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ReadonlyAttribute - public var numberOfItems: UInt32 + @inlinable public var numberOfItems: UInt32 { jsObject[Strings.numberOfItems].fromJSValue()! } - @inlinable public func clear() { + @inlinable final public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } - @inlinable public func initialize(newItem: SVGTransform) -> SVGTransform { + @inlinable final public func initialize(newItem: SVGTransform) -> SVGTransform { let this = jsObject return this[Strings.initialize].function!(this: this, arguments: [_toJSValue(newItem)]).fromJSValue()! } - @inlinable public func getItem(index: UInt32) -> SVGTransform { + @inlinable final public func getItem(index: UInt32) -> SVGTransform { let this = jsObject return this[Strings.getItem].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func insertItemBefore(newItem: SVGTransform, index: UInt32) -> SVGTransform { + @inlinable final public func insertItemBefore(newItem: SVGTransform, index: UInt32) -> SVGTransform { let this = jsObject - return this[Strings.insertItemBefore].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]).fromJSValue()! + return this[Strings.insertItemBefore].function!( + this: this, + arguments: [_toJSValue(newItem), _toJSValue(index)] + ).fromJSValue()! } - @inlinable public func replaceItem(newItem: SVGTransform, index: UInt32) -> SVGTransform { + @inlinable final public func replaceItem(newItem: SVGTransform, index: UInt32) -> SVGTransform { let this = jsObject - return this[Strings.replaceItem].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]).fromJSValue()! + return this[Strings.replaceItem].function!(this: this, arguments: [_toJSValue(newItem), _toJSValue(index)]) + .fromJSValue()! } - @inlinable public func removeItem(index: UInt32) -> SVGTransform { + @inlinable final public func removeItem(index: UInt32) -> SVGTransform { let this = jsObject return this[Strings.removeItem].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func appendItem(newItem: SVGTransform) -> SVGTransform { + @inlinable final public func appendItem(newItem: SVGTransform) -> SVGTransform { let this = jsObject return this[Strings.appendItem].function!(this: this, arguments: [_toJSValue(newItem)]).fromJSValue()! } @inlinable public subscript(key: Int) -> SVGTransform { - get { - jsObject[key].fromJSValue()! - } - set { - jsObject[key] = _toJSValue(newValue) - } + get { jsObject[key].fromJSValue()! } + set { jsObject[key] = _toJSValue(newValue) } } - @inlinable public func createSVGTransformFromMatrix(matrix: DOMMatrix2DInit? = nil) -> SVGTransform { + @inlinable final public func createSVGTransformFromMatrix(matrix: DOMMatrix2DInit? = nil) -> SVGTransform { let this = jsObject - return this[Strings.createSVGTransformFromMatrix].function!(this: this, arguments: [_toJSValue(matrix)]).fromJSValue()! + return this[Strings.createSVGTransformFromMatrix].function!(this: this, arguments: [_toJSValue(matrix)]) + .fromJSValue()! } - @inlinable public func consolidate() -> SVGTransform? { + @inlinable final public func consolidate() -> SVGTransform? { let this = jsObject return this[Strings.consolidate].function!(this: this, arguments: []).fromJSValue() } } public protocol SVGURIReference: JSBridgedClass {} -public extension SVGURIReference { - @inlinable var href: SVGAnimatedString { jsObject[Strings.href].fromJSValue()! } -} - +extension SVGURIReference { @inlinable public var href: SVGAnimatedString { jsObject[Strings.href].fromJSValue()! } } public class SVGUnitTypes: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.SVGUnitTypes].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } public static let SVG_UNIT_TYPE_UNKNOWN: UInt16 = 0 @@ -1937,315 +1730,298 @@ public class SVGUnitTypes: JSBridgedClass { } public class SVGUseElement: SVGGraphicsElement, SVGURIReference { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGUseElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGUseElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _instanceRoot = ReadonlyAttribute(jsObject: jsObject, name: Strings.instanceRoot) - _animatedInstanceRoot = ReadonlyAttribute(jsObject: jsObject, name: Strings.animatedInstanceRoot) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var x: SVGAnimatedLength + @inlinable public var x: SVGAnimatedLength { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var y: SVGAnimatedLength + @inlinable public var y: SVGAnimatedLength { jsObject[Strings.y].fromJSValue()! } - @ReadonlyAttribute - public var width: SVGAnimatedLength + @inlinable public var width: SVGAnimatedLength { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: SVGAnimatedLength + @inlinable public var height: SVGAnimatedLength { jsObject[Strings.height].fromJSValue()! } - @ReadonlyAttribute - public var instanceRoot: SVGElement? + @inlinable public var instanceRoot: SVGElement? { jsObject[Strings.instanceRoot].fromJSValue() } - @ReadonlyAttribute - public var animatedInstanceRoot: SVGElement? + @inlinable public var animatedInstanceRoot: SVGElement? { jsObject[Strings.animatedInstanceRoot].fromJSValue() } } public class SVGUseElementShadowRoot: ShadowRoot { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGUseElementShadowRoot].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.SVGUseElementShadowRoot].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } public class SVGViewElement: SVGElement, SVGFitToViewBox { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SVGViewElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SVGViewElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class TimeEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TimeEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TimeEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _view = ReadonlyAttribute(jsObject: jsObject, name: Strings.view) - _detail = ReadonlyAttribute(jsObject: jsObject, name: Strings.detail) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var view: WindowProxy? + @inlinable public var view: WindowProxy? { jsObject[Strings.view].fromJSValue() } - @ReadonlyAttribute - public var detail: Int32 + @inlinable public var detail: Int32 { jsObject[Strings.detail].fromJSValue()! } - @inlinable public func initTimeEvent(typeArg: String, viewArg: Window?, detailArg: Int32) { + @inlinable final public func initTimeEvent(typeArg: String, viewArg: Window?, detailArg: Int32) { let this = jsObject - _ = this[Strings.initTimeEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(viewArg), _toJSValue(detailArg)]) + _ = this[Strings.initTimeEvent].function!( + this: this, + arguments: [_toJSValue(typeArg), _toJSValue(viewArg), _toJSValue(detailArg)] + ) } } @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let Object: JSString = "Object" - @usableFromInline static let SVGAElement: JSString = "SVGAElement" - @usableFromInline static let SVGAngle: JSString = "SVGAngle" - @usableFromInline static let SVGAnimateElement: JSString = "SVGAnimateElement" - @usableFromInline static let SVGAnimateMotionElement: JSString = "SVGAnimateMotionElement" - @usableFromInline static let SVGAnimateTransformElement: JSString = "SVGAnimateTransformElement" - @usableFromInline static let SVGAnimatedAngle: JSString = "SVGAnimatedAngle" - @usableFromInline static let SVGAnimatedBoolean: JSString = "SVGAnimatedBoolean" - @usableFromInline static let SVGAnimatedEnumeration: JSString = "SVGAnimatedEnumeration" - @usableFromInline static let SVGAnimatedInteger: JSString = "SVGAnimatedInteger" - @usableFromInline static let SVGAnimatedLength: JSString = "SVGAnimatedLength" - @usableFromInline static let SVGAnimatedLengthList: JSString = "SVGAnimatedLengthList" - @usableFromInline static let SVGAnimatedNumber: JSString = "SVGAnimatedNumber" - @usableFromInline static let SVGAnimatedNumberList: JSString = "SVGAnimatedNumberList" - @usableFromInline static let SVGAnimatedPreserveAspectRatio: JSString = "SVGAnimatedPreserveAspectRatio" - @usableFromInline static let SVGAnimatedRect: JSString = "SVGAnimatedRect" - @usableFromInline static let SVGAnimatedString: JSString = "SVGAnimatedString" - @usableFromInline static let SVGAnimatedTransformList: JSString = "SVGAnimatedTransformList" - @usableFromInline static let SVGAnimationElement: JSString = "SVGAnimationElement" - @usableFromInline static let SVGCircleElement: JSString = "SVGCircleElement" - @usableFromInline static let SVGClipPathElement: JSString = "SVGClipPathElement" - @usableFromInline static let SVGDefsElement: JSString = "SVGDefsElement" - @usableFromInline static let SVGDescElement: JSString = "SVGDescElement" - @usableFromInline static let SVGDiscardElement: JSString = "SVGDiscardElement" - @usableFromInline static let SVGElement: JSString = "SVGElement" - @usableFromInline static let SVGEllipseElement: JSString = "SVGEllipseElement" - @usableFromInline static let SVGForeignObjectElement: JSString = "SVGForeignObjectElement" - @usableFromInline static let SVGGElement: JSString = "SVGGElement" - @usableFromInline static let SVGGeometryElement: JSString = "SVGGeometryElement" - @usableFromInline static let SVGGradientElement: JSString = "SVGGradientElement" - @usableFromInline static let SVGGraphicsElement: JSString = "SVGGraphicsElement" - @usableFromInline static let SVGImageElement: JSString = "SVGImageElement" - @usableFromInline static let SVGLength: JSString = "SVGLength" - @usableFromInline static let SVGLengthList: JSString = "SVGLengthList" - @usableFromInline static let SVGLineElement: JSString = "SVGLineElement" - @usableFromInline static let SVGLinearGradientElement: JSString = "SVGLinearGradientElement" - @usableFromInline static let SVGMPathElement: JSString = "SVGMPathElement" - @usableFromInline static let SVGMarkerElement: JSString = "SVGMarkerElement" - @usableFromInline static let SVGMaskElement: JSString = "SVGMaskElement" - @usableFromInline static let SVGMetadataElement: JSString = "SVGMetadataElement" - @usableFromInline static let SVGNumber: JSString = "SVGNumber" - @usableFromInline static let SVGNumberList: JSString = "SVGNumberList" - @usableFromInline static let SVGPathElement: JSString = "SVGPathElement" - @usableFromInline static let SVGPatternElement: JSString = "SVGPatternElement" - @usableFromInline static let SVGPointList: JSString = "SVGPointList" - @usableFromInline static let SVGPolygonElement: JSString = "SVGPolygonElement" - @usableFromInline static let SVGPolylineElement: JSString = "SVGPolylineElement" - @usableFromInline static let SVGPreserveAspectRatio: JSString = "SVGPreserveAspectRatio" - @usableFromInline static let SVGRadialGradientElement: JSString = "SVGRadialGradientElement" - @usableFromInline static let SVGRectElement: JSString = "SVGRectElement" - @usableFromInline static let SVGSVGElement: JSString = "SVGSVGElement" - @usableFromInline static let SVGScriptElement: JSString = "SVGScriptElement" - @usableFromInline static let SVGSetElement: JSString = "SVGSetElement" - @usableFromInline static let SVGStopElement: JSString = "SVGStopElement" - @usableFromInline static let SVGStringList: JSString = "SVGStringList" - @usableFromInline static let SVGStyleElement: JSString = "SVGStyleElement" - @usableFromInline static let SVGSwitchElement: JSString = "SVGSwitchElement" - @usableFromInline static let SVGSymbolElement: JSString = "SVGSymbolElement" - @usableFromInline static let SVGTSpanElement: JSString = "SVGTSpanElement" - @usableFromInline static let SVGTextContentElement: JSString = "SVGTextContentElement" - @usableFromInline static let SVGTextElement: JSString = "SVGTextElement" - @usableFromInline static let SVGTextPathElement: JSString = "SVGTextPathElement" - @usableFromInline static let SVGTextPositioningElement: JSString = "SVGTextPositioningElement" - @usableFromInline static let SVGTitleElement: JSString = "SVGTitleElement" - @usableFromInline static let SVGTransform: JSString = "SVGTransform" - @usableFromInline static let SVGTransformList: JSString = "SVGTransformList" - @usableFromInline static let SVGUnitTypes: JSString = "SVGUnitTypes" - @usableFromInline static let SVGUseElement: JSString = "SVGUseElement" - @usableFromInline static let SVGUseElementShadowRoot: JSString = "SVGUseElementShadowRoot" - @usableFromInline static let SVGViewElement: JSString = "SVGViewElement" - @usableFromInline static let TimeEvent: JSString = "TimeEvent" - @usableFromInline static let align: JSString = "align" - @usableFromInline static let angle: JSString = "angle" - @usableFromInline static let animVal: JSString = "animVal" - @usableFromInline static let animatedInstanceRoot: JSString = "animatedInstanceRoot" - @usableFromInline static let animatedPoints: JSString = "animatedPoints" - @usableFromInline static let animationsPaused: JSString = "animationsPaused" - @usableFromInline static let appendItem: JSString = "appendItem" - @usableFromInline static let baseVal: JSString = "baseVal" - @usableFromInline static let beginElement: JSString = "beginElement" - @usableFromInline static let beginElementAt: JSString = "beginElementAt" - @usableFromInline static let checkEnclosure: JSString = "checkEnclosure" - @usableFromInline static let checkIntersection: JSString = "checkIntersection" - @usableFromInline static let className: JSString = "className" - @usableFromInline static let clear: JSString = "clear" - @usableFromInline static let clipPathUnits: JSString = "clipPathUnits" - @usableFromInline static let clipped: JSString = "clipped" - @usableFromInline static let consolidate: JSString = "consolidate" - @usableFromInline static let convertToSpecifiedUnits: JSString = "convertToSpecifiedUnits" - @usableFromInline static let correspondingElement: JSString = "correspondingElement" - @usableFromInline static let correspondingUseElement: JSString = "correspondingUseElement" - @usableFromInline static let createSVGAngle: JSString = "createSVGAngle" - @usableFromInline static let createSVGLength: JSString = "createSVGLength" - @usableFromInline static let createSVGMatrix: JSString = "createSVGMatrix" - @usableFromInline static let createSVGNumber: JSString = "createSVGNumber" - @usableFromInline static let createSVGPoint: JSString = "createSVGPoint" - @usableFromInline static let createSVGRect: JSString = "createSVGRect" - @usableFromInline static let createSVGTransform: JSString = "createSVGTransform" - @usableFromInline static let createSVGTransformFromMatrix: JSString = "createSVGTransformFromMatrix" - @usableFromInline static let crossOrigin: JSString = "crossOrigin" - @usableFromInline static let currentScale: JSString = "currentScale" - @usableFromInline static let currentTranslate: JSString = "currentTranslate" - @usableFromInline static let cx: JSString = "cx" - @usableFromInline static let cy: JSString = "cy" - @usableFromInline static let deselectAll: JSString = "deselectAll" - @usableFromInline static let detail: JSString = "detail" - @usableFromInline static let download: JSString = "download" - @usableFromInline static let dx: JSString = "dx" - @usableFromInline static let dy: JSString = "dy" - @usableFromInline static let endElement: JSString = "endElement" - @usableFromInline static let endElementAt: JSString = "endElementAt" - @usableFromInline static let fill: JSString = "fill" - @usableFromInline static let forceRedraw: JSString = "forceRedraw" - @usableFromInline static let fr: JSString = "fr" - @usableFromInline static let fx: JSString = "fx" - @usableFromInline static let fy: JSString = "fy" - @usableFromInline static let getBBox: JSString = "getBBox" - @usableFromInline static let getCTM: JSString = "getCTM" - @usableFromInline static let getCharNumAtPosition: JSString = "getCharNumAtPosition" - @usableFromInline static let getComputedTextLength: JSString = "getComputedTextLength" - @usableFromInline static let getCurrentTime: JSString = "getCurrentTime" - @usableFromInline static let getElementById: JSString = "getElementById" - @usableFromInline static let getEnclosureList: JSString = "getEnclosureList" - @usableFromInline static let getEndPositionOfChar: JSString = "getEndPositionOfChar" - @usableFromInline static let getExtentOfChar: JSString = "getExtentOfChar" - @usableFromInline static let getIntersectionList: JSString = "getIntersectionList" - @usableFromInline static let getItem: JSString = "getItem" - @usableFromInline static let getNumberOfChars: JSString = "getNumberOfChars" - @usableFromInline static let getPointAtLength: JSString = "getPointAtLength" - @usableFromInline static let getRotationOfChar: JSString = "getRotationOfChar" - @usableFromInline static let getSVGDocument: JSString = "getSVGDocument" - @usableFromInline static let getScreenCTM: JSString = "getScreenCTM" - @usableFromInline static let getSimpleDuration: JSString = "getSimpleDuration" - @usableFromInline static let getStartPositionOfChar: JSString = "getStartPositionOfChar" - @usableFromInline static let getStartTime: JSString = "getStartTime" - @usableFromInline static let getSubStringLength: JSString = "getSubStringLength" - @usableFromInline static let getTotalLength: JSString = "getTotalLength" - @usableFromInline static let gradientTransform: JSString = "gradientTransform" - @usableFromInline static let gradientUnits: JSString = "gradientUnits" - @usableFromInline static let hash: JSString = "hash" - @usableFromInline static let height: JSString = "height" - @usableFromInline static let host: JSString = "host" - @usableFromInline static let hostname: JSString = "hostname" - @usableFromInline static let href: JSString = "href" - @usableFromInline static let hreflang: JSString = "hreflang" - @usableFromInline static let initTimeEvent: JSString = "initTimeEvent" - @usableFromInline static let initialize: JSString = "initialize" - @usableFromInline static let insertItemBefore: JSString = "insertItemBefore" - @usableFromInline static let instanceRoot: JSString = "instanceRoot" - @usableFromInline static let isPointInFill: JSString = "isPointInFill" - @usableFromInline static let isPointInStroke: JSString = "isPointInStroke" - @usableFromInline static let length: JSString = "length" - @usableFromInline static let lengthAdjust: JSString = "lengthAdjust" - @usableFromInline static let markerHeight: JSString = "markerHeight" - @usableFromInline static let markerUnits: JSString = "markerUnits" - @usableFromInline static let markerWidth: JSString = "markerWidth" - @usableFromInline static let markers: JSString = "markers" - @usableFromInline static let maskContentUnits: JSString = "maskContentUnits" - @usableFromInline static let maskUnits: JSString = "maskUnits" - @usableFromInline static let matrix: JSString = "matrix" - @usableFromInline static let media: JSString = "media" - @usableFromInline static let meetOrSlice: JSString = "meetOrSlice" - @usableFromInline static let method: JSString = "method" - @usableFromInline static let newValueSpecifiedUnits: JSString = "newValueSpecifiedUnits" - @usableFromInline static let numberOfItems: JSString = "numberOfItems" - @usableFromInline static let offset: JSString = "offset" - @usableFromInline static let onbegin: JSString = "onbegin" - @usableFromInline static let onend: JSString = "onend" - @usableFromInline static let onrepeat: JSString = "onrepeat" - @usableFromInline static let orient: JSString = "orient" - @usableFromInline static let orientAngle: JSString = "orientAngle" - @usableFromInline static let orientType: JSString = "orientType" - @usableFromInline static let origin: JSString = "origin" - @usableFromInline static let ownerSVGElement: JSString = "ownerSVGElement" - @usableFromInline static let password: JSString = "password" - @usableFromInline static let pathLength: JSString = "pathLength" - @usableFromInline static let pathname: JSString = "pathname" - @usableFromInline static let patternContentUnits: JSString = "patternContentUnits" - @usableFromInline static let patternTransform: JSString = "patternTransform" - @usableFromInline static let patternUnits: JSString = "patternUnits" - @usableFromInline static let pauseAnimations: JSString = "pauseAnimations" - @usableFromInline static let ping: JSString = "ping" - @usableFromInline static let points: JSString = "points" - @usableFromInline static let port: JSString = "port" - @usableFromInline static let preserveAspectRatio: JSString = "preserveAspectRatio" + @usableFromInline static let `Object`: JSString = "Object" + @usableFromInline static let `SVGAElement`: JSString = "SVGAElement" + @usableFromInline static let `SVGAngle`: JSString = "SVGAngle" + @usableFromInline static let `SVGAnimateElement`: JSString = "SVGAnimateElement" + @usableFromInline static let `SVGAnimateMotionElement`: JSString = "SVGAnimateMotionElement" + @usableFromInline static let `SVGAnimateTransformElement`: JSString = "SVGAnimateTransformElement" + @usableFromInline static let `SVGAnimatedAngle`: JSString = "SVGAnimatedAngle" + @usableFromInline static let `SVGAnimatedBoolean`: JSString = "SVGAnimatedBoolean" + @usableFromInline static let `SVGAnimatedEnumeration`: JSString = "SVGAnimatedEnumeration" + @usableFromInline static let `SVGAnimatedInteger`: JSString = "SVGAnimatedInteger" + @usableFromInline static let `SVGAnimatedLength`: JSString = "SVGAnimatedLength" + @usableFromInline static let `SVGAnimatedLengthList`: JSString = "SVGAnimatedLengthList" + @usableFromInline static let `SVGAnimatedNumber`: JSString = "SVGAnimatedNumber" + @usableFromInline static let `SVGAnimatedNumberList`: JSString = "SVGAnimatedNumberList" + @usableFromInline static let `SVGAnimatedPreserveAspectRatio`: JSString = "SVGAnimatedPreserveAspectRatio" + @usableFromInline static let `SVGAnimatedRect`: JSString = "SVGAnimatedRect" + @usableFromInline static let `SVGAnimatedString`: JSString = "SVGAnimatedString" + @usableFromInline static let `SVGAnimatedTransformList`: JSString = "SVGAnimatedTransformList" + @usableFromInline static let `SVGAnimationElement`: JSString = "SVGAnimationElement" + @usableFromInline static let `SVGCircleElement`: JSString = "SVGCircleElement" + @usableFromInline static let `SVGClipPathElement`: JSString = "SVGClipPathElement" + @usableFromInline static let `SVGDefsElement`: JSString = "SVGDefsElement" + @usableFromInline static let `SVGDescElement`: JSString = "SVGDescElement" + @usableFromInline static let `SVGDiscardElement`: JSString = "SVGDiscardElement" + @usableFromInline static let `SVGElement`: JSString = "SVGElement" + @usableFromInline static let `SVGEllipseElement`: JSString = "SVGEllipseElement" + @usableFromInline static let `SVGForeignObjectElement`: JSString = "SVGForeignObjectElement" + @usableFromInline static let `SVGGElement`: JSString = "SVGGElement" + @usableFromInline static let `SVGGeometryElement`: JSString = "SVGGeometryElement" + @usableFromInline static let `SVGGradientElement`: JSString = "SVGGradientElement" + @usableFromInline static let `SVGGraphicsElement`: JSString = "SVGGraphicsElement" + @usableFromInline static let `SVGImageElement`: JSString = "SVGImageElement" + @usableFromInline static let `SVGLength`: JSString = "SVGLength" + @usableFromInline static let `SVGLengthList`: JSString = "SVGLengthList" + @usableFromInline static let `SVGLineElement`: JSString = "SVGLineElement" + @usableFromInline static let `SVGLinearGradientElement`: JSString = "SVGLinearGradientElement" + @usableFromInline static let `SVGMPathElement`: JSString = "SVGMPathElement" + @usableFromInline static let `SVGMarkerElement`: JSString = "SVGMarkerElement" + @usableFromInline static let `SVGMaskElement`: JSString = "SVGMaskElement" + @usableFromInline static let `SVGMetadataElement`: JSString = "SVGMetadataElement" + @usableFromInline static let `SVGNumber`: JSString = "SVGNumber" + @usableFromInline static let `SVGNumberList`: JSString = "SVGNumberList" + @usableFromInline static let `SVGPathElement`: JSString = "SVGPathElement" + @usableFromInline static let `SVGPatternElement`: JSString = "SVGPatternElement" + @usableFromInline static let `SVGPointList`: JSString = "SVGPointList" + @usableFromInline static let `SVGPolygonElement`: JSString = "SVGPolygonElement" + @usableFromInline static let `SVGPolylineElement`: JSString = "SVGPolylineElement" + @usableFromInline static let `SVGPreserveAspectRatio`: JSString = "SVGPreserveAspectRatio" + @usableFromInline static let `SVGRadialGradientElement`: JSString = "SVGRadialGradientElement" + @usableFromInline static let `SVGRectElement`: JSString = "SVGRectElement" + @usableFromInline static let `SVGSVGElement`: JSString = "SVGSVGElement" + @usableFromInline static let `SVGScriptElement`: JSString = "SVGScriptElement" + @usableFromInline static let `SVGSetElement`: JSString = "SVGSetElement" + @usableFromInline static let `SVGStopElement`: JSString = "SVGStopElement" + @usableFromInline static let `SVGStringList`: JSString = "SVGStringList" + @usableFromInline static let `SVGStyleElement`: JSString = "SVGStyleElement" + @usableFromInline static let `SVGSwitchElement`: JSString = "SVGSwitchElement" + @usableFromInline static let `SVGSymbolElement`: JSString = "SVGSymbolElement" + @usableFromInline static let `SVGTSpanElement`: JSString = "SVGTSpanElement" + @usableFromInline static let `SVGTextContentElement`: JSString = "SVGTextContentElement" + @usableFromInline static let `SVGTextElement`: JSString = "SVGTextElement" + @usableFromInline static let `SVGTextPathElement`: JSString = "SVGTextPathElement" + @usableFromInline static let `SVGTextPositioningElement`: JSString = "SVGTextPositioningElement" + @usableFromInline static let `SVGTitleElement`: JSString = "SVGTitleElement" + @usableFromInline static let `SVGTransform`: JSString = "SVGTransform" + @usableFromInline static let `SVGTransformList`: JSString = "SVGTransformList" + @usableFromInline static let `SVGUnitTypes`: JSString = "SVGUnitTypes" + @usableFromInline static let `SVGUseElement`: JSString = "SVGUseElement" + @usableFromInline static let `SVGUseElementShadowRoot`: JSString = "SVGUseElementShadowRoot" + @usableFromInline static let `SVGViewElement`: JSString = "SVGViewElement" + @usableFromInline static let `TimeEvent`: JSString = "TimeEvent" + @usableFromInline static let `align`: JSString = "align" + @usableFromInline static let `angle`: JSString = "angle" + @usableFromInline static let `animVal`: JSString = "animVal" + @usableFromInline static let `animatedInstanceRoot`: JSString = "animatedInstanceRoot" + @usableFromInline static let `animatedPoints`: JSString = "animatedPoints" + @usableFromInline static let `animationsPaused`: JSString = "animationsPaused" + @usableFromInline static let `appendItem`: JSString = "appendItem" + @usableFromInline static let `baseVal`: JSString = "baseVal" + @usableFromInline static let `beginElement`: JSString = "beginElement" + @usableFromInline static let `beginElementAt`: JSString = "beginElementAt" + @usableFromInline static let `checkEnclosure`: JSString = "checkEnclosure" + @usableFromInline static let `checkIntersection`: JSString = "checkIntersection" + @usableFromInline static let `className`: JSString = "className" + @usableFromInline static let `clear`: JSString = "clear" + @usableFromInline static let `clipPathUnits`: JSString = "clipPathUnits" + @usableFromInline static let `clipped`: JSString = "clipped" + @usableFromInline static let `consolidate`: JSString = "consolidate" + @usableFromInline static let `convertToSpecifiedUnits`: JSString = "convertToSpecifiedUnits" + @usableFromInline static let `correspondingElement`: JSString = "correspondingElement" + @usableFromInline static let `correspondingUseElement`: JSString = "correspondingUseElement" + @usableFromInline static let `createSVGAngle`: JSString = "createSVGAngle" + @usableFromInline static let `createSVGLength`: JSString = "createSVGLength" + @usableFromInline static let `createSVGMatrix`: JSString = "createSVGMatrix" + @usableFromInline static let `createSVGNumber`: JSString = "createSVGNumber" + @usableFromInline static let `createSVGPoint`: JSString = "createSVGPoint" + @usableFromInline static let `createSVGRect`: JSString = "createSVGRect" + @usableFromInline static let `createSVGTransform`: JSString = "createSVGTransform" + @usableFromInline static let `createSVGTransformFromMatrix`: JSString = "createSVGTransformFromMatrix" + @usableFromInline static let `crossOrigin`: JSString = "crossOrigin" + @usableFromInline static let `currentScale`: JSString = "currentScale" + @usableFromInline static let `currentTranslate`: JSString = "currentTranslate" + @usableFromInline static let `cx`: JSString = "cx" + @usableFromInline static let `cy`: JSString = "cy" + @usableFromInline static let `deselectAll`: JSString = "deselectAll" + @usableFromInline static let `detail`: JSString = "detail" + @usableFromInline static let `download`: JSString = "download" + @usableFromInline static let `dx`: JSString = "dx" + @usableFromInline static let `dy`: JSString = "dy" + @usableFromInline static let `endElement`: JSString = "endElement" + @usableFromInline static let `endElementAt`: JSString = "endElementAt" + @usableFromInline static let `fill`: JSString = "fill" + @usableFromInline static let `forceRedraw`: JSString = "forceRedraw" + @usableFromInline static let `fr`: JSString = "fr" + @usableFromInline static let `fx`: JSString = "fx" + @usableFromInline static let `fy`: JSString = "fy" + @usableFromInline static let `getBBox`: JSString = "getBBox" + @usableFromInline static let `getCTM`: JSString = "getCTM" + @usableFromInline static let `getCharNumAtPosition`: JSString = "getCharNumAtPosition" + @usableFromInline static let `getComputedTextLength`: JSString = "getComputedTextLength" + @usableFromInline static let `getCurrentTime`: JSString = "getCurrentTime" + @usableFromInline static let `getElementById`: JSString = "getElementById" + @usableFromInline static let `getEnclosureList`: JSString = "getEnclosureList" + @usableFromInline static let `getEndPositionOfChar`: JSString = "getEndPositionOfChar" + @usableFromInline static let `getExtentOfChar`: JSString = "getExtentOfChar" + @usableFromInline static let `getIntersectionList`: JSString = "getIntersectionList" + @usableFromInline static let `getItem`: JSString = "getItem" + @usableFromInline static let `getNumberOfChars`: JSString = "getNumberOfChars" + @usableFromInline static let `getPointAtLength`: JSString = "getPointAtLength" + @usableFromInline static let `getRotationOfChar`: JSString = "getRotationOfChar" + @usableFromInline static let `getSVGDocument`: JSString = "getSVGDocument" + @usableFromInline static let `getScreenCTM`: JSString = "getScreenCTM" + @usableFromInline static let `getSimpleDuration`: JSString = "getSimpleDuration" + @usableFromInline static let `getStartPositionOfChar`: JSString = "getStartPositionOfChar" + @usableFromInline static let `getStartTime`: JSString = "getStartTime" + @usableFromInline static let `getSubStringLength`: JSString = "getSubStringLength" + @usableFromInline static let `getTotalLength`: JSString = "getTotalLength" + @usableFromInline static let `gradientTransform`: JSString = "gradientTransform" + @usableFromInline static let `gradientUnits`: JSString = "gradientUnits" + @usableFromInline static let `hash`: JSString = "hash" + @usableFromInline static let `height`: JSString = "height" + @usableFromInline static let `host`: JSString = "host" + @usableFromInline static let `hostname`: JSString = "hostname" + @usableFromInline static let `href`: JSString = "href" + @usableFromInline static let `hreflang`: JSString = "hreflang" + @usableFromInline static let `initTimeEvent`: JSString = "initTimeEvent" + @usableFromInline static let `initialize`: JSString = "initialize" + @usableFromInline static let `insertItemBefore`: JSString = "insertItemBefore" + @usableFromInline static let `instanceRoot`: JSString = "instanceRoot" + @usableFromInline static let `isPointInFill`: JSString = "isPointInFill" + @usableFromInline static let `isPointInStroke`: JSString = "isPointInStroke" + @usableFromInline static let `length`: JSString = "length" + @usableFromInline static let `lengthAdjust`: JSString = "lengthAdjust" + @usableFromInline static let `markerHeight`: JSString = "markerHeight" + @usableFromInline static let `markerUnits`: JSString = "markerUnits" + @usableFromInline static let `markerWidth`: JSString = "markerWidth" + @usableFromInline static let `markers`: JSString = "markers" + @usableFromInline static let `maskContentUnits`: JSString = "maskContentUnits" + @usableFromInline static let `maskUnits`: JSString = "maskUnits" + @usableFromInline static let `matrix`: JSString = "matrix" + @usableFromInline static let `media`: JSString = "media" + @usableFromInline static let `meetOrSlice`: JSString = "meetOrSlice" + @usableFromInline static let `method`: JSString = "method" + @usableFromInline static let `newValueSpecifiedUnits`: JSString = "newValueSpecifiedUnits" + @usableFromInline static let `numberOfItems`: JSString = "numberOfItems" + @usableFromInline static let `offset`: JSString = "offset" + @usableFromInline static let `onbegin`: JSString = "onbegin" + @usableFromInline static let `onend`: JSString = "onend" + @usableFromInline static let `onrepeat`: JSString = "onrepeat" + @usableFromInline static let `orient`: JSString = "orient" + @usableFromInline static let `orientAngle`: JSString = "orientAngle" + @usableFromInline static let `orientType`: JSString = "orientType" + @usableFromInline static let `origin`: JSString = "origin" + @usableFromInline static let `ownerSVGElement`: JSString = "ownerSVGElement" + @usableFromInline static let `password`: JSString = "password" + @usableFromInline static let `pathLength`: JSString = "pathLength" + @usableFromInline static let `pathname`: JSString = "pathname" + @usableFromInline static let `patternContentUnits`: JSString = "patternContentUnits" + @usableFromInline static let `patternTransform`: JSString = "patternTransform" + @usableFromInline static let `patternUnits`: JSString = "patternUnits" + @usableFromInline static let `pauseAnimations`: JSString = "pauseAnimations" + @usableFromInline static let `ping`: JSString = "ping" + @usableFromInline static let `points`: JSString = "points" + @usableFromInline static let `port`: JSString = "port" + @usableFromInline static let `preserveAspectRatio`: JSString = "preserveAspectRatio" @usableFromInline static let `protocol`: JSString = "protocol" - @usableFromInline static let r: JSString = "r" - @usableFromInline static let refX: JSString = "refX" - @usableFromInline static let refY: JSString = "refY" - @usableFromInline static let referrerPolicy: JSString = "referrerPolicy" - @usableFromInline static let rel: JSString = "rel" - @usableFromInline static let relList: JSString = "relList" - @usableFromInline static let removeItem: JSString = "removeItem" - @usableFromInline static let replaceItem: JSString = "replaceItem" - @usableFromInline static let requiredExtensions: JSString = "requiredExtensions" - @usableFromInline static let rotate: JSString = "rotate" - @usableFromInline static let rx: JSString = "rx" - @usableFromInline static let ry: JSString = "ry" - @usableFromInline static let search: JSString = "search" - @usableFromInline static let selectSubString: JSString = "selectSubString" - @usableFromInline static let setCurrentTime: JSString = "setCurrentTime" - @usableFromInline static let setMatrix: JSString = "setMatrix" - @usableFromInline static let setOrientToAngle: JSString = "setOrientToAngle" - @usableFromInline static let setOrientToAuto: JSString = "setOrientToAuto" - @usableFromInline static let setRotate: JSString = "setRotate" - @usableFromInline static let setScale: JSString = "setScale" - @usableFromInline static let setSkewX: JSString = "setSkewX" - @usableFromInline static let setSkewY: JSString = "setSkewY" - @usableFromInline static let setTranslate: JSString = "setTranslate" - @usableFromInline static let spacing: JSString = "spacing" - @usableFromInline static let spreadMethod: JSString = "spreadMethod" - @usableFromInline static let startOffset: JSString = "startOffset" - @usableFromInline static let stroke: JSString = "stroke" - @usableFromInline static let suspendRedraw: JSString = "suspendRedraw" - @usableFromInline static let systemLanguage: JSString = "systemLanguage" - @usableFromInline static let target: JSString = "target" - @usableFromInline static let targetElement: JSString = "targetElement" - @usableFromInline static let text: JSString = "text" - @usableFromInline static let textLength: JSString = "textLength" - @usableFromInline static let title: JSString = "title" - @usableFromInline static let toString: JSString = "toString" - @usableFromInline static let transform: JSString = "transform" - @usableFromInline static let type: JSString = "type" - @usableFromInline static let unitType: JSString = "unitType" - @usableFromInline static let unpauseAnimations: JSString = "unpauseAnimations" - @usableFromInline static let unsuspendRedraw: JSString = "unsuspendRedraw" - @usableFromInline static let unsuspendRedrawAll: JSString = "unsuspendRedrawAll" - @usableFromInline static let username: JSString = "username" - @usableFromInline static let value: JSString = "value" - @usableFromInline static let valueAsString: JSString = "valueAsString" - @usableFromInline static let valueInSpecifiedUnits: JSString = "valueInSpecifiedUnits" - @usableFromInline static let view: JSString = "view" - @usableFromInline static let viewBox: JSString = "viewBox" - @usableFromInline static let viewportElement: JSString = "viewportElement" - @usableFromInline static let width: JSString = "width" - @usableFromInline static let x: JSString = "x" - @usableFromInline static let x1: JSString = "x1" - @usableFromInline static let x2: JSString = "x2" - @usableFromInline static let y: JSString = "y" - @usableFromInline static let y1: JSString = "y1" - @usableFromInline static let y2: JSString = "y2" + @usableFromInline static let `r`: JSString = "r" + @usableFromInline static let `refX`: JSString = "refX" + @usableFromInline static let `refY`: JSString = "refY" + @usableFromInline static let `referrerPolicy`: JSString = "referrerPolicy" + @usableFromInline static let `rel`: JSString = "rel" + @usableFromInline static let `relList`: JSString = "relList" + @usableFromInline static let `removeItem`: JSString = "removeItem" + @usableFromInline static let `replaceItem`: JSString = "replaceItem" + @usableFromInline static let `requiredExtensions`: JSString = "requiredExtensions" + @usableFromInline static let `rotate`: JSString = "rotate" + @usableFromInline static let `rx`: JSString = "rx" + @usableFromInline static let `ry`: JSString = "ry" + @usableFromInline static let `search`: JSString = "search" + @usableFromInline static let `selectSubString`: JSString = "selectSubString" + @usableFromInline static let `setCurrentTime`: JSString = "setCurrentTime" + @usableFromInline static let `setMatrix`: JSString = "setMatrix" + @usableFromInline static let `setOrientToAngle`: JSString = "setOrientToAngle" + @usableFromInline static let `setOrientToAuto`: JSString = "setOrientToAuto" + @usableFromInline static let `setRotate`: JSString = "setRotate" + @usableFromInline static let `setScale`: JSString = "setScale" + @usableFromInline static let `setSkewX`: JSString = "setSkewX" + @usableFromInline static let `setSkewY`: JSString = "setSkewY" + @usableFromInline static let `setTranslate`: JSString = "setTranslate" + @usableFromInline static let `spacing`: JSString = "spacing" + @usableFromInline static let `spreadMethod`: JSString = "spreadMethod" + @usableFromInline static let `startOffset`: JSString = "startOffset" + @usableFromInline static let `stroke`: JSString = "stroke" + @usableFromInline static let `suspendRedraw`: JSString = "suspendRedraw" + @usableFromInline static let `systemLanguage`: JSString = "systemLanguage" + @usableFromInline static let `target`: JSString = "target" + @usableFromInline static let `targetElement`: JSString = "targetElement" + @usableFromInline static let `text`: JSString = "text" + @usableFromInline static let `textLength`: JSString = "textLength" + @usableFromInline static let `title`: JSString = "title" + @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `transform`: JSString = "transform" + @usableFromInline static let `type`: JSString = "type" + @usableFromInline static let `unitType`: JSString = "unitType" + @usableFromInline static let `unpauseAnimations`: JSString = "unpauseAnimations" + @usableFromInline static let `unsuspendRedraw`: JSString = "unsuspendRedraw" + @usableFromInline static let `unsuspendRedrawAll`: JSString = "unsuspendRedrawAll" + @usableFromInline static let `username`: JSString = "username" + @usableFromInline static let `value`: JSString = "value" + @usableFromInline static let `valueAsString`: JSString = "valueAsString" + @usableFromInline static let `valueInSpecifiedUnits`: JSString = "valueInSpecifiedUnits" + @usableFromInline static let `view`: JSString = "view" + @usableFromInline static let `viewBox`: JSString = "viewBox" + @usableFromInline static let `viewportElement`: JSString = "viewportElement" + @usableFromInline static let `width`: JSString = "width" + @usableFromInline static let `x`: JSString = "x" + @usableFromInline static let `x1`: JSString = "x1" + @usableFromInline static let `x2`: JSString = "x2" + @usableFromInline static let `y`: JSString = "y" + @usableFromInline static let `y1`: JSString = "y1" + @usableFromInline static let `y2`: JSString = "y2" } diff --git a/Sources/WebAPIBase/Generated.swift b/Sources/WebAPIBase/Generated.swift index 4bb282a0..f7f76ca7 100644 --- a/Sources/WebAPIBase/Generated.swift +++ b/Sources/WebAPIBase/Generated.swift @@ -1,33 +1,31 @@ // This file was auto-generated by WebIDLToSwift. DO NOT EDIT! import ECMAScript -import JavaScriptEventLoop import JavaScriptKit +#if canImport(JavaScriptEventLoop) + import JavaScriptEventLoop +#endif +#if canImport(_Concurrency) + import _Concurrency +#endif + open class DOMException: JSBridgedClass { @inlinable open class var constructor: JSFunction? { JSObject.global[Strings.DOMException].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _message = ReadonlyAttribute(jsObject: jsObject, name: Strings.message) - _code = ReadonlyAttribute(jsObject: jsObject, name: Strings.code) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(message: String? = nil, name: String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(message), _toJSValue(name)])) } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ReadonlyAttribute - public var message: String + @inlinable public var message: String { jsObject[Strings.message].fromJSValue()! } - @ReadonlyAttribute - public var code: UInt16 + @inlinable public var code: UInt16 { jsObject[Strings.code].fromJSValue()! } public static let INDEX_SIZE_ERR: UInt16 = 1 @@ -86,21 +84,7 @@ public class URL: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _href = ReadWriteAttribute(jsObject: jsObject, name: Strings.href) - _origin = ReadonlyAttribute(jsObject: jsObject, name: Strings.origin) - _protocol = ReadWriteAttribute(jsObject: jsObject, name: Strings.protocol) - _username = ReadWriteAttribute(jsObject: jsObject, name: Strings.username) - _password = ReadWriteAttribute(jsObject: jsObject, name: Strings.password) - _host = ReadWriteAttribute(jsObject: jsObject, name: Strings.host) - _hostname = ReadWriteAttribute(jsObject: jsObject, name: Strings.hostname) - _port = ReadWriteAttribute(jsObject: jsObject, name: Strings.port) - _pathname = ReadWriteAttribute(jsObject: jsObject, name: Strings.pathname) - _search = ReadWriteAttribute(jsObject: jsObject, name: Strings.search) - _searchParams = ReadonlyAttribute(jsObject: jsObject, name: Strings.searchParams) - _hash = ReadWriteAttribute(jsObject: jsObject, name: Strings.hash) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(url: String, base: String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(url), _toJSValue(base)])) @@ -108,46 +92,65 @@ public class URL: JSBridgedClass { @inlinable public class func canParse(url: String, base: String? = nil) -> Bool { let this = constructor! - return this[Strings.canParse].function!(this: this, arguments: [_toJSValue(url), _toJSValue(base)]).fromJSValue()! + return this[Strings.canParse].function!(this: this, arguments: [_toJSValue(url), _toJSValue(base)]) + .fromJSValue()! } - @ReadWriteAttribute - public var href: String + @inlinable public var href: String { + get { jsObject[Strings.href].fromJSValue()! } + set { jsObject[Strings.href] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var origin: String + @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } - @ReadWriteAttribute - public var `protocol`: String + @inlinable public var `protocol`: String { + get { jsObject[Strings.`protocol`].fromJSValue()! } + set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var username: String + @inlinable public var username: String { + get { jsObject[Strings.username].fromJSValue()! } + set { jsObject[Strings.username] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var password: String + @inlinable public var password: String { + get { jsObject[Strings.password].fromJSValue()! } + set { jsObject[Strings.password] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var host: String + @inlinable public var host: String { + get { jsObject[Strings.host].fromJSValue()! } + set { jsObject[Strings.host] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hostname: String + @inlinable public var hostname: String { + get { jsObject[Strings.hostname].fromJSValue()! } + set { jsObject[Strings.hostname] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var port: String + @inlinable public var port: String { + get { jsObject[Strings.port].fromJSValue()! } + set { jsObject[Strings.port] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var pathname: String + @inlinable public var pathname: String { + get { jsObject[Strings.pathname].fromJSValue()! } + set { jsObject[Strings.pathname] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var search: String + @inlinable public var search: String { + get { jsObject[Strings.search].fromJSValue()! } + set { jsObject[Strings.search] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var searchParams: URLSearchParams + @inlinable public var searchParams: URLSearchParams { jsObject[Strings.searchParams].fromJSValue()! } - @ReadWriteAttribute - public var hash: String + @inlinable public var hash: String { + get { jsObject[Strings.hash].fromJSValue()! } + set { jsObject[Strings.hash] = _toJSValue(newValue) } + } - @inlinable public func toJSON() -> String { + @inlinable final public func toJSON() -> String { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -158,67 +161,57 @@ public class URLSearchParams: JSBridgedClass, Sequence { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: String_or_record_String_to_String_or_seq_of_seq_of_String? = nil) { + @inlinable public convenience init(`init`: String_or_record_String_to_String_or_seq_of_seq_of_String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var size: UInt32 + @inlinable public var size: UInt32 { jsObject[Strings.size].fromJSValue()! } - @inlinable public func append(name: String, value: String) { + @inlinable final public func append(name: String, value: String) { let this = jsObject _ = this[Strings.append].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @inlinable public func delete(name: String, value: String? = nil) { + @inlinable final public func delete(name: String, value: String? = nil) { let this = jsObject _ = this[Strings.delete].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @inlinable public func get(name: String) -> String? { + @inlinable final public func get(name: String) -> String? { let this = jsObject return this[Strings.get].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable public func getAll(name: String) -> [String] { + @inlinable final public func getAll(name: String) -> [String] { let this = jsObject return this[Strings.getAll].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @inlinable public func has(name: String, value: String? = nil) -> Bool { + @inlinable final public func has(name: String, value: String? = nil) -> Bool { let this = jsObject return this[Strings.has].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]).fromJSValue()! } - @inlinable public func set(name: String, value: String) { + @inlinable final public func set(name: String, value: String) { let this = jsObject _ = this[Strings.set].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @inlinable public func sort() { + @inlinable final public func sort() { let this = jsObject _ = this[Strings.sort].function!(this: this, arguments: []) } public typealias Element = String - public func makeIterator() -> ValueIterableIterator { - ValueIterableIterator(sequence: self) - } + public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } - @inlinable public var description: String { - jsObject[Strings.toString]!().fromJSValue()! - } + @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } } public enum console { - @inlinable public static var jsObject: JSObject { - JSObject.global[Strings.console].object! - } + @inlinable public static var jsObject: JSObject { JSObject.global[Strings.console].object! } @inlinable public static func assert(condition: Bool? = nil, data: JSValue...) { let this = JSObject.global[Strings.console].object! @@ -315,60 +308,58 @@ public enum console { _ = this[Strings.timeEnd].function!(this: this, arguments: [_toJSValue(label)]) } } - @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let DOMException: JSString = "DOMException" - @usableFromInline static let URL: JSString = "URL" - @usableFromInline static let URLSearchParams: JSString = "URLSearchParams" - @usableFromInline static let append: JSString = "append" - @usableFromInline static let assert: JSString = "assert" - @usableFromInline static let canParse: JSString = "canParse" - @usableFromInline static let clear: JSString = "clear" - @usableFromInline static let code: JSString = "code" - @usableFromInline static let console: JSString = "console" - @usableFromInline static let count: JSString = "count" - @usableFromInline static let countReset: JSString = "countReset" - @usableFromInline static let debug: JSString = "debug" - @usableFromInline static let delete: JSString = "delete" - @usableFromInline static let dir: JSString = "dir" - @usableFromInline static let dirxml: JSString = "dirxml" - @usableFromInline static let error: JSString = "error" - @usableFromInline static let get: JSString = "get" - @usableFromInline static let getAll: JSString = "getAll" - @usableFromInline static let group: JSString = "group" - @usableFromInline static let groupCollapsed: JSString = "groupCollapsed" - @usableFromInline static let groupEnd: JSString = "groupEnd" - @usableFromInline static let has: JSString = "has" - @usableFromInline static let hash: JSString = "hash" - @usableFromInline static let host: JSString = "host" - @usableFromInline static let hostname: JSString = "hostname" - @usableFromInline static let href: JSString = "href" - @usableFromInline static let info: JSString = "info" - @usableFromInline static let log: JSString = "log" - @usableFromInline static let message: JSString = "message" - @usableFromInline static let name: JSString = "name" - @usableFromInline static let origin: JSString = "origin" - @usableFromInline static let password: JSString = "password" - @usableFromInline static let pathname: JSString = "pathname" - @usableFromInline static let port: JSString = "port" + @usableFromInline static let `DOMException`: JSString = "DOMException" + @usableFromInline static let `URL`: JSString = "URL" + @usableFromInline static let `URLSearchParams`: JSString = "URLSearchParams" + @usableFromInline static let `append`: JSString = "append" + @usableFromInline static let `assert`: JSString = "assert" + @usableFromInline static let `canParse`: JSString = "canParse" + @usableFromInline static let `clear`: JSString = "clear" + @usableFromInline static let `code`: JSString = "code" + @usableFromInline static let `console`: JSString = "console" + @usableFromInline static let `count`: JSString = "count" + @usableFromInline static let `countReset`: JSString = "countReset" + @usableFromInline static let `debug`: JSString = "debug" + @usableFromInline static let `delete`: JSString = "delete" + @usableFromInline static let `dir`: JSString = "dir" + @usableFromInline static let `dirxml`: JSString = "dirxml" + @usableFromInline static let `error`: JSString = "error" + @usableFromInline static let `get`: JSString = "get" + @usableFromInline static let `getAll`: JSString = "getAll" + @usableFromInline static let `group`: JSString = "group" + @usableFromInline static let `groupCollapsed`: JSString = "groupCollapsed" + @usableFromInline static let `groupEnd`: JSString = "groupEnd" + @usableFromInline static let `has`: JSString = "has" + @usableFromInline static let `hash`: JSString = "hash" + @usableFromInline static let `host`: JSString = "host" + @usableFromInline static let `hostname`: JSString = "hostname" + @usableFromInline static let `href`: JSString = "href" + @usableFromInline static let `info`: JSString = "info" + @usableFromInline static let `log`: JSString = "log" + @usableFromInline static let `message`: JSString = "message" + @usableFromInline static let `name`: JSString = "name" + @usableFromInline static let `origin`: JSString = "origin" + @usableFromInline static let `password`: JSString = "password" + @usableFromInline static let `pathname`: JSString = "pathname" + @usableFromInline static let `port`: JSString = "port" @usableFromInline static let `protocol`: JSString = "protocol" - @usableFromInline static let search: JSString = "search" - @usableFromInline static let searchParams: JSString = "searchParams" - @usableFromInline static let set: JSString = "set" - @usableFromInline static let size: JSString = "size" - @usableFromInline static let sort: JSString = "sort" - @usableFromInline static let table: JSString = "table" - @usableFromInline static let time: JSString = "time" - @usableFromInline static let timeEnd: JSString = "timeEnd" - @usableFromInline static let timeLog: JSString = "timeLog" - @usableFromInline static let toJSON: JSString = "toJSON" - @usableFromInline static let toString: JSString = "toString" - @usableFromInline static let trace: JSString = "trace" - @usableFromInline static let username: JSString = "username" - @usableFromInline static let warn: JSString = "warn" + @usableFromInline static let `search`: JSString = "search" + @usableFromInline static let `searchParams`: JSString = "searchParams" + @usableFromInline static let `set`: JSString = "set" + @usableFromInline static let `size`: JSString = "size" + @usableFromInline static let `sort`: JSString = "sort" + @usableFromInline static let `table`: JSString = "table" + @usableFromInline static let `time`: JSString = "time" + @usableFromInline static let `timeEnd`: JSString = "timeEnd" + @usableFromInline static let `timeLog`: JSString = "timeLog" + @usableFromInline static let `toJSON`: JSString = "toJSON" + @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `trace`: JSString = "trace" + @usableFromInline static let `username`: JSString = "username" + @usableFromInline static let `warn`: JSString = "warn" } - public protocol Any_AllowSharedBufferSource: ConvertibleToJSValue {} extension ArrayBuffer: Any_AllowSharedBufferSource {} extension ArrayBufferView: Any_AllowSharedBufferSource {} @@ -379,17 +370,15 @@ public enum AllowSharedBufferSource: JSValueCompatible, Any_AllowSharedBufferSou case arrayBufferView(ArrayBufferView) case sharedArrayBuffer(SharedArrayBuffer) - init(_ arrayBuffer: ArrayBuffer) { + public init(_ arrayBuffer: ArrayBuffer) { let val: AllowSharedBufferSource = .arrayBuffer(arrayBuffer) self = val } - - init(_ arrayBufferView: ArrayBufferView) { + public init(_ arrayBufferView: ArrayBufferView) { let val: AllowSharedBufferSource = .arrayBufferView(arrayBufferView) self = val } - - init(_ sharedArrayBuffer: SharedArrayBuffer) { + public init(_ sharedArrayBuffer: SharedArrayBuffer) { let val: AllowSharedBufferSource = .sharedArrayBuffer(sharedArrayBuffer) self = val } @@ -400,14 +389,12 @@ public enum AllowSharedBufferSource: JSValueCompatible, Any_AllowSharedBufferSou default: return nil } } - public var arrayBufferView: ArrayBufferView? { switch self { case let .arrayBufferView(arrayBufferView): return arrayBufferView default: return nil } } - public var sharedArrayBuffer: SharedArrayBuffer? { switch self { case let .sharedArrayBuffer(sharedArrayBuffer): return sharedArrayBuffer @@ -416,12 +403,8 @@ public enum AllowSharedBufferSource: JSValueCompatible, Any_AllowSharedBufferSou } public static func construct(from value: JSValue) -> Self? { - if let arrayBuffer: ArrayBuffer = value.fromJSValue() { - return .arrayBuffer(arrayBuffer) - } - if let arrayBufferView: ArrayBufferView = value.fromJSValue() { - return .arrayBufferView(arrayBufferView) - } + if let arrayBuffer: ArrayBuffer = value.fromJSValue() { return .arrayBuffer(arrayBuffer) } + if let arrayBufferView: ArrayBufferView = value.fromJSValue() { return .arrayBufferView(arrayBufferView) } if let sharedArrayBuffer: SharedArrayBuffer = value.fromJSValue() { return .sharedArrayBuffer(sharedArrayBuffer) } @@ -430,16 +413,12 @@ public enum AllowSharedBufferSource: JSValueCompatible, Any_AllowSharedBufferSou public var jsValue: JSValue { switch self { - case let .arrayBuffer(arrayBuffer): - return arrayBuffer.jsValue - case let .arrayBufferView(arrayBufferView): - return arrayBufferView.jsValue - case let .sharedArrayBuffer(sharedArrayBuffer): - return sharedArrayBuffer.jsValue + case let .arrayBuffer(arrayBuffer): return arrayBuffer.jsValue + case let .arrayBufferView(arrayBufferView): return arrayBufferView.jsValue + case let .sharedArrayBuffer(sharedArrayBuffer): return sharedArrayBuffer.jsValue } } } - public protocol Any_BufferSource: ConvertibleToJSValue {} extension ArrayBuffer: Any_BufferSource {} extension ArrayBufferView: Any_BufferSource {} @@ -448,12 +427,11 @@ public enum BufferSource: JSValueCompatible, Any_BufferSource { case arrayBuffer(ArrayBuffer) case arrayBufferView(ArrayBufferView) - init(_ arrayBuffer: ArrayBuffer) { + public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = val } - - init(_ arrayBufferView: ArrayBufferView) { + public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = val } @@ -464,7 +442,6 @@ public enum BufferSource: JSValueCompatible, Any_BufferSource { default: return nil } } - public var arrayBufferView: ArrayBufferView? { switch self { case let .arrayBufferView(arrayBufferView): return arrayBufferView @@ -473,46 +450,41 @@ public enum BufferSource: JSValueCompatible, Any_BufferSource { } public static func construct(from value: JSValue) -> Self? { - if let arrayBuffer: ArrayBuffer = value.fromJSValue() { - return .arrayBuffer(arrayBuffer) - } - if let arrayBufferView: ArrayBufferView = value.fromJSValue() { - return .arrayBufferView(arrayBufferView) - } + if let arrayBuffer: ArrayBuffer = value.fromJSValue() { return .arrayBuffer(arrayBuffer) } + if let arrayBufferView: ArrayBufferView = value.fromJSValue() { return .arrayBufferView(arrayBufferView) } return nil } public var jsValue: JSValue { switch self { - case let .arrayBuffer(arrayBuffer): - return arrayBuffer.jsValue - case let .arrayBufferView(arrayBufferView): - return arrayBufferView.jsValue + case let .arrayBuffer(arrayBuffer): return arrayBuffer.jsValue + case let .arrayBufferView(arrayBufferView): return arrayBufferView.jsValue } } } - public protocol Any_String_or_record_String_to_String_or_seq_of_seq_of_String: ConvertibleToJSValue {} extension String: Any_String_or_record_String_to_String_or_seq_of_seq_of_String {} -extension Dictionary: Any_String_or_record_String_to_String_or_seq_of_seq_of_String where Key == String, Value == String {} +extension JSObject: Any_String_or_record_String_to_String_or_seq_of_seq_of_String {} extension Array: Any_String_or_record_String_to_String_or_seq_of_seq_of_String where Element == [String] {} -public enum String_or_record_String_to_String_or_seq_of_seq_of_String: JSValueCompatible, Any_String_or_record_String_to_String_or_seq_of_seq_of_String { +public enum String_or_record_String_to_String_or_seq_of_seq_of_String: JSValueCompatible, + Any_String_or_record_String_to_String_or_seq_of_seq_of_String +{ case string(String) - case record_String_to_String([String: String]) + case record_String_to_String(JSObject) case seq_of_seq_of_String([[String]]) - init(_ string: String) { + public init(_ string: String) { let val: String_or_record_String_to_String_or_seq_of_seq_of_String = .string(string) self = val } - - init(_ record_String_to_String: [String: String]) { - let val: String_or_record_String_to_String_or_seq_of_seq_of_String = .record_String_to_String(record_String_to_String) + public init(_ record_String_to_String: JSObject) { + let val: String_or_record_String_to_String_or_seq_of_seq_of_String = .record_String_to_String( + record_String_to_String + ) self = val } - - init(_ seq_of_seq_of_String: [[String]]) { + public init(_ seq_of_seq_of_String: [[String]]) { let val: String_or_record_String_to_String_or_seq_of_seq_of_String = .seq_of_seq_of_String(seq_of_seq_of_String) self = val } @@ -523,14 +495,12 @@ public enum String_or_record_String_to_String_or_seq_of_seq_of_String: JSValueCo default: return nil } } - - public var record_String_to_String: [String: String]? { + public var record_String_to_String: JSObject? { switch self { case let .record_String_to_String(record_String_to_String): return record_String_to_String default: return nil } } - public var seq_of_seq_of_String: [[String]]? { switch self { case let .seq_of_seq_of_String(seq_of_seq_of_String): return seq_of_seq_of_String @@ -539,10 +509,8 @@ public enum String_or_record_String_to_String_or_seq_of_seq_of_String: JSValueCo } public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { - return .string(string) - } - if let record_String_to_String: [String: String] = value.fromJSValue() { + if let string: String = value.fromJSValue() { return .string(string) } + if let record_String_to_String: JSObject = value.fromJSValue() { return .record_String_to_String(record_String_to_String) } if let seq_of_seq_of_String: [[String]] = value.fromJSValue() { @@ -553,741 +521,128 @@ public enum String_or_record_String_to_String_or_seq_of_seq_of_String: JSValueCo public var jsValue: JSValue { switch self { - case let .string(string): - return string.jsValue - case let .record_String_to_String(record_String_to_String): - return record_String_to_String.jsValue - case let .seq_of_seq_of_String(seq_of_seq_of_String): - return seq_of_seq_of_String.jsValue - } - } -} - -/* variadic generics please */ -@propertyWrapper public final class ClosureAttribute0 - where ReturnType: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: () -> ReturnType { - get { ClosureAttribute0[name, in: jsObject] } - set { ClosureAttribute0[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> () -> ReturnType { - get { - let function = jsObject[name].function! - return { function().fromJSValue()! } - } - set { - jsObject[name] = JSClosure { _ in - _toJSValue(newValue()) - }.jsValue - } - } -} - -@inlinable public func _toJSValue(_ value: @escaping () -> ReturnType) -> JSValue - where ReturnType: JSValueCompatible -{ - JSClosure { _ in - _toJSValue(value()) - }.jsValue -} - -@propertyWrapper public final class ClosureAttribute0Optional - where ReturnType: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: (() -> ReturnType)? { - get { ClosureAttribute0Optional[name, in: jsObject] } - set { ClosureAttribute0Optional[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> (() -> ReturnType)? { - get { - guard let function = jsObject[name].function else { - return nil - } - return { function().fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[name] = JSClosure { _ in - _toJSValue(newValue()) - }.jsValue - } else { - jsObject[name] = .null - } + case let .string(string): return string.jsValue + case let .record_String_to_String(record_String_to_String): return record_String_to_String.jsValue + case let .seq_of_seq_of_String(seq_of_seq_of_String): return seq_of_seq_of_String.jsValue } } } @inlinable public func _toJSValue(_ value: (() -> ReturnType)?) -> JSValue - where ReturnType: JSValueCompatible -{ - JSClosure { _ in - _toJSValue(value?()) - }.jsValue -} - -@propertyWrapper public final class ClosureAttribute0OptionalVoid { - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: (() -> Void)? { - get { ClosureAttribute0OptionalVoid[name, in: jsObject] } - set { ClosureAttribute0OptionalVoid[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> (() -> Void)? { - get { - guard let function = jsObject[name].function else { - return nil - } - return { function() } - } - set { - if let newValue = newValue { - jsObject[name] = JSClosure { _ in - newValue() - return .undefined - }.jsValue - } else { - jsObject[name] = .null - } - } - } -} - +where ReturnType: JSValueCompatible { JSClosure { _ in _toJSValue(value?()) }.jsValue } @inlinable public func _toJSValue(_ value: (() -> Void)?) -> JSValue { JSClosure { _ in value?() return .undefined }.jsValue } - -@propertyWrapper public final class ClosureAttribute0Void { - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: () -> Void { - get { ClosureAttribute0Void[name, in: jsObject] } - set { ClosureAttribute0Void[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> () -> Void { - get { - let function = jsObject[name].function! - return { function() } - } - set { - jsObject[name] = JSClosure { _ in - newValue() - return .undefined - }.jsValue - } - } -} - -@inlinable public func _toJSValue(_ value: @escaping () -> Void) -> JSValue { - JSClosure { _ in - value() - return .undefined - }.jsValue -} - -@propertyWrapper public final class ClosureAttribute1 - where A0: JSValueCompatible, ReturnType: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: (A0) -> ReturnType { - get { ClosureAttribute1[name, in: jsObject] } - set { ClosureAttribute1[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> (A0) -> ReturnType { - get { - let function = jsObject[name].function! - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - jsObject[name] = JSClosure { - _toJSValue(newValue($0[0].fromJSValue()!)) - }.jsValue - } - } -} - -@inlinable public func _toJSValue(_ value: @escaping (A0) -> ReturnType) -> JSValue - where A0: JSValueCompatible, ReturnType: JSValueCompatible -{ - JSClosure { - _toJSValue(value($0[0].fromJSValue()!)) - }.jsValue -} - -@propertyWrapper public final class ClosureAttribute1Optional - where A0: JSValueCompatible, ReturnType: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: ((A0) -> ReturnType)? { - get { ClosureAttribute1Optional[name, in: jsObject] } - set { ClosureAttribute1Optional[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> ((A0) -> ReturnType)? { - get { - guard let function = jsObject[name].function else { - return nil - } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[name] = JSClosure { - _toJSValue(newValue($0[0].fromJSValue()!)) - }.jsValue - } else { - jsObject[name] = .null - } - } - } -} - @inlinable public func _toJSValue(_ value: ((A0) -> ReturnType)?) -> JSValue - where A0: JSValueCompatible, ReturnType: JSValueCompatible -{ - JSClosure { - _toJSValue(value?($0[0].fromJSValue()!)) - }.jsValue +where A0: JSValueCompatible, ReturnType: JSValueCompatible { + JSClosure { _toJSValue(value?($0[0].fromJSValue()!)) }.jsValue } - -@propertyWrapper public final class ClosureAttribute1OptionalVoid - where A0: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: ((A0) -> Void)? { - get { ClosureAttribute1OptionalVoid[name, in: jsObject] } - set { ClosureAttribute1OptionalVoid[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> ((A0) -> Void)? { - get { - guard let function = jsObject[name].function else { - return nil - } - return { function(_toJSValue($0)) } - } - set { - if let newValue = newValue { - jsObject[name] = JSClosure { - newValue($0[0].fromJSValue()!) - return .undefined - }.jsValue - } else { - jsObject[name] = .null - } - } - } -} - -@inlinable public func _toJSValue(_ value: ((A0) -> Void)?) -> JSValue - where A0: JSValueCompatible -{ +@inlinable public func _toJSValue(_ value: ((A0) -> Void)?) -> JSValue where A0: JSValueCompatible { JSClosure { value?($0[0].fromJSValue()!) return .undefined }.jsValue } - -@propertyWrapper public final class ClosureAttribute1Void - where A0: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: (A0) -> Void { - get { ClosureAttribute1Void[name, in: jsObject] } - set { ClosureAttribute1Void[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> (A0) -> Void { - get { - let function = jsObject[name].function! - return { function(_toJSValue($0)) } - } - set { - jsObject[name] = JSClosure { - newValue($0[0].fromJSValue()!) - return .undefined - }.jsValue - } - } -} - -@inlinable public func _toJSValue(_ value: @escaping (A0) -> Void) -> JSValue - where A0: JSValueCompatible -{ - JSClosure { - value($0[0].fromJSValue()!) - return .undefined - }.jsValue -} - -@propertyWrapper public final class ClosureAttribute2 - where A0: JSValueCompatible, A1: JSValueCompatible, ReturnType: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: (A0, A1) -> ReturnType { - get { ClosureAttribute2[name, in: jsObject] } - set { ClosureAttribute2[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> (A0, A1) -> ReturnType { - get { - let function = jsObject[name].function! - return { function(_toJSValue($0), _toJSValue($1)).fromJSValue()! } - } - set { - jsObject[name] = JSClosure { - _toJSValue(newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!)) - }.jsValue - } - } -} - -@inlinable public func _toJSValue(_ value: @escaping (A0, A1) -> ReturnType) -> JSValue - where A0: JSValueCompatible, A1: JSValueCompatible, ReturnType: JSValueCompatible -{ - JSClosure { - _toJSValue(value($0[0].fromJSValue()!, $0[1].fromJSValue()!)) - }.jsValue -} - -@propertyWrapper public final class ClosureAttribute2Optional - where A0: JSValueCompatible, A1: JSValueCompatible, ReturnType: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: ((A0, A1) -> ReturnType)? { - get { ClosureAttribute2Optional[name, in: jsObject] } - set { ClosureAttribute2Optional[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> ((A0, A1) -> ReturnType)? { - get { - guard let function = jsObject[name].function else { - return nil - } - return { function(_toJSValue($0), _toJSValue($1)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[name] = JSClosure { - _toJSValue(newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!)) - }.jsValue - } else { - jsObject[name] = .null - } - } - } -} - @inlinable public func _toJSValue(_ value: ((A0, A1) -> ReturnType)?) -> JSValue - where A0: JSValueCompatible, A1: JSValueCompatible, ReturnType: JSValueCompatible -{ - JSClosure { - _toJSValue(value?($0[0].fromJSValue()!, $0[1].fromJSValue()!)) - }.jsValue +where A0: JSValueCompatible, A1: JSValueCompatible, ReturnType: JSValueCompatible { + JSClosure { _toJSValue(value?($0[0].fromJSValue()!, $0[1].fromJSValue()!)) }.jsValue } - -@propertyWrapper public final class ClosureAttribute2OptionalVoid - where A0: JSValueCompatible, A1: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: ((A0, A1) -> Void)? { - get { ClosureAttribute2OptionalVoid[name, in: jsObject] } - set { ClosureAttribute2OptionalVoid[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> ((A0, A1) -> Void)? { - get { - guard let function = jsObject[name].function else { - return nil - } - return { function(_toJSValue($0), _toJSValue($1)) } - } - set { - if let newValue = newValue { - jsObject[name] = JSClosure { - newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!) - return .undefined - }.jsValue - } else { - jsObject[name] = .null - } - } - } -} - @inlinable public func _toJSValue(_ value: ((A0, A1) -> Void)?) -> JSValue - where A0: JSValueCompatible, A1: JSValueCompatible -{ +where A0: JSValueCompatible, A1: JSValueCompatible { JSClosure { value?($0[0].fromJSValue()!, $0[1].fromJSValue()!) return .undefined }.jsValue } - -@propertyWrapper public final class ClosureAttribute2Void - where A0: JSValueCompatible, A1: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: (A0, A1) -> Void { - get { ClosureAttribute2Void[name, in: jsObject] } - set { ClosureAttribute2Void[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> (A0, A1) -> Void { - get { - let function = jsObject[name].function! - return { function(_toJSValue($0), _toJSValue($1)) } - } - set { - jsObject[name] = JSClosure { - newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!) - return .undefined - }.jsValue - } - } +@inlinable public func _toJSValue(_ value: ((A0, A1, A2) -> ReturnType)?) -> JSValue +where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, ReturnType: JSValueCompatible { + JSClosure { _toJSValue(value?($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!)) }.jsValue } - -@inlinable public func _toJSValue(_ value: @escaping (A0, A1) -> Void) -> JSValue - where A0: JSValueCompatible, A1: JSValueCompatible -{ +@inlinable public func _toJSValue(_ value: ((A0, A1, A2) -> Void)?) -> JSValue +where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible { JSClosure { - value($0[0].fromJSValue()!, $0[1].fromJSValue()!) + value?($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!) return .undefined }.jsValue } - -@propertyWrapper public final class ClosureAttribute3 - where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, ReturnType: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: (A0, A1, A2) -> ReturnType { - get { ClosureAttribute3[name, in: jsObject] } - set { ClosureAttribute3[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> (A0, A1, A2) -> ReturnType { - get { - let function = jsObject[name].function! - return { function(_toJSValue($0), _toJSValue($1), _toJSValue($2)).fromJSValue()! } - } - set { - jsObject[name] = JSClosure { - _toJSValue(newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!)) - }.jsValue - } - } -} - -@inlinable public func _toJSValue(_ value: @escaping (A0, A1, A2) -> ReturnType) -> JSValue - where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, ReturnType: JSValueCompatible +@inlinable public func _toJSValue( + _ value: ((A0, A1, A2, A3, A4) -> ReturnType)? +) -> JSValue +where + A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, A3: JSValueCompatible, A4: JSValueCompatible, + ReturnType: JSValueCompatible { JSClosure { - _toJSValue(value($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!)) + _toJSValue( + value?( + $0[0].fromJSValue()!, + $0[1].fromJSValue()!, + $0[2].fromJSValue()!, + $0[3].fromJSValue()!, + $0[4].fromJSValue()! + ) + ) }.jsValue } - -@propertyWrapper public final class ClosureAttribute3Optional - where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, ReturnType: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: ((A0, A1, A2) -> ReturnType)? { - get { ClosureAttribute3Optional[name, in: jsObject] } - set { ClosureAttribute3Optional[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> ((A0, A1, A2) -> ReturnType)? { - get { - guard let function = jsObject[name].function else { - return nil - } - return { function(_toJSValue($0), _toJSValue($1), _toJSValue($2)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[name] = JSClosure { - _toJSValue(newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!)) - }.jsValue - } else { - jsObject[name] = .null - } - } - } -} - -@inlinable public func _toJSValue(_ value: ((A0, A1, A2) -> ReturnType)?) -> JSValue - where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, ReturnType: JSValueCompatible -{ - JSClosure { - _toJSValue(value?($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!)) +@inlinable public func _toJSValue(_ value: @escaping () -> ReturnType) -> JSValue +where ReturnType: JSValueCompatible { JSClosure { _ in _toJSValue(value()) }.jsValue } +@inlinable public func _toJSValue(_ value: @escaping () -> Void) -> JSValue { + JSClosure { _ in + value() + return .undefined }.jsValue } - -@propertyWrapper public final class ClosureAttribute3OptionalVoid - where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: ((A0, A1, A2) -> Void)? { - get { ClosureAttribute3OptionalVoid[name, in: jsObject] } - set { ClosureAttribute3OptionalVoid[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> ((A0, A1, A2) -> Void)? { - get { - guard let function = jsObject[name].function else { - return nil - } - return { function(_toJSValue($0), _toJSValue($1), _toJSValue($2)) } - } - set { - if let newValue = newValue { - jsObject[name] = JSClosure { - newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!) - return .undefined - }.jsValue - } else { - jsObject[name] = .null - } - } - } +@inlinable public func _toJSValue(_ value: @escaping (A0) -> ReturnType) -> JSValue +where A0: JSValueCompatible, ReturnType: JSValueCompatible { + JSClosure { _toJSValue(value($0[0].fromJSValue()!)) }.jsValue } - -@inlinable public func _toJSValue(_ value: ((A0, A1, A2) -> Void)?) -> JSValue - where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible -{ +@inlinable public func _toJSValue(_ value: @escaping (A0) -> Void) -> JSValue where A0: JSValueCompatible { JSClosure { - value?($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!) + value($0[0].fromJSValue()!) return .undefined }.jsValue } - -@propertyWrapper public final class ClosureAttribute3Void - where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: (A0, A1, A2) -> Void { - get { ClosureAttribute3Void[name, in: jsObject] } - set { ClosureAttribute3Void[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> (A0, A1, A2) -> Void { - get { - let function = jsObject[name].function! - return { function(_toJSValue($0), _toJSValue($1), _toJSValue($2)) } - } - set { - jsObject[name] = JSClosure { - newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!) - return .undefined - }.jsValue - } - } +@inlinable public func _toJSValue(_ value: @escaping (A0, A1) -> ReturnType) -> JSValue +where A0: JSValueCompatible, A1: JSValueCompatible, ReturnType: JSValueCompatible { + JSClosure { _toJSValue(value($0[0].fromJSValue()!, $0[1].fromJSValue()!)) }.jsValue } - -@inlinable public func _toJSValue(_ value: @escaping (A0, A1, A2) -> Void) -> JSValue - where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible -{ +@inlinable public func _toJSValue(_ value: @escaping (A0, A1) -> Void) -> JSValue +where A0: JSValueCompatible, A1: JSValueCompatible { JSClosure { - value($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!) + value($0[0].fromJSValue()!, $0[1].fromJSValue()!) return .undefined }.jsValue } - -@propertyWrapper public final class ClosureAttribute5 - where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, A3: JSValueCompatible, A4: JSValueCompatible, ReturnType: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: (A0, A1, A2, A3, A4) -> ReturnType { - get { ClosureAttribute5[name, in: jsObject] } - set { ClosureAttribute5[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> (A0, A1, A2, A3, A4) -> ReturnType { - get { - let function = jsObject[name].function! - return { function(_toJSValue($0), _toJSValue($1), _toJSValue($2), _toJSValue($3), _toJSValue($4)).fromJSValue()! } - } - set { - jsObject[name] = JSClosure { - _toJSValue(newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!, $0[3].fromJSValue()!, $0[4].fromJSValue()!)) - }.jsValue - } - } +@inlinable public func _toJSValue(_ value: @escaping (A0, A1, A2) -> ReturnType) -> JSValue +where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, ReturnType: JSValueCompatible { + JSClosure { _toJSValue(value($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!)) }.jsValue } - -@inlinable public func _toJSValue(_ value: @escaping (A0, A1, A2, A3, A4) -> ReturnType) -> JSValue - where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, A3: JSValueCompatible, A4: JSValueCompatible, ReturnType: JSValueCompatible -{ +@inlinable public func _toJSValue(_ value: @escaping (A0, A1, A2) -> Void) -> JSValue +where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible { JSClosure { - _toJSValue(value($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!, $0[3].fromJSValue()!, $0[4].fromJSValue()!)) + value($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!) + return .undefined }.jsValue } - -@propertyWrapper public final class ClosureAttribute5Optional - where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, A3: JSValueCompatible, A4: JSValueCompatible, ReturnType: JSValueCompatible -{ - @usableFromInline let jsObject: JSObject - @usableFromInline let name: JSString - - @inlinable public init(jsObject: JSObject, name: JSString) { - self.jsObject = jsObject - self.name = name - } - - @inlinable public var wrappedValue: ((A0, A1, A2, A3, A4) -> ReturnType)? { - get { ClosureAttribute5Optional[name, in: jsObject] } - set { ClosureAttribute5Optional[name, in: jsObject] = newValue } - } - - @inlinable public static subscript(name: JSString, in jsObject: JSObject) -> ((A0, A1, A2, A3, A4) -> ReturnType)? { - get { - guard let function = jsObject[name].function else { - return nil - } - return { function(_toJSValue($0), _toJSValue($1), _toJSValue($2), _toJSValue($3), _toJSValue($4)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[name] = JSClosure { - _toJSValue(newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!, $0[3].fromJSValue()!, $0[4].fromJSValue()!)) - }.jsValue - } else { - jsObject[name] = .null - } - } - } -} - -@inlinable public func _toJSValue(_ value: ((A0, A1, A2, A3, A4) -> ReturnType)?) -> JSValue - where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, A3: JSValueCompatible, A4: JSValueCompatible, ReturnType: JSValueCompatible +@inlinable public func _toJSValue( + _ value: @escaping (A0, A1, A2, A3, A4) -> ReturnType +) -> JSValue +where + A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, A3: JSValueCompatible, A4: JSValueCompatible, + ReturnType: JSValueCompatible { JSClosure { - _toJSValue(value?($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!, $0[3].fromJSValue()!, $0[4].fromJSValue()!)) + _toJSValue( + value( + $0[0].fromJSValue()!, + $0[1].fromJSValue()!, + $0[2].fromJSValue()!, + $0[3].fromJSValue()!, + $0[4].fromJSValue()! + ) + ) }.jsValue } diff --git a/Sources/WebAnimations/Generated.swift b/Sources/WebAnimations/Generated.swift index 4026b859..b11811c0 100644 --- a/Sources/WebAnimations/Generated.swift +++ b/Sources/WebAnimations/Generated.swift @@ -2,121 +2,152 @@ import DOM import ECMAScript -import JavaScriptEventLoop import JavaScriptKit import WebAPIBase import WebAudio +#if canImport(JavaScriptEventLoop) + import JavaScriptEventLoop +#endif +#if canImport(_Concurrency) + import _Concurrency +#endif + public protocol Animatable: JSBridgedClass {} -public extension Animatable { - @inlinable func animate(keyframes: JSObject?, options: Double_or_KeyframeAnimationOptions? = nil) -> Animation { +extension Animatable { + @inlinable public func animate( + keyframes: JSObject?, + options: Double_or_KeyframeAnimationOptions? = nil + ) -> Animation { let this = jsObject - return this[Strings.animate].function!(this: this, arguments: [_toJSValue(keyframes), _toJSValue(options)]).fromJSValue()! + return this[Strings.animate].function!(this: this, arguments: [_toJSValue(keyframes), _toJSValue(options)]) + .fromJSValue()! } - @inlinable func getAnimations(options: GetAnimationsOptions? = nil) -> [Animation] { + @inlinable public func getAnimations(options: GetAnimationsOptions? = nil) -> [Animation] { let this = jsObject return this[Strings.getAnimations].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } } - extension Element: Animatable {} public class Animation: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Animation].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _id = ReadWriteAttribute(jsObject: jsObject, name: Strings.id) - _effect = ReadWriteAttribute(jsObject: jsObject, name: Strings.effect) - _timeline = ReadWriteAttribute(jsObject: jsObject, name: Strings.timeline) - _playbackRate = ReadWriteAttribute(jsObject: jsObject, name: Strings.playbackRate) - _playState = ReadonlyAttribute(jsObject: jsObject, name: Strings.playState) - _replaceState = ReadonlyAttribute(jsObject: jsObject, name: Strings.replaceState) - _pending = ReadonlyAttribute(jsObject: jsObject, name: Strings.pending) - _ready = ReadonlyAttribute(jsObject: jsObject, name: Strings.ready) - _finished = ReadonlyAttribute(jsObject: jsObject, name: Strings.finished) - _onfinish = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onfinish) - _oncancel = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncancel) - _onremove = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremove) - super.init(unsafelyWrapping: jsObject) - } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Animation].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(effect: AnimationEffect? = nil, timeline: AnimationTimeline? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(effect), _toJSValue(timeline)])) } - @ReadWriteAttribute - public var id: String + @inlinable public var id: String { + get { jsObject[Strings.id].fromJSValue()! } + set { jsObject[Strings.id] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var effect: AnimationEffect? + @inlinable public var effect: AnimationEffect? { + get { jsObject[Strings.effect].fromJSValue() } + set { jsObject[Strings.effect] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var timeline: AnimationTimeline? + @inlinable public var timeline: AnimationTimeline? { + get { jsObject[Strings.timeline].fromJSValue() } + set { jsObject[Strings.timeline] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var playbackRate: Double + @inlinable public var playbackRate: Double { + get { jsObject[Strings.playbackRate].fromJSValue()! } + set { jsObject[Strings.playbackRate] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var playState: AnimationPlayState + @inlinable public var playState: AnimationPlayState { jsObject[Strings.playState].fromJSValue()! } - @ReadonlyAttribute - public var replaceState: AnimationReplaceState + @inlinable public var replaceState: AnimationReplaceState { jsObject[Strings.replaceState].fromJSValue()! } - @ReadonlyAttribute - public var pending: Bool + @inlinable public var pending: Bool { jsObject[Strings.pending].fromJSValue()! } - @ReadonlyAttribute - public var ready: JSPromise + @inlinable public var ready: JSPromise { jsObject[Strings.ready].fromJSValue()! } - @ReadonlyAttribute - public var finished: JSPromise + @inlinable public var finished: JSPromise { jsObject[Strings.finished].fromJSValue()! } - @ClosureAttribute1Optional - public var onfinish: EventHandler + @inlinable public var onfinish: EventHandler { + get { + guard let function = jsObject[Strings.onfinish].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onfinish] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onfinish] = .null + } + } + } - @ClosureAttribute1Optional - public var oncancel: EventHandler + @inlinable public var oncancel: EventHandler { + get { + guard let function = jsObject[Strings.oncancel].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncancel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncancel] = .null + } + } + } - @ClosureAttribute1Optional - public var onremove: EventHandler + @inlinable public var onremove: EventHandler { + get { + guard let function = jsObject[Strings.onremove].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onremove] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onremove] = .null + } + } + } - @inlinable public func cancel() { + @inlinable final public func cancel() { let this = jsObject _ = this[Strings.cancel].function!(this: this, arguments: []) } - @inlinable public func finish() { + @inlinable final public func finish() { let this = jsObject _ = this[Strings.finish].function!(this: this, arguments: []) } - @inlinable public func play() { + @inlinable final public func play() { let this = jsObject _ = this[Strings.play].function!(this: this, arguments: []) } - @inlinable public func pause() { + @inlinable final public func pause() { let this = jsObject _ = this[Strings.pause].function!(this: this, arguments: []) } - @inlinable public func updatePlaybackRate(playbackRate: Double) { + @inlinable final public func updatePlaybackRate(playbackRate: Double) { let this = jsObject _ = this[Strings.updatePlaybackRate].function!(this: this, arguments: [_toJSValue(playbackRate)]) } - @inlinable public func reverse() { + @inlinable final public func reverse() { let this = jsObject _ = this[Strings.reverse].function!(this: this, arguments: []) } - @inlinable public func persist() { + @inlinable final public func persist() { let this = jsObject _ = this[Strings.persist].function!(this: this, arguments: []) } - @inlinable public func commitStyles() { + @inlinable final public func commitStyles() { let this = jsObject _ = this[Strings.commitStyles].function!(this: this, arguments: []) } @@ -127,21 +158,19 @@ public class AnimationEffect: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func getTiming() -> EffectTiming { + @inlinable final public func getTiming() -> EffectTiming { let this = jsObject return this[Strings.getTiming].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getComputedTiming() -> ComputedEffectTiming { + @inlinable final public func getComputedTiming() -> ComputedEffectTiming { let this = jsObject return this[Strings.getComputedTiming].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func updateTiming(timing: OptionalEffectTiming? = nil) { + @inlinable final public func updateTiming(timing: OptionalEffectTiming? = nil) { let this = jsObject _ = this[Strings.updateTiming].function!(this: this, arguments: [_toJSValue(timing)]) } @@ -154,150 +183,146 @@ public enum AnimationPlayState: JSString, JSValueCompatible { case finished = "finished" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum AnimationReplaceState: JSString, JSValueCompatible { case active = "active" case removed = "removed" case persisted = "persisted" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class AnimationTimeline: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.AnimationTimeline].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } -public class BaseComputedKeyframe: BridgedDictionary { - public convenience init(offset: Double?, computedOffset: Double, easing: String, composite: CompositeOperationOrAuto) { +open class BaseComputedKeyframe: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + offset: Double?, + computedOffset: Double? = nil, + easing: String? = nil, + composite: CompositeOperationOrAuto? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.offset] = _toJSValue(offset) object[Strings.computedOffset] = _toJSValue(computedOffset) object[Strings.easing] = _toJSValue(easing) object[Strings.composite] = _toJSValue(composite) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _offset = ReadWriteAttribute(jsObject: object, name: Strings.offset) - _computedOffset = ReadWriteAttribute(jsObject: object, name: Strings.computedOffset) - _easing = ReadWriteAttribute(jsObject: object, name: Strings.easing) - _composite = ReadWriteAttribute(jsObject: object, name: Strings.composite) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var offset: Double? - - @ReadWriteAttribute - public var computedOffset: Double + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var easing: String - - @ReadWriteAttribute - public var composite: CompositeOperationOrAuto + @inlinable public var offset: Double? { + get { jsObject[Strings.offset].fromJSValue() } + set { jsObject[Strings.offset] = _toJSValue(newValue) } + } + @inlinable public var computedOffset: Double { + get { jsObject[Strings.computedOffset].fromJSValue()! } + set { jsObject[Strings.computedOffset] = _toJSValue(newValue) } + } + @inlinable public var easing: String { + get { jsObject[Strings.easing].fromJSValue()! } + set { jsObject[Strings.easing] = _toJSValue(newValue) } + } + @inlinable public var composite: CompositeOperationOrAuto { + get { jsObject[Strings.composite].fromJSValue()! } + set { jsObject[Strings.composite] = _toJSValue(newValue) } + } } +open class BaseKeyframe: JSDictionaryCompatible { + public let jsObject: JSObject -public class BaseKeyframe: BridgedDictionary { - public convenience init(offset: Double?, easing: String, composite: CompositeOperationOrAuto) { + public convenience init(offset: Double?, easing: String? = nil, composite: CompositeOperationOrAuto? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.offset] = _toJSValue(offset) object[Strings.easing] = _toJSValue(easing) object[Strings.composite] = _toJSValue(composite) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _offset = ReadWriteAttribute(jsObject: object, name: Strings.offset) - _easing = ReadWriteAttribute(jsObject: object, name: Strings.easing) - _composite = ReadWriteAttribute(jsObject: object, name: Strings.composite) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var offset: Double? - - @ReadWriteAttribute - public var easing: String + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var composite: CompositeOperationOrAuto + @inlinable public var offset: Double? { + get { jsObject[Strings.offset].fromJSValue() } + set { jsObject[Strings.offset] = _toJSValue(newValue) } + } + @inlinable public var easing: String { + get { jsObject[Strings.easing].fromJSValue()! } + set { jsObject[Strings.easing] = _toJSValue(newValue) } + } + @inlinable public var composite: CompositeOperationOrAuto { + get { jsObject[Strings.composite].fromJSValue()! } + set { jsObject[Strings.composite] = _toJSValue(newValue) } + } } +open class BasePropertyIndexedKeyframe: JSDictionaryCompatible { + public let jsObject: JSObject -public class BasePropertyIndexedKeyframe: BridgedDictionary { - public convenience init(offset: nullable_Double_or_seq_of_nullable_Double, easing: String_or_seq_of_String, composite: CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto) { + public convenience init( + offset: nullable_Double_or_seq_of_nullable_Double? = nil, + easing: String_or_seq_of_String? = nil, + composite: CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.offset] = _toJSValue(offset) object[Strings.easing] = _toJSValue(easing) object[Strings.composite] = _toJSValue(composite) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _offset = ReadWriteAttribute(jsObject: object, name: Strings.offset) - _easing = ReadWriteAttribute(jsObject: object, name: Strings.easing) - _composite = ReadWriteAttribute(jsObject: object, name: Strings.composite) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var offset: nullable_Double_or_seq_of_nullable_Double - - @ReadWriteAttribute - public var easing: String_or_seq_of_String + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var composite: CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto + @inlinable public var offset: nullable_Double_or_seq_of_nullable_Double { + get { jsObject[Strings.offset].fromJSValue()! } + set { jsObject[Strings.offset] = _toJSValue(newValue) } + } + @inlinable public var easing: String_or_seq_of_String { + get { jsObject[Strings.easing].fromJSValue()! } + set { jsObject[Strings.easing] = _toJSValue(newValue) } + } + @inlinable public var composite: CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto { + get { jsObject[Strings.composite].fromJSValue()! } + set { jsObject[Strings.composite] = _toJSValue(newValue) } + } } - public enum CompositeOperation: JSString, JSValueCompatible { case replace = "replace" case add = "add" case accumulate = "accumulate" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum CompositeOperationOrAuto: JSString, JSValueCompatible { case replace = "replace" case add = "add" @@ -305,111 +330,125 @@ public enum CompositeOperationOrAuto: JSString, JSValueCompatible { case auto = "auto" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - -public class ComputedEffectTiming: BridgedDictionary { - public convenience init(progress: Double?, currentIteration: Double?) { +open class ComputedEffectTiming: EffectTiming { + + public convenience init( + fill: FillMode? = nil, + iterationStart: Double? = nil, + iterations: Double? = nil, + direction: PlaybackDirection? = nil, + easing: String? = nil, + progress: Double?, + currentIteration: Double? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.fill] = _toJSValue(fill) + object[Strings.iterationStart] = _toJSValue(iterationStart) + object[Strings.iterations] = _toJSValue(iterations) + object[Strings.direction] = _toJSValue(direction) + object[Strings.easing] = _toJSValue(easing) object[Strings.progress] = _toJSValue(progress) object[Strings.currentIteration] = _toJSValue(currentIteration) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _progress = ReadWriteAttribute(jsObject: object, name: Strings.progress) - _currentIteration = ReadWriteAttribute(jsObject: object, name: Strings.currentIteration) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var progress: Double? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var currentIteration: Double? + @inlinable public var progress: Double? { + get { jsObject[Strings.progress].fromJSValue() } + set { jsObject[Strings.progress] = _toJSValue(newValue) } + } + @inlinable public var currentIteration: Double? { + get { jsObject[Strings.currentIteration].fromJSValue() } + set { jsObject[Strings.currentIteration] = _toJSValue(newValue) } + } } -public extension DocumentOrShadowRoot { - @inlinable func getAnimations() -> [Animation] { +extension DocumentOrShadowRoot { + @inlinable public func getAnimations() -> [Animation] { let this = jsObject return this[Strings.getAnimations].function!(this: this, arguments: []).fromJSValue()! } } - public class DocumentTimeline: AnimationTimeline { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DocumentTimeline].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DocumentTimeline].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(options: DocumentTimelineOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(options)])) } } -public class DocumentTimelineOptions: BridgedDictionary { - public convenience init(originTime: DOMHighResTimeStamp) { +open class DocumentTimelineOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(originTime: DOMHighResTimeStamp? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.originTime] = _toJSValue(originTime) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _originTime = ReadWriteAttribute(jsObject: object, name: Strings.originTime) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var originTime: DOMHighResTimeStamp + @inlinable public var originTime: DOMHighResTimeStamp { + get { jsObject[Strings.originTime].fromJSValue()! } + set { jsObject[Strings.originTime] = _toJSValue(newValue) } + } } +open class EffectTiming: JSDictionaryCompatible { + public let jsObject: JSObject -public class EffectTiming: BridgedDictionary { - public convenience init(fill: FillMode, iterationStart: Double, iterations: Double, direction: PlaybackDirection, easing: String) { + public convenience init( + fill: FillMode? = nil, + iterationStart: Double? = nil, + iterations: Double? = nil, + direction: PlaybackDirection? = nil, + easing: String? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.fill] = _toJSValue(fill) object[Strings.iterationStart] = _toJSValue(iterationStart) object[Strings.iterations] = _toJSValue(iterations) object[Strings.direction] = _toJSValue(direction) object[Strings.easing] = _toJSValue(easing) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _fill = ReadWriteAttribute(jsObject: object, name: Strings.fill) - _iterationStart = ReadWriteAttribute(jsObject: object, name: Strings.iterationStart) - _iterations = ReadWriteAttribute(jsObject: object, name: Strings.iterations) - _direction = ReadWriteAttribute(jsObject: object, name: Strings.direction) - _easing = ReadWriteAttribute(jsObject: object, name: Strings.easing) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var fill: FillMode - - @ReadWriteAttribute - public var iterationStart: Double - - @ReadWriteAttribute - public var iterations: Double + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var direction: PlaybackDirection - - @ReadWriteAttribute - public var easing: String + @inlinable public var fill: FillMode { + get { jsObject[Strings.fill].fromJSValue()! } + set { jsObject[Strings.fill] = _toJSValue(newValue) } + } + @inlinable public var iterationStart: Double { + get { jsObject[Strings.iterationStart].fromJSValue()! } + set { jsObject[Strings.iterationStart] = _toJSValue(newValue) } + } + @inlinable public var iterations: Double { + get { jsObject[Strings.iterations].fromJSValue()! } + set { jsObject[Strings.iterations] = _toJSValue(newValue) } + } + @inlinable public var direction: PlaybackDirection { + get { jsObject[Strings.direction].fromJSValue()! } + set { jsObject[Strings.direction] = _toJSValue(newValue) } + } + @inlinable public var easing: String { + get { jsObject[Strings.easing].fromJSValue()! } + set { jsObject[Strings.easing] = _toJSValue(newValue) } + } } - public enum FillMode: JSString, JSValueCompatible { case none = "none" case forwards = "forwards" @@ -418,117 +457,153 @@ public enum FillMode: JSString, JSValueCompatible { case auto = "auto" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GetAnimationsOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class GetAnimationsOptions: BridgedDictionary { - public convenience init(subtree: Bool) { + public convenience init(subtree: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.subtree] = _toJSValue(subtree) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _subtree = ReadWriteAttribute(jsObject: object, name: Strings.subtree) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var subtree: Bool + @inlinable public var subtree: Bool { + get { jsObject[Strings.subtree].fromJSValue()! } + set { jsObject[Strings.subtree] = _toJSValue(newValue) } + } } - -public class KeyframeAnimationOptions: BridgedDictionary { - public convenience init(id: String, timeline: AnimationTimeline?) { +open class KeyframeAnimationOptions: KeyframeEffectOptions { + + public convenience init( + composite: CompositeOperation? = nil, + pseudoElement: String?, + id: String? = nil, + timeline: AnimationTimeline? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.composite] = _toJSValue(composite) + object[Strings.pseudoElement] = _toJSValue(pseudoElement) object[Strings.id] = _toJSValue(id) object[Strings.timeline] = _toJSValue(timeline) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _id = ReadWriteAttribute(jsObject: object, name: Strings.id) - _timeline = ReadWriteAttribute(jsObject: object, name: Strings.timeline) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var id: String + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var timeline: AnimationTimeline? + @inlinable public var id: String { + get { jsObject[Strings.id].fromJSValue()! } + set { jsObject[Strings.id] = _toJSValue(newValue) } + } + @inlinable public var timeline: AnimationTimeline? { + get { jsObject[Strings.timeline].fromJSValue() } + set { jsObject[Strings.timeline] = _toJSValue(newValue) } + } } - public class KeyframeEffect: AnimationEffect { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.KeyframeEffect].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.KeyframeEffect].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) - _pseudoElement = ReadWriteAttribute(jsObject: jsObject, name: Strings.pseudoElement) - _composite = ReadWriteAttribute(jsObject: jsObject, name: Strings.composite) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(target: Element?, keyframes: JSObject?, options: Double_or_KeyframeEffectOptions? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(target), _toJSValue(keyframes), _toJSValue(options)])) + @inlinable public convenience init( + target: Element?, + keyframes: JSObject?, + options: Double_or_KeyframeEffectOptions? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(target), _toJSValue(keyframes), _toJSValue(options), + ]) + ) } @inlinable public convenience init(source: KeyframeEffect) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(source)])) } - @ReadWriteAttribute - public var target: Element? + @inlinable public var target: Element? { + get { jsObject[Strings.target].fromJSValue() } + set { jsObject[Strings.target] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var pseudoElement: String? + @inlinable public var pseudoElement: String? { + get { jsObject[Strings.pseudoElement].fromJSValue() } + set { jsObject[Strings.pseudoElement] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var composite: CompositeOperation + @inlinable public var composite: CompositeOperation { + get { jsObject[Strings.composite].fromJSValue()! } + set { jsObject[Strings.composite] = _toJSValue(newValue) } + } - @inlinable public func getKeyframes() -> [JSObject] { + @inlinable final public func getKeyframes() -> [JSObject] { let this = jsObject return this[Strings.getKeyframes].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setKeyframes(keyframes: JSObject?) { + @inlinable final public func setKeyframes(keyframes: JSObject?) { let this = jsObject _ = this[Strings.setKeyframes].function!(this: this, arguments: [_toJSValue(keyframes)]) } } -public class KeyframeEffectOptions: BridgedDictionary { - public convenience init(composite: CompositeOperation, pseudoElement: String?) { +open class KeyframeEffectOptions: EffectTiming { + + public convenience init( + fill: FillMode? = nil, + iterationStart: Double? = nil, + iterations: Double? = nil, + direction: PlaybackDirection? = nil, + easing: String? = nil, + composite: CompositeOperation? = nil, + pseudoElement: String? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.fill] = _toJSValue(fill) + object[Strings.iterationStart] = _toJSValue(iterationStart) + object[Strings.iterations] = _toJSValue(iterations) + object[Strings.direction] = _toJSValue(direction) + object[Strings.easing] = _toJSValue(easing) object[Strings.composite] = _toJSValue(composite) object[Strings.pseudoElement] = _toJSValue(pseudoElement) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _composite = ReadWriteAttribute(jsObject: object, name: Strings.composite) - _pseudoElement = ReadWriteAttribute(jsObject: object, name: Strings.pseudoElement) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var composite: CompositeOperation + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var pseudoElement: String? + @inlinable public var composite: CompositeOperation { + get { jsObject[Strings.composite].fromJSValue()! } + set { jsObject[Strings.composite] = _toJSValue(newValue) } + } + @inlinable public var pseudoElement: String? { + get { jsObject[Strings.pseudoElement].fromJSValue() } + set { jsObject[Strings.pseudoElement] = _toJSValue(newValue) } + } } +open class OptionalEffectTiming: JSDictionaryCompatible { + public let jsObject: JSObject -public class OptionalEffectTiming: BridgedDictionary { - public convenience init(delay: Double, endDelay: Double, fill: FillMode, iterationStart: Double, iterations: Double, duration: Double_or_String, direction: PlaybackDirection, easing: String) { + public convenience init( + delay: Double? = nil, + endDelay: Double? = nil, + fill: FillMode? = nil, + iterationStart: Double? = nil, + iterations: Double? = nil, + duration: Double_or_String? = nil, + direction: PlaybackDirection? = nil, + easing: String? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.delay] = _toJSValue(delay) object[Strings.endDelay] = _toJSValue(endDelay) @@ -538,46 +613,45 @@ public class OptionalEffectTiming: BridgedDictionary { object[Strings.duration] = _toJSValue(duration) object[Strings.direction] = _toJSValue(direction) object[Strings.easing] = _toJSValue(easing) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _delay = ReadWriteAttribute(jsObject: object, name: Strings.delay) - _endDelay = ReadWriteAttribute(jsObject: object, name: Strings.endDelay) - _fill = ReadWriteAttribute(jsObject: object, name: Strings.fill) - _iterationStart = ReadWriteAttribute(jsObject: object, name: Strings.iterationStart) - _iterations = ReadWriteAttribute(jsObject: object, name: Strings.iterations) - _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) - _direction = ReadWriteAttribute(jsObject: object, name: Strings.direction) - _easing = ReadWriteAttribute(jsObject: object, name: Strings.easing) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var delay: Double - - @ReadWriteAttribute - public var endDelay: Double - - @ReadWriteAttribute - public var fill: FillMode + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var iterationStart: Double - - @ReadWriteAttribute - public var iterations: Double - - @ReadWriteAttribute - public var duration: Double_or_String - - @ReadWriteAttribute - public var direction: PlaybackDirection - - @ReadWriteAttribute - public var easing: String + @inlinable public var delay: Double { + get { jsObject[Strings.delay].fromJSValue()! } + set { jsObject[Strings.delay] = _toJSValue(newValue) } + } + @inlinable public var endDelay: Double { + get { jsObject[Strings.endDelay].fromJSValue()! } + set { jsObject[Strings.endDelay] = _toJSValue(newValue) } + } + @inlinable public var fill: FillMode { + get { jsObject[Strings.fill].fromJSValue()! } + set { jsObject[Strings.fill] = _toJSValue(newValue) } + } + @inlinable public var iterationStart: Double { + get { jsObject[Strings.iterationStart].fromJSValue()! } + set { jsObject[Strings.iterationStart] = _toJSValue(newValue) } + } + @inlinable public var iterations: Double { + get { jsObject[Strings.iterations].fromJSValue()! } + set { jsObject[Strings.iterations] = _toJSValue(newValue) } + } + @inlinable public var duration: Double_or_String { + get { jsObject[Strings.duration].fromJSValue()! } + set { jsObject[Strings.duration] = _toJSValue(newValue) } + } + @inlinable public var direction: PlaybackDirection { + get { jsObject[Strings.direction].fromJSValue()! } + set { jsObject[Strings.direction] = _toJSValue(newValue) } + } + @inlinable public var easing: String { + get { jsObject[Strings.easing].fromJSValue()! } + set { jsObject[Strings.easing] = _toJSValue(newValue) } + } } - public enum PlaybackDirection: JSString, JSValueCompatible { case normal = "normal" case reverse = "reverse" @@ -585,89 +659,90 @@ public enum PlaybackDirection: JSString, JSValueCompatible { case alternateReverse = "alternate-reverse" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let Animation: JSString = "Animation" - @usableFromInline static let AnimationEffect: JSString = "AnimationEffect" - @usableFromInline static let AnimationTimeline: JSString = "AnimationTimeline" - @usableFromInline static let DocumentTimeline: JSString = "DocumentTimeline" - @usableFromInline static let KeyframeEffect: JSString = "KeyframeEffect" - @usableFromInline static let Object: JSString = "Object" - @usableFromInline static let animate: JSString = "animate" - @usableFromInline static let cancel: JSString = "cancel" - @usableFromInline static let commitStyles: JSString = "commitStyles" - @usableFromInline static let composite: JSString = "composite" - @usableFromInline static let computedOffset: JSString = "computedOffset" - @usableFromInline static let currentIteration: JSString = "currentIteration" - @usableFromInline static let delay: JSString = "delay" - @usableFromInline static let direction: JSString = "direction" - @usableFromInline static let duration: JSString = "duration" - @usableFromInline static let easing: JSString = "easing" - @usableFromInline static let effect: JSString = "effect" - @usableFromInline static let endDelay: JSString = "endDelay" - @usableFromInline static let fill: JSString = "fill" - @usableFromInline static let finish: JSString = "finish" - @usableFromInline static let finished: JSString = "finished" - @usableFromInline static let getAnimations: JSString = "getAnimations" - @usableFromInline static let getComputedTiming: JSString = "getComputedTiming" - @usableFromInline static let getKeyframes: JSString = "getKeyframes" - @usableFromInline static let getTiming: JSString = "getTiming" - @usableFromInline static let id: JSString = "id" - @usableFromInline static let iterationStart: JSString = "iterationStart" - @usableFromInline static let iterations: JSString = "iterations" - @usableFromInline static let offset: JSString = "offset" - @usableFromInline static let oncancel: JSString = "oncancel" - @usableFromInline static let onfinish: JSString = "onfinish" - @usableFromInline static let onremove: JSString = "onremove" - @usableFromInline static let originTime: JSString = "originTime" - @usableFromInline static let pause: JSString = "pause" - @usableFromInline static let pending: JSString = "pending" - @usableFromInline static let persist: JSString = "persist" - @usableFromInline static let play: JSString = "play" - @usableFromInline static let playState: JSString = "playState" - @usableFromInline static let playbackRate: JSString = "playbackRate" - @usableFromInline static let progress: JSString = "progress" - @usableFromInline static let pseudoElement: JSString = "pseudoElement" - @usableFromInline static let ready: JSString = "ready" - @usableFromInline static let replaceState: JSString = "replaceState" - @usableFromInline static let reverse: JSString = "reverse" - @usableFromInline static let setKeyframes: JSString = "setKeyframes" - @usableFromInline static let subtree: JSString = "subtree" - @usableFromInline static let target: JSString = "target" - @usableFromInline static let timeline: JSString = "timeline" - @usableFromInline static let toString: JSString = "toString" - @usableFromInline static let updatePlaybackRate: JSString = "updatePlaybackRate" - @usableFromInline static let updateTiming: JSString = "updateTiming" + @usableFromInline static let `Animation`: JSString = "Animation" + @usableFromInline static let `AnimationEffect`: JSString = "AnimationEffect" + @usableFromInline static let `AnimationTimeline`: JSString = "AnimationTimeline" + @usableFromInline static let `DocumentTimeline`: JSString = "DocumentTimeline" + @usableFromInline static let `KeyframeEffect`: JSString = "KeyframeEffect" + @usableFromInline static let `Object`: JSString = "Object" + @usableFromInline static let `animate`: JSString = "animate" + @usableFromInline static let `cancel`: JSString = "cancel" + @usableFromInline static let `commitStyles`: JSString = "commitStyles" + @usableFromInline static let `composite`: JSString = "composite" + @usableFromInline static let `computedOffset`: JSString = "computedOffset" + @usableFromInline static let `currentIteration`: JSString = "currentIteration" + @usableFromInline static let `delay`: JSString = "delay" + @usableFromInline static let `direction`: JSString = "direction" + @usableFromInline static let `duration`: JSString = "duration" + @usableFromInline static let `easing`: JSString = "easing" + @usableFromInline static let `effect`: JSString = "effect" + @usableFromInline static let `endDelay`: JSString = "endDelay" + @usableFromInline static let `fill`: JSString = "fill" + @usableFromInline static let `finish`: JSString = "finish" + @usableFromInline static let `finished`: JSString = "finished" + @usableFromInline static let `getAnimations`: JSString = "getAnimations" + @usableFromInline static let `getComputedTiming`: JSString = "getComputedTiming" + @usableFromInline static let `getKeyframes`: JSString = "getKeyframes" + @usableFromInline static let `getTiming`: JSString = "getTiming" + @usableFromInline static let `id`: JSString = "id" + @usableFromInline static let `iterationStart`: JSString = "iterationStart" + @usableFromInline static let `iterations`: JSString = "iterations" + @usableFromInline static let `offset`: JSString = "offset" + @usableFromInline static let `oncancel`: JSString = "oncancel" + @usableFromInline static let `onfinish`: JSString = "onfinish" + @usableFromInline static let `onremove`: JSString = "onremove" + @usableFromInline static let `originTime`: JSString = "originTime" + @usableFromInline static let `pause`: JSString = "pause" + @usableFromInline static let `pending`: JSString = "pending" + @usableFromInline static let `persist`: JSString = "persist" + @usableFromInline static let `play`: JSString = "play" + @usableFromInline static let `playState`: JSString = "playState" + @usableFromInline static let `playbackRate`: JSString = "playbackRate" + @usableFromInline static let `progress`: JSString = "progress" + @usableFromInline static let `pseudoElement`: JSString = "pseudoElement" + @usableFromInline static let `ready`: JSString = "ready" + @usableFromInline static let `replaceState`: JSString = "replaceState" + @usableFromInline static let `reverse`: JSString = "reverse" + @usableFromInline static let `setKeyframes`: JSString = "setKeyframes" + @usableFromInline static let `subtree`: JSString = "subtree" + @usableFromInline static let `target`: JSString = "target" + @usableFromInline static let `timeline`: JSString = "timeline" + @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `updatePlaybackRate`: JSString = "updatePlaybackRate" + @usableFromInline static let `updateTiming`: JSString = "updateTiming" } - public protocol Any_CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto: ConvertibleToJSValue {} extension CompositeOperationOrAuto: Any_CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto {} -extension Array: Any_CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto where Element == CompositeOperationOrAuto {} +extension Array: Any_CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto +where Element == CompositeOperationOrAuto {} -public enum CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto: JSValueCompatible, Any_CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto { +public enum CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto: JSValueCompatible, + Any_CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto +{ case compositeOperationOrAuto(CompositeOperationOrAuto) case seq_of_CompositeOperationOrAuto([CompositeOperationOrAuto]) - init(_ compositeOperationOrAuto: CompositeOperationOrAuto) { - let val: CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto = .compositeOperationOrAuto(compositeOperationOrAuto) + public init(_ compositeOperationOrAuto: CompositeOperationOrAuto) { + let val: CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto = .compositeOperationOrAuto( + compositeOperationOrAuto + ) self = val } - - init(_ seq_of_CompositeOperationOrAuto: [CompositeOperationOrAuto]) { - let val: CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto = .seq_of_CompositeOperationOrAuto(seq_of_CompositeOperationOrAuto) + public init(_ seq_of_CompositeOperationOrAuto: [CompositeOperationOrAuto]) { + let val: CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto = .seq_of_CompositeOperationOrAuto( + seq_of_CompositeOperationOrAuto + ) self = val } @@ -677,10 +752,10 @@ public enum CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto: JSValue default: return nil } } - public var seq_of_CompositeOperationOrAuto: [CompositeOperationOrAuto]? { switch self { - case let .seq_of_CompositeOperationOrAuto(seq_of_CompositeOperationOrAuto): return seq_of_CompositeOperationOrAuto + case let .seq_of_CompositeOperationOrAuto(seq_of_CompositeOperationOrAuto): + return seq_of_CompositeOperationOrAuto default: return nil } } @@ -697,14 +772,12 @@ public enum CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto: JSValue public var jsValue: JSValue { switch self { - case let .compositeOperationOrAuto(compositeOperationOrAuto): - return compositeOperationOrAuto.jsValue + case let .compositeOperationOrAuto(compositeOperationOrAuto): return compositeOperationOrAuto.jsValue case let .seq_of_CompositeOperationOrAuto(seq_of_CompositeOperationOrAuto): return seq_of_CompositeOperationOrAuto.jsValue } } } - public protocol Any_Double_or_KeyframeAnimationOptions: ConvertibleToJSValue {} extension Double: Any_Double_or_KeyframeAnimationOptions {} extension KeyframeAnimationOptions: Any_Double_or_KeyframeAnimationOptions {} @@ -713,12 +786,11 @@ public enum Double_or_KeyframeAnimationOptions: JSValueCompatible, Any_Double_or case double(Double) case keyframeAnimationOptions(KeyframeAnimationOptions) - init(_ double: Double) { + public init(_ double: Double) { let val: Double_or_KeyframeAnimationOptions = .double(double) self = val } - - init(_ keyframeAnimationOptions: KeyframeAnimationOptions) { + public init(_ keyframeAnimationOptions: KeyframeAnimationOptions) { let val: Double_or_KeyframeAnimationOptions = .keyframeAnimationOptions(keyframeAnimationOptions) self = val } @@ -729,7 +801,6 @@ public enum Double_or_KeyframeAnimationOptions: JSValueCompatible, Any_Double_or default: return nil } } - public var keyframeAnimationOptions: KeyframeAnimationOptions? { switch self { case let .keyframeAnimationOptions(keyframeAnimationOptions): return keyframeAnimationOptions @@ -738,9 +809,7 @@ public enum Double_or_KeyframeAnimationOptions: JSValueCompatible, Any_Double_or } public static func construct(from value: JSValue) -> Self? { - if let double: Double = value.fromJSValue() { - return .double(double) - } + if let double: Double = value.fromJSValue() { return .double(double) } if let keyframeAnimationOptions: KeyframeAnimationOptions = value.fromJSValue() { return .keyframeAnimationOptions(keyframeAnimationOptions) } @@ -749,14 +818,11 @@ public enum Double_or_KeyframeAnimationOptions: JSValueCompatible, Any_Double_or public var jsValue: JSValue { switch self { - case let .double(double): - return double.jsValue - case let .keyframeAnimationOptions(keyframeAnimationOptions): - return keyframeAnimationOptions.jsValue + case let .double(double): return double.jsValue + case let .keyframeAnimationOptions(keyframeAnimationOptions): return keyframeAnimationOptions.jsValue } } } - public protocol Any_Double_or_KeyframeEffectOptions: ConvertibleToJSValue {} extension Double: Any_Double_or_KeyframeEffectOptions {} extension KeyframeEffectOptions: Any_Double_or_KeyframeEffectOptions {} @@ -765,12 +831,11 @@ public enum Double_or_KeyframeEffectOptions: JSValueCompatible, Any_Double_or_Ke case double(Double) case keyframeEffectOptions(KeyframeEffectOptions) - init(_ double: Double) { + public init(_ double: Double) { let val: Double_or_KeyframeEffectOptions = .double(double) self = val } - - init(_ keyframeEffectOptions: KeyframeEffectOptions) { + public init(_ keyframeEffectOptions: KeyframeEffectOptions) { let val: Double_or_KeyframeEffectOptions = .keyframeEffectOptions(keyframeEffectOptions) self = val } @@ -781,7 +846,6 @@ public enum Double_or_KeyframeEffectOptions: JSValueCompatible, Any_Double_or_Ke default: return nil } } - public var keyframeEffectOptions: KeyframeEffectOptions? { switch self { case let .keyframeEffectOptions(keyframeEffectOptions): return keyframeEffectOptions @@ -790,9 +854,7 @@ public enum Double_or_KeyframeEffectOptions: JSValueCompatible, Any_Double_or_Ke } public static func construct(from value: JSValue) -> Self? { - if let double: Double = value.fromJSValue() { - return .double(double) - } + if let double: Double = value.fromJSValue() { return .double(double) } if let keyframeEffectOptions: KeyframeEffectOptions = value.fromJSValue() { return .keyframeEffectOptions(keyframeEffectOptions) } @@ -801,14 +863,11 @@ public enum Double_or_KeyframeEffectOptions: JSValueCompatible, Any_Double_or_Ke public var jsValue: JSValue { switch self { - case let .double(double): - return double.jsValue - case let .keyframeEffectOptions(keyframeEffectOptions): - return keyframeEffectOptions.jsValue + case let .double(double): return double.jsValue + case let .keyframeEffectOptions(keyframeEffectOptions): return keyframeEffectOptions.jsValue } } } - public protocol Any_Double_or_String: ConvertibleToJSValue {} extension Double: Any_Double_or_String {} extension String: Any_Double_or_String {} @@ -817,12 +876,11 @@ public enum Double_or_String: JSValueCompatible, Any_Double_or_String { case double(Double) case string(String) - init(_ double: Double) { + public init(_ double: Double) { let val: Double_or_String = .double(double) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: Double_or_String = .string(string) self = val } @@ -833,7 +891,6 @@ public enum Double_or_String: JSValueCompatible, Any_Double_or_String { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -842,25 +899,18 @@ public enum Double_or_String: JSValueCompatible, Any_Double_or_String { } public static func construct(from value: JSValue) -> Self? { - if let double: Double = value.fromJSValue() { - return .double(double) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let double: Double = value.fromJSValue() { return .double(double) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .double(double): - return double.jsValue - case let .string(string): - return string.jsValue + case let .double(double): return double.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_String_or_seq_of_String: ConvertibleToJSValue {} extension String: Any_String_or_seq_of_String {} extension Array: Any_String_or_seq_of_String where Element == String {} @@ -869,12 +919,11 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str case string(String) case seq_of_String([String]) - init(_ string: String) { + public init(_ string: String) { let val: String_or_seq_of_String = .string(string) self = val } - - init(_ seq_of_String: [String]) { + public init(_ seq_of_String: [String]) { let val: String_or_seq_of_String = .seq_of_String(seq_of_String) self = val } @@ -885,7 +934,6 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str default: return nil } } - public var seq_of_String: [String]? { switch self { case let .seq_of_String(seq_of_String): return seq_of_String @@ -894,39 +942,32 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str } public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { - return .string(string) - } - if let seq_of_String: [String] = value.fromJSValue() { - return .seq_of_String(seq_of_String) - } + if let string: String = value.fromJSValue() { return .string(string) } + if let seq_of_String: [String] = value.fromJSValue() { return .seq_of_String(seq_of_String) } return nil } public var jsValue: JSValue { switch self { - case let .string(string): - return string.jsValue - case let .seq_of_String(seq_of_String): - return seq_of_String.jsValue + case let .string(string): return string.jsValue + case let .seq_of_String(seq_of_String): return seq_of_String.jsValue } } } - public protocol Any_nullable_Double_or_seq_of_nullable_Double: ConvertibleToJSValue {} extension Optional: Any_nullable_Double_or_seq_of_nullable_Double where Wrapped == Double {} extension Array: Any_nullable_Double_or_seq_of_nullable_Double where Element == Double? {} -public enum nullable_Double_or_seq_of_nullable_Double: JSValueCompatible, Any_nullable_Double_or_seq_of_nullable_Double { +public enum nullable_Double_or_seq_of_nullable_Double: JSValueCompatible, Any_nullable_Double_or_seq_of_nullable_Double +{ case nullable_Double(Double?) case seq_of_nullable_Double([Double?]) - init(_ nullable_Double: Double?) { + public init(_ nullable_Double: Double?) { let val: nullable_Double_or_seq_of_nullable_Double = .nullable_Double(nullable_Double) self = val } - - init(_ seq_of_nullable_Double: [Double?]) { + public init(_ seq_of_nullable_Double: [Double?]) { let val: nullable_Double_or_seq_of_nullable_Double = .seq_of_nullable_Double(seq_of_nullable_Double) self = val } @@ -937,7 +978,6 @@ public enum nullable_Double_or_seq_of_nullable_Double: JSValueCompatible, Any_nu default: return nil } } - public var seq_of_nullable_Double: [Double?]? { switch self { case let .seq_of_nullable_Double(seq_of_nullable_Double): return seq_of_nullable_Double @@ -946,9 +986,7 @@ public enum nullable_Double_or_seq_of_nullable_Double: JSValueCompatible, Any_nu } public static func construct(from value: JSValue) -> Self? { - if let nullable_Double: Double? = value.fromJSValue() { - return .nullable_Double(nullable_Double) - } + if let nullable_Double: Double? = value.fromJSValue() { return .nullable_Double(nullable_Double) } if let seq_of_nullable_Double: [Double?] = value.fromJSValue() { return .seq_of_nullable_Double(seq_of_nullable_Double) } @@ -957,10 +995,8 @@ public enum nullable_Double_or_seq_of_nullable_Double: JSValueCompatible, Any_nu public var jsValue: JSValue { switch self { - case let .nullable_Double(nullable_Double): - return nullable_Double.jsValue - case let .seq_of_nullable_Double(seq_of_nullable_Double): - return seq_of_nullable_Double.jsValue + case let .nullable_Double(nullable_Double): return nullable_Double.jsValue + case let .seq_of_nullable_Double(seq_of_nullable_Double): return seq_of_nullable_Double.jsValue } } } diff --git a/Sources/WebAudio/Generated.swift b/Sources/WebAudio/Generated.swift index 590831f7..5428f3e6 100644 --- a/Sources/WebAudio/Generated.swift +++ b/Sources/WebAudio/Generated.swift @@ -2,208 +2,231 @@ import DOM import ECMAScript -import JavaScriptEventLoop import JavaScriptKit import WebAPIBase +#if canImport(JavaScriptEventLoop) + import JavaScriptEventLoop +#endif +#if canImport(_Concurrency) + import _Concurrency +#endif + public class AnalyserNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AnalyserNode].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AnalyserNode].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _fftSize = ReadWriteAttribute(jsObject: jsObject, name: Strings.fftSize) - _frequencyBinCount = ReadonlyAttribute(jsObject: jsObject, name: Strings.frequencyBinCount) - _minDecibels = ReadWriteAttribute(jsObject: jsObject, name: Strings.minDecibels) - _maxDecibels = ReadWriteAttribute(jsObject: jsObject, name: Strings.maxDecibels) - _smoothingTimeConstant = ReadWriteAttribute(jsObject: jsObject, name: Strings.smoothingTimeConstant) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(context: BaseAudioContext, options: AnalyserOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @inlinable public func getFloatFrequencyData(array: Float32Array) { + @inlinable final public func getFloatFrequencyData(array: Float32Array) { let this = jsObject _ = this[Strings.getFloatFrequencyData].function!(this: this, arguments: [_toJSValue(array)]) } - @inlinable public func getByteFrequencyData(array: Uint8Array) { + @inlinable final public func getByteFrequencyData(array: Uint8Array) { let this = jsObject _ = this[Strings.getByteFrequencyData].function!(this: this, arguments: [_toJSValue(array)]) } - @inlinable public func getFloatTimeDomainData(array: Float32Array) { + @inlinable final public func getFloatTimeDomainData(array: Float32Array) { let this = jsObject _ = this[Strings.getFloatTimeDomainData].function!(this: this, arguments: [_toJSValue(array)]) } - @inlinable public func getByteTimeDomainData(array: Uint8Array) { + @inlinable final public func getByteTimeDomainData(array: Uint8Array) { let this = jsObject _ = this[Strings.getByteTimeDomainData].function!(this: this, arguments: [_toJSValue(array)]) } - @ReadWriteAttribute - public var fftSize: UInt32 + @inlinable public var fftSize: UInt32 { + get { jsObject[Strings.fftSize].fromJSValue()! } + set { jsObject[Strings.fftSize] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var frequencyBinCount: UInt32 + @inlinable public var frequencyBinCount: UInt32 { jsObject[Strings.frequencyBinCount].fromJSValue()! } - @ReadWriteAttribute - public var minDecibels: Double + @inlinable public var minDecibels: Double { + get { jsObject[Strings.minDecibels].fromJSValue()! } + set { jsObject[Strings.minDecibels] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var maxDecibels: Double + @inlinable public var maxDecibels: Double { + get { jsObject[Strings.maxDecibels].fromJSValue()! } + set { jsObject[Strings.maxDecibels] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var smoothingTimeConstant: Double + @inlinable public var smoothingTimeConstant: Double { + get { jsObject[Strings.smoothingTimeConstant].fromJSValue()! } + set { jsObject[Strings.smoothingTimeConstant] = _toJSValue(newValue) } + } } -public class AnalyserOptions: BridgedDictionary { - public convenience init(fftSize: UInt32, maxDecibels: Double, minDecibels: Double, smoothingTimeConstant: Double) { +open class AnalyserOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + fftSize: UInt32? = nil, + maxDecibels: Double? = nil, + minDecibels: Double? = nil, + smoothingTimeConstant: Double? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.fftSize] = _toJSValue(fftSize) object[Strings.maxDecibels] = _toJSValue(maxDecibels) object[Strings.minDecibels] = _toJSValue(minDecibels) object[Strings.smoothingTimeConstant] = _toJSValue(smoothingTimeConstant) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _fftSize = ReadWriteAttribute(jsObject: object, name: Strings.fftSize) - _maxDecibels = ReadWriteAttribute(jsObject: object, name: Strings.maxDecibels) - _minDecibels = ReadWriteAttribute(jsObject: object, name: Strings.minDecibels) - _smoothingTimeConstant = ReadWriteAttribute(jsObject: object, name: Strings.smoothingTimeConstant) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var fftSize: UInt32 - - @ReadWriteAttribute - public var maxDecibels: Double + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var minDecibels: Double - - @ReadWriteAttribute - public var smoothingTimeConstant: Double + @inlinable public var fftSize: UInt32 { + get { jsObject[Strings.fftSize].fromJSValue()! } + set { jsObject[Strings.fftSize] = _toJSValue(newValue) } + } + @inlinable public var maxDecibels: Double { + get { jsObject[Strings.maxDecibels].fromJSValue()! } + set { jsObject[Strings.maxDecibels] = _toJSValue(newValue) } + } + @inlinable public var minDecibels: Double { + get { jsObject[Strings.minDecibels].fromJSValue()! } + set { jsObject[Strings.minDecibels] = _toJSValue(newValue) } + } + @inlinable public var smoothingTimeConstant: Double { + get { jsObject[Strings.smoothingTimeConstant].fromJSValue()! } + set { jsObject[Strings.smoothingTimeConstant] = _toJSValue(newValue) } + } } - public class AudioBuffer: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.AudioBuffer].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _sampleRate = ReadonlyAttribute(jsObject: jsObject, name: Strings.sampleRate) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - _numberOfChannels = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfChannels) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(options: AudioBufferOptions) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(options)])) } - @ReadonlyAttribute - public var sampleRate: Float + @inlinable public var sampleRate: Float { jsObject[Strings.sampleRate].fromJSValue()! } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ReadonlyAttribute - public var duration: Double + @inlinable public var duration: Double { jsObject[Strings.duration].fromJSValue()! } - @ReadonlyAttribute - public var numberOfChannels: UInt32 + @inlinable public var numberOfChannels: UInt32 { jsObject[Strings.numberOfChannels].fromJSValue()! } - @inlinable public func getChannelData(channel: UInt32) -> Float32Array { + @inlinable final public func getChannelData(channel: UInt32) -> Float32Array { let this = jsObject return this[Strings.getChannelData].function!(this: this, arguments: [_toJSValue(channel)]).fromJSValue()! } - @inlinable public func copyFromChannel(destination: Float32Array, channelNumber: UInt32, bufferOffset: UInt32? = nil) { + @inlinable final public func copyFromChannel( + destination: Float32Array, + channelNumber: UInt32, + bufferOffset: UInt32? = nil + ) { let this = jsObject - _ = this[Strings.copyFromChannel].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(channelNumber), _toJSValue(bufferOffset)]) + _ = this[Strings.copyFromChannel].function!( + this: this, + arguments: [_toJSValue(destination), _toJSValue(channelNumber), _toJSValue(bufferOffset)] + ) } - @inlinable public func copyToChannel(source: Float32Array, channelNumber: UInt32, bufferOffset: UInt32? = nil) { + @inlinable final public func copyToChannel(source: Float32Array, channelNumber: UInt32, bufferOffset: UInt32? = nil) + { let this = jsObject - _ = this[Strings.copyToChannel].function!(this: this, arguments: [_toJSValue(source), _toJSValue(channelNumber), _toJSValue(bufferOffset)]) + _ = this[Strings.copyToChannel].function!( + this: this, + arguments: [_toJSValue(source), _toJSValue(channelNumber), _toJSValue(bufferOffset)] + ) } } -public class AudioBufferOptions: BridgedDictionary { - public convenience init(numberOfChannels: UInt32, length: UInt32, sampleRate: Float) { +open class AudioBufferOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(numberOfChannels: UInt32? = nil, length: UInt32, sampleRate: Float) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.numberOfChannels] = _toJSValue(numberOfChannels) object[Strings.length] = _toJSValue(length) object[Strings.sampleRate] = _toJSValue(sampleRate) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _numberOfChannels = ReadWriteAttribute(jsObject: object, name: Strings.numberOfChannels) - _length = ReadWriteAttribute(jsObject: object, name: Strings.length) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var numberOfChannels: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var length: UInt32 - - @ReadWriteAttribute - public var sampleRate: Float + @inlinable public var numberOfChannels: UInt32 { + get { jsObject[Strings.numberOfChannels].fromJSValue()! } + set { jsObject[Strings.numberOfChannels] = _toJSValue(newValue) } + } + @inlinable public var length: UInt32 { + get { jsObject[Strings.length].fromJSValue()! } + set { jsObject[Strings.length] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: Float { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } } - public class AudioBufferSourceNode: AudioScheduledSourceNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioBufferSourceNode].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _buffer = ReadWriteAttribute(jsObject: jsObject, name: Strings.buffer) - _playbackRate = ReadonlyAttribute(jsObject: jsObject, name: Strings.playbackRate) - _detune = ReadonlyAttribute(jsObject: jsObject, name: Strings.detune) - _loop = ReadWriteAttribute(jsObject: jsObject, name: Strings.loop) - _loopStart = ReadWriteAttribute(jsObject: jsObject, name: Strings.loopStart) - _loopEnd = ReadWriteAttribute(jsObject: jsObject, name: Strings.loopEnd) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.AudioBufferSourceNode].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(context: BaseAudioContext, options: AudioBufferSourceOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadWriteAttribute - public var buffer: AudioBuffer? - - @ReadonlyAttribute - public var playbackRate: AudioParam + @inlinable public var buffer: AudioBuffer? { + get { jsObject[Strings.buffer].fromJSValue() } + set { jsObject[Strings.buffer] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var detune: AudioParam + @inlinable public var playbackRate: AudioParam { jsObject[Strings.playbackRate].fromJSValue()! } - @ReadWriteAttribute - public var loop: Bool + @inlinable public var detune: AudioParam { jsObject[Strings.detune].fromJSValue()! } - @ReadWriteAttribute - public var loopStart: Double + @inlinable public var loop: Bool { + get { jsObject[Strings.loop].fromJSValue()! } + set { jsObject[Strings.loop] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var loopEnd: Double + @inlinable public var loopStart: Double { + get { jsObject[Strings.loopStart].fromJSValue()! } + set { jsObject[Strings.loopStart] = _toJSValue(newValue) } + } - // `override` removed since the superclass function has fewer parameters - @inlinable func start(when: Double? = nil, offset: Double? = nil, duration: Double? = nil) { - let this = jsObject - _ = this[Strings.start].function!(this: this, arguments: [_toJSValue(when), _toJSValue(offset), _toJSValue(duration)]) + @inlinable public var loopEnd: Double { + get { jsObject[Strings.loopEnd].fromJSValue()! } + set { jsObject[Strings.loopEnd] = _toJSValue(newValue) } } + } -public class AudioBufferSourceOptions: BridgedDictionary { - public convenience init(buffer: AudioBuffer?, detune: Float, loop: Bool, loopEnd: Double, loopStart: Double, playbackRate: Float) { +open class AudioBufferSourceOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + buffer: AudioBuffer?, + detune: Float? = nil, + loop: Bool? = nil, + loopEnd: Double? = nil, + loopStart: Double? = nil, + playbackRate: Float? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.buffer] = _toJSValue(buffer) object[Strings.detune] = _toJSValue(detune) @@ -211,138 +234,158 @@ public class AudioBufferSourceOptions: BridgedDictionary { object[Strings.loopEnd] = _toJSValue(loopEnd) object[Strings.loopStart] = _toJSValue(loopStart) object[Strings.playbackRate] = _toJSValue(playbackRate) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _buffer = ReadWriteAttribute(jsObject: object, name: Strings.buffer) - _detune = ReadWriteAttribute(jsObject: object, name: Strings.detune) - _loop = ReadWriteAttribute(jsObject: object, name: Strings.loop) - _loopEnd = ReadWriteAttribute(jsObject: object, name: Strings.loopEnd) - _loopStart = ReadWriteAttribute(jsObject: object, name: Strings.loopStart) - _playbackRate = ReadWriteAttribute(jsObject: object, name: Strings.playbackRate) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var buffer: AudioBuffer? - - @ReadWriteAttribute - public var detune: Float - - @ReadWriteAttribute - public var loop: Bool - - @ReadWriteAttribute - public var loopEnd: Double - - @ReadWriteAttribute - public var loopStart: Double + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var playbackRate: Float + @inlinable public var buffer: AudioBuffer? { + get { jsObject[Strings.buffer].fromJSValue() } + set { jsObject[Strings.buffer] = _toJSValue(newValue) } + } + @inlinable public var detune: Float { + get { jsObject[Strings.detune].fromJSValue()! } + set { jsObject[Strings.detune] = _toJSValue(newValue) } + } + @inlinable public var loop: Bool { + get { jsObject[Strings.loop].fromJSValue()! } + set { jsObject[Strings.loop] = _toJSValue(newValue) } + } + @inlinable public var loopEnd: Double { + get { jsObject[Strings.loopEnd].fromJSValue()! } + set { jsObject[Strings.loopEnd] = _toJSValue(newValue) } + } + @inlinable public var loopStart: Double { + get { jsObject[Strings.loopStart].fromJSValue()! } + set { jsObject[Strings.loopStart] = _toJSValue(newValue) } + } + @inlinable public var playbackRate: Float { + get { jsObject[Strings.playbackRate].fromJSValue()! } + set { jsObject[Strings.playbackRate] = _toJSValue(newValue) } + } } - public class AudioContext: BaseAudioContext { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioContext].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioContext].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _baseLatency = ReadonlyAttribute(jsObject: jsObject, name: Strings.baseLatency) - _outputLatency = ReadonlyAttribute(jsObject: jsObject, name: Strings.outputLatency) - _sinkId = ReadonlyAttribute(jsObject: jsObject, name: Strings.sinkId) - _renderCapacity = ReadonlyAttribute(jsObject: jsObject, name: Strings.renderCapacity) - _onsinkchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onsinkchange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(contextOptions: AudioContextOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(contextOptions)])) } - @ReadonlyAttribute - public var baseLatency: Double + @inlinable public var baseLatency: Double { jsObject[Strings.baseLatency].fromJSValue()! } - @ReadonlyAttribute - public var outputLatency: Double + @inlinable public var outputLatency: Double { jsObject[Strings.outputLatency].fromJSValue()! } - @ReadonlyAttribute - public var sinkId: AudioSinkInfo_or_String + @inlinable public var sinkId: AudioSinkInfo_or_String { jsObject[Strings.sinkId].fromJSValue()! } - @ReadonlyAttribute - public var renderCapacity: AudioRenderCapacity + @inlinable public var renderCapacity: AudioRenderCapacity { jsObject[Strings.renderCapacity].fromJSValue()! } - @ClosureAttribute1Optional - public var onsinkchange: EventHandler + @inlinable public var onsinkchange: EventHandler { + get { + guard let function = jsObject[Strings.onsinkchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onsinkchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onsinkchange] = .null + } + } + } - @inlinable public func getOutputTimestamp() -> AudioTimestamp { + @inlinable final public func getOutputTimestamp() -> AudioTimestamp { let this = jsObject return this[Strings.getOutputTimestamp].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func resume() -> JSPromise { + @inlinable final public func resume() -> JSPromise { let this = jsObject return this[Strings.resume].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func resume() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.resume].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func resume() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.resume].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func suspend() -> JSPromise { + @inlinable final public func suspend() -> JSPromise { let this = jsObject return this[Strings.suspend].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func suspend() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.suspend].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func suspend() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.suspend].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func close() -> JSPromise { + @inlinable final public func close() -> JSPromise { let this = jsObject return this[Strings.close].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func close() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func close() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func setSinkId(sinkId: AudioSinkOptions_or_String) -> JSPromise { + @inlinable final public func setSinkId(sinkId: AudioSinkOptions_or_String) -> JSPromise { let this = jsObject return this[Strings.setSinkId].function!(this: this, arguments: [_toJSValue(sinkId)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func setSinkId(sinkId: AudioSinkOptions_or_String) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.setSinkId].function!(this: this, arguments: [_toJSValue(sinkId)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func setSinkId( + sinkId: AudioSinkOptions_or_String + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.setSinkId].function!(this: this, arguments: [_toJSValue(sinkId)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func createMediaElementSource(mediaElement: HTMLMediaElement) -> MediaElementAudioSourceNode { + @inlinable final public func createMediaElementSource(mediaElement: HTMLMediaElement) -> MediaElementAudioSourceNode + { let this = jsObject - return this[Strings.createMediaElementSource].function!(this: this, arguments: [_toJSValue(mediaElement)]).fromJSValue()! + return this[Strings.createMediaElementSource].function!(this: this, arguments: [_toJSValue(mediaElement)]) + .fromJSValue()! } - @inlinable public func createMediaStreamSource(mediaStream: MediaStream) -> MediaStreamAudioSourceNode { + @inlinable final public func createMediaStreamSource(mediaStream: MediaStream) -> MediaStreamAudioSourceNode { let this = jsObject - return this[Strings.createMediaStreamSource].function!(this: this, arguments: [_toJSValue(mediaStream)]).fromJSValue()! + return this[Strings.createMediaStreamSource].function!(this: this, arguments: [_toJSValue(mediaStream)]) + .fromJSValue()! } - @inlinable public func createMediaStreamTrackSource(mediaStreamTrack: MediaStreamTrack) -> MediaStreamTrackAudioSourceNode { + @inlinable final public func createMediaStreamTrackSource( + mediaStreamTrack: MediaStreamTrack + ) -> MediaStreamTrackAudioSourceNode { let this = jsObject - return this[Strings.createMediaStreamTrackSource].function!(this: this, arguments: [_toJSValue(mediaStreamTrack)]).fromJSValue()! + return this[Strings.createMediaStreamTrackSource].function!( + this: this, + arguments: [_toJSValue(mediaStreamTrack)] + ).fromJSValue()! } - @inlinable public func createMediaStreamDestination() -> MediaStreamAudioDestinationNode { + @inlinable final public func createMediaStreamDestination() -> MediaStreamAudioDestinationNode { let this = jsObject return this[Strings.createMediaStreamDestination].function!(this: this, arguments: []).fromJSValue()! } @@ -354,74 +397,67 @@ public enum AudioContextLatencyCategory: JSString, JSValueCompatible { case playback = "playback" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class AudioContextOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class AudioContextOptions: BridgedDictionary { - public convenience init(latencyHint: AudioContextLatencyCategory_or_Double, sampleRate: Float, sinkId: AudioSinkOptions_or_String) { + public convenience init( + latencyHint: AudioContextLatencyCategory_or_Double? = nil, + sampleRate: Float? = nil, + sinkId: AudioSinkOptions_or_String? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.latencyHint] = _toJSValue(latencyHint) object[Strings.sampleRate] = _toJSValue(sampleRate) object[Strings.sinkId] = _toJSValue(sinkId) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _latencyHint = ReadWriteAttribute(jsObject: object, name: Strings.latencyHint) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _sinkId = ReadWriteAttribute(jsObject: object, name: Strings.sinkId) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var latencyHint: AudioContextLatencyCategory_or_Double - - @ReadWriteAttribute - public var sampleRate: Float + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var sinkId: AudioSinkOptions_or_String + @inlinable public var latencyHint: AudioContextLatencyCategory_or_Double { + get { jsObject[Strings.latencyHint].fromJSValue()! } + set { jsObject[Strings.latencyHint] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: Float { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var sinkId: AudioSinkOptions_or_String { + get { jsObject[Strings.sinkId].fromJSValue()! } + set { jsObject[Strings.sinkId] = _toJSValue(newValue) } + } } - public enum AudioContextState: JSString, JSValueCompatible { case suspended = "suspended" case running = "running" case closed = "closed" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class AudioDestinationNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioDestinationNode].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _maxChannelCount = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxChannelCount) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.AudioDestinationNode].function } - @ReadonlyAttribute - public var maxChannelCount: UInt32 + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var maxChannelCount: UInt32 { jsObject[Strings.maxChannelCount].fromJSValue()! } } public class AudioListener: JSBridgedClass { @@ -429,437 +465,465 @@ public class AudioListener: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _positionX = ReadonlyAttribute(jsObject: jsObject, name: Strings.positionX) - _positionY = ReadonlyAttribute(jsObject: jsObject, name: Strings.positionY) - _positionZ = ReadonlyAttribute(jsObject: jsObject, name: Strings.positionZ) - _forwardX = ReadonlyAttribute(jsObject: jsObject, name: Strings.forwardX) - _forwardY = ReadonlyAttribute(jsObject: jsObject, name: Strings.forwardY) - _forwardZ = ReadonlyAttribute(jsObject: jsObject, name: Strings.forwardZ) - _upX = ReadonlyAttribute(jsObject: jsObject, name: Strings.upX) - _upY = ReadonlyAttribute(jsObject: jsObject, name: Strings.upY) - _upZ = ReadonlyAttribute(jsObject: jsObject, name: Strings.upZ) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var positionX: AudioParam + @inlinable public var positionX: AudioParam { jsObject[Strings.positionX].fromJSValue()! } - @ReadonlyAttribute - public var positionY: AudioParam + @inlinable public var positionY: AudioParam { jsObject[Strings.positionY].fromJSValue()! } - @ReadonlyAttribute - public var positionZ: AudioParam + @inlinable public var positionZ: AudioParam { jsObject[Strings.positionZ].fromJSValue()! } - @ReadonlyAttribute - public var forwardX: AudioParam + @inlinable public var forwardX: AudioParam { jsObject[Strings.forwardX].fromJSValue()! } - @ReadonlyAttribute - public var forwardY: AudioParam + @inlinable public var forwardY: AudioParam { jsObject[Strings.forwardY].fromJSValue()! } - @ReadonlyAttribute - public var forwardZ: AudioParam + @inlinable public var forwardZ: AudioParam { jsObject[Strings.forwardZ].fromJSValue()! } - @ReadonlyAttribute - public var upX: AudioParam + @inlinable public var upX: AudioParam { jsObject[Strings.upX].fromJSValue()! } - @ReadonlyAttribute - public var upY: AudioParam + @inlinable public var upY: AudioParam { jsObject[Strings.upY].fromJSValue()! } - @ReadonlyAttribute - public var upZ: AudioParam + @inlinable public var upZ: AudioParam { jsObject[Strings.upZ].fromJSValue()! } - @inlinable public func setPosition(x: Float, y: Float, z: Float) { + @inlinable final public func setPosition(x: Float, y: Float, z: Float) { let this = jsObject _ = this[Strings.setPosition].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z)]) } - @inlinable public func setOrientation(x: Float, y: Float, z: Float, xUp: Float, yUp: Float, zUp: Float) { + @inlinable final public func setOrientation(x: Float, y: Float, z: Float, xUp: Float, yUp: Float, zUp: Float) { let this = jsObject - _ = this[Strings.setOrientation].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(xUp), _toJSValue(yUp), _toJSValue(zUp)]) + _ = this[Strings.setOrientation].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(xUp), _toJSValue(yUp), _toJSValue(zUp)] + ) } } public class AudioNode: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioNode].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioNode].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _context = ReadonlyAttribute(jsObject: jsObject, name: Strings.context) - _numberOfInputs = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfInputs) - _numberOfOutputs = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfOutputs) - _channelCount = ReadWriteAttribute(jsObject: jsObject, name: Strings.channelCount) - _channelCountMode = ReadWriteAttribute(jsObject: jsObject, name: Strings.channelCountMode) - _channelInterpretation = ReadWriteAttribute(jsObject: jsObject, name: Strings.channelInterpretation) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @discardableResult @inlinable public func connect(destinationNode: NodeType, output: UInt32? = nil, input: UInt32? = nil) -> NodeType { + @discardableResult @inlinable public final func connect( + destinationNode: NodeType, + output: UInt32? = nil, + input: UInt32? = nil + ) -> NodeType { let this = jsObject - return this[Strings.connect].function!(this: this, arguments: [_toJSValue(destinationNode), _toJSValue(output), _toJSValue(input)]).fromJSValue()! + return this[Strings.connect].function!( + this: this, + arguments: [_toJSValue(destinationNode), _toJSValue(output), _toJSValue(input)] + ).fromJSValue()! } - @inlinable public func connect(destinationParam: AudioParam, output: UInt32? = nil) { + @inlinable final public func connect(destinationParam: AudioParam, output: UInt32? = nil) { let this = jsObject _ = this[Strings.connect].function!(this: this, arguments: [_toJSValue(destinationParam), _toJSValue(output)]) } - @inlinable public func disconnect() { + @inlinable final public func disconnect() { let this = jsObject _ = this[Strings.disconnect].function!(this: this, arguments: []) } - @inlinable public func disconnect(output: UInt32) { + @inlinable final public func disconnect(output: UInt32) { let this = jsObject _ = this[Strings.disconnect].function!(this: this, arguments: [_toJSValue(output)]) } - @inlinable public func disconnect(destinationNode: AudioNode) { + @inlinable final public func disconnect(destinationNode: AudioNode) { let this = jsObject _ = this[Strings.disconnect].function!(this: this, arguments: [_toJSValue(destinationNode)]) } - @inlinable public func disconnect(destinationNode: AudioNode, output: UInt32) { + @inlinable final public func disconnect(destinationNode: AudioNode, output: UInt32) { let this = jsObject - _ = this[Strings.disconnect].function!(this: this, arguments: [_toJSValue(destinationNode), _toJSValue(output)]) + _ = this[Strings.disconnect].function!( + this: this, + arguments: [_toJSValue(destinationNode), _toJSValue(output)] + ) } - @inlinable public func disconnect(destinationNode: AudioNode, output: UInt32, input: UInt32) { + @inlinable final public func disconnect(destinationNode: AudioNode, output: UInt32, input: UInt32) { let this = jsObject - _ = this[Strings.disconnect].function!(this: this, arguments: [_toJSValue(destinationNode), _toJSValue(output), _toJSValue(input)]) + _ = this[Strings.disconnect].function!( + this: this, + arguments: [_toJSValue(destinationNode), _toJSValue(output), _toJSValue(input)] + ) } - @inlinable public func disconnect(destinationParam: AudioParam) { + @inlinable final public func disconnect(destinationParam: AudioParam) { let this = jsObject _ = this[Strings.disconnect].function!(this: this, arguments: [_toJSValue(destinationParam)]) } - @inlinable public func disconnect(destinationParam: AudioParam, output: UInt32) { + @inlinable final public func disconnect(destinationParam: AudioParam, output: UInt32) { let this = jsObject - _ = this[Strings.disconnect].function!(this: this, arguments: [_toJSValue(destinationParam), _toJSValue(output)]) + _ = this[Strings.disconnect].function!( + this: this, + arguments: [_toJSValue(destinationParam), _toJSValue(output)] + ) } - @ReadonlyAttribute - public var context: BaseAudioContext + @inlinable public var context: BaseAudioContext { jsObject[Strings.context].fromJSValue()! } - @ReadonlyAttribute - public var numberOfInputs: UInt32 + @inlinable public var numberOfInputs: UInt32 { jsObject[Strings.numberOfInputs].fromJSValue()! } - @ReadonlyAttribute - public var numberOfOutputs: UInt32 + @inlinable public var numberOfOutputs: UInt32 { jsObject[Strings.numberOfOutputs].fromJSValue()! } - @ReadWriteAttribute - public var channelCount: UInt32 + @inlinable public var channelCount: UInt32 { + get { jsObject[Strings.channelCount].fromJSValue()! } + set { jsObject[Strings.channelCount] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var channelCountMode: ChannelCountMode + @inlinable public var channelCountMode: ChannelCountMode { + get { jsObject[Strings.channelCountMode].fromJSValue()! } + set { jsObject[Strings.channelCountMode] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var channelInterpretation: ChannelInterpretation + @inlinable public var channelInterpretation: ChannelInterpretation { + get { jsObject[Strings.channelInterpretation].fromJSValue()! } + set { jsObject[Strings.channelInterpretation] = _toJSValue(newValue) } + } } -public class AudioNodeOptions: BridgedDictionary { - public convenience init(channelCount: UInt32, channelCountMode: ChannelCountMode, channelInterpretation: ChannelInterpretation) { +open class AudioNodeOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.channelCount] = _toJSValue(channelCount) object[Strings.channelCountMode] = _toJSValue(channelCountMode) object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _channelCount = ReadWriteAttribute(jsObject: object, name: Strings.channelCount) - _channelCountMode = ReadWriteAttribute(jsObject: object, name: Strings.channelCountMode) - _channelInterpretation = ReadWriteAttribute(jsObject: object, name: Strings.channelInterpretation) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var channelCount: UInt32 - - @ReadWriteAttribute - public var channelCountMode: ChannelCountMode + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var channelInterpretation: ChannelInterpretation + @inlinable public var channelCount: UInt32 { + get { jsObject[Strings.channelCount].fromJSValue()! } + set { jsObject[Strings.channelCount] = _toJSValue(newValue) } + } + @inlinable public var channelCountMode: ChannelCountMode { + get { jsObject[Strings.channelCountMode].fromJSValue()! } + set { jsObject[Strings.channelCountMode] = _toJSValue(newValue) } + } + @inlinable public var channelInterpretation: ChannelInterpretation { + get { jsObject[Strings.channelInterpretation].fromJSValue()! } + set { jsObject[Strings.channelInterpretation] = _toJSValue(newValue) } + } } - public class AudioParam: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.AudioParam].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _automationRate = ReadWriteAttribute(jsObject: jsObject, name: Strings.automationRate) - _defaultValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.defaultValue) - _minValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.minValue) - _maxValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxValue) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var value: Float + @inlinable public var value: Float { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var automationRate: AutomationRate + @inlinable public var automationRate: AutomationRate { + get { jsObject[Strings.automationRate].fromJSValue()! } + set { jsObject[Strings.automationRate] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var defaultValue: Float + @inlinable public var defaultValue: Float { jsObject[Strings.defaultValue].fromJSValue()! } - @ReadonlyAttribute - public var minValue: Float + @inlinable public var minValue: Float { jsObject[Strings.minValue].fromJSValue()! } - @ReadonlyAttribute - public var maxValue: Float + @inlinable public var maxValue: Float { jsObject[Strings.maxValue].fromJSValue()! } - @inlinable public func setValueAtTime(value: Float, startTime: Double) -> Self { + @inlinable final public func setValueAtTime(value: Float, startTime: Double) -> AudioParam { let this = jsObject - return this[Strings.setValueAtTime].function!(this: this, arguments: [_toJSValue(value), _toJSValue(startTime)]).fromJSValue()! + return this[Strings.setValueAtTime].function!( + this: this, + arguments: [_toJSValue(value), _toJSValue(startTime)] + ).fromJSValue()! } - @inlinable public func linearRampToValueAtTime(value: Float, endTime: Double) -> Self { + @inlinable final public func linearRampToValueAtTime(value: Float, endTime: Double) -> AudioParam { let this = jsObject - return this[Strings.linearRampToValueAtTime].function!(this: this, arguments: [_toJSValue(value), _toJSValue(endTime)]).fromJSValue()! + return this[Strings.linearRampToValueAtTime].function!( + this: this, + arguments: [_toJSValue(value), _toJSValue(endTime)] + ).fromJSValue()! } - @inlinable public func exponentialRampToValueAtTime(value: Float, endTime: Double) -> Self { + @inlinable final public func exponentialRampToValueAtTime(value: Float, endTime: Double) -> AudioParam { let this = jsObject - return this[Strings.exponentialRampToValueAtTime].function!(this: this, arguments: [_toJSValue(value), _toJSValue(endTime)]).fromJSValue()! + return this[Strings.exponentialRampToValueAtTime].function!( + this: this, + arguments: [_toJSValue(value), _toJSValue(endTime)] + ).fromJSValue()! } - @inlinable public func setTargetAtTime(target: Float, startTime: Double, timeConstant: Float) -> Self { + @inlinable final public func setTargetAtTime(target: Float, startTime: Double, timeConstant: Float) -> AudioParam { let this = jsObject - return this[Strings.setTargetAtTime].function!(this: this, arguments: [_toJSValue(target), _toJSValue(startTime), _toJSValue(timeConstant)]).fromJSValue()! + return this[Strings.setTargetAtTime].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(startTime), _toJSValue(timeConstant)] + ).fromJSValue()! } - @inlinable public func setValueCurveAtTime(values: [Float], startTime: Double, duration: Double) -> Self { + @inlinable final public func setValueCurveAtTime(values: [Float], startTime: Double, duration: Double) -> AudioParam + { let this = jsObject - return this[Strings.setValueCurveAtTime].function!(this: this, arguments: [_toJSValue(values), _toJSValue(startTime), _toJSValue(duration)]).fromJSValue()! + return this[Strings.setValueCurveAtTime].function!( + this: this, + arguments: [_toJSValue(values), _toJSValue(startTime), _toJSValue(duration)] + ).fromJSValue()! } - @inlinable public func cancelScheduledValues(cancelTime: Double) -> Self { + @inlinable final public func cancelScheduledValues(cancelTime: Double) -> AudioParam { let this = jsObject - return this[Strings.cancelScheduledValues].function!(this: this, arguments: [_toJSValue(cancelTime)]).fromJSValue()! + return this[Strings.cancelScheduledValues].function!(this: this, arguments: [_toJSValue(cancelTime)]) + .fromJSValue()! } - @inlinable public func cancelAndHoldAtTime(cancelTime: Double) -> Self { + @inlinable final public func cancelAndHoldAtTime(cancelTime: Double) -> AudioParam { let this = jsObject - return this[Strings.cancelAndHoldAtTime].function!(this: this, arguments: [_toJSValue(cancelTime)]).fromJSValue()! + return this[Strings.cancelAndHoldAtTime].function!(this: this, arguments: [_toJSValue(cancelTime)]) + .fromJSValue()! } } -public class AudioParamDescriptor: BridgedDictionary { - public convenience init(name: String, defaultValue: Float, minValue: Float, maxValue: Float, automationRate: AutomationRate) { +open class AudioParamDescriptor: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + name: String, + defaultValue: Float? = nil, + minValue: Float? = nil, + maxValue: Float? = nil, + automationRate: AutomationRate? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.name] = _toJSValue(name) object[Strings.defaultValue] = _toJSValue(defaultValue) object[Strings.minValue] = _toJSValue(minValue) object[Strings.maxValue] = _toJSValue(maxValue) object[Strings.automationRate] = _toJSValue(automationRate) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _name = ReadWriteAttribute(jsObject: object, name: Strings.name) - _defaultValue = ReadWriteAttribute(jsObject: object, name: Strings.defaultValue) - _minValue = ReadWriteAttribute(jsObject: object, name: Strings.minValue) - _maxValue = ReadWriteAttribute(jsObject: object, name: Strings.maxValue) - _automationRate = ReadWriteAttribute(jsObject: object, name: Strings.automationRate) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var name: String - - @ReadWriteAttribute - public var defaultValue: Float - - @ReadWriteAttribute - public var minValue: Float + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var maxValue: Float - - @ReadWriteAttribute - public var automationRate: AutomationRate + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } + @inlinable public var defaultValue: Float { + get { jsObject[Strings.defaultValue].fromJSValue()! } + set { jsObject[Strings.defaultValue] = _toJSValue(newValue) } + } + @inlinable public var minValue: Float { + get { jsObject[Strings.minValue].fromJSValue()! } + set { jsObject[Strings.minValue] = _toJSValue(newValue) } + } + @inlinable public var maxValue: Float { + get { jsObject[Strings.maxValue].fromJSValue()! } + set { jsObject[Strings.maxValue] = _toJSValue(newValue) } + } + @inlinable public var automationRate: AutomationRate { + get { jsObject[Strings.automationRate].fromJSValue()! } + set { jsObject[Strings.automationRate] = _toJSValue(newValue) } + } } - public class AudioParamMap: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.AudioParamMap].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } // XXX: make me Map-like! } public class AudioProcessingEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioProcessingEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _playbackTime = ReadonlyAttribute(jsObject: jsObject, name: Strings.playbackTime) - _inputBuffer = ReadonlyAttribute(jsObject: jsObject, name: Strings.inputBuffer) - _outputBuffer = ReadonlyAttribute(jsObject: jsObject, name: Strings.outputBuffer) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.AudioProcessingEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: AudioProcessingEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var playbackTime: Double + @inlinable public var playbackTime: Double { jsObject[Strings.playbackTime].fromJSValue()! } - @ReadonlyAttribute - public var inputBuffer: AudioBuffer + @inlinable public var inputBuffer: AudioBuffer { jsObject[Strings.inputBuffer].fromJSValue()! } - @ReadonlyAttribute - public var outputBuffer: AudioBuffer + @inlinable public var outputBuffer: AudioBuffer { jsObject[Strings.outputBuffer].fromJSValue()! } } -public class AudioProcessingEventInit: BridgedDictionary { +open class AudioProcessingEventInit: EventInit { + public convenience init(playbackTime: Double, inputBuffer: AudioBuffer, outputBuffer: AudioBuffer) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.playbackTime] = _toJSValue(playbackTime) object[Strings.inputBuffer] = _toJSValue(inputBuffer) object[Strings.outputBuffer] = _toJSValue(outputBuffer) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _playbackTime = ReadWriteAttribute(jsObject: object, name: Strings.playbackTime) - _inputBuffer = ReadWriteAttribute(jsObject: object, name: Strings.inputBuffer) - _outputBuffer = ReadWriteAttribute(jsObject: object, name: Strings.outputBuffer) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var playbackTime: Double + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var inputBuffer: AudioBuffer - - @ReadWriteAttribute - public var outputBuffer: AudioBuffer + @inlinable public var playbackTime: Double { + get { jsObject[Strings.playbackTime].fromJSValue()! } + set { jsObject[Strings.playbackTime] = _toJSValue(newValue) } + } + @inlinable public var inputBuffer: AudioBuffer { + get { jsObject[Strings.inputBuffer].fromJSValue()! } + set { jsObject[Strings.inputBuffer] = _toJSValue(newValue) } + } + @inlinable public var outputBuffer: AudioBuffer { + get { jsObject[Strings.outputBuffer].fromJSValue()! } + set { jsObject[Strings.outputBuffer] = _toJSValue(newValue) } + } } - public class AudioRenderCapacity: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioRenderCapacity].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _onupdate = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onupdate) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.AudioRenderCapacity].function } - @inlinable public func start(options: AudioRenderCapacityOptions? = nil) { + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable final public func start(options: AudioRenderCapacityOptions? = nil) { let this = jsObject _ = this[Strings.start].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func stop() { + @inlinable final public func stop() { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: []) } - @ClosureAttribute1Optional - public var onupdate: EventHandler + @inlinable public var onupdate: EventHandler { + get { + guard let function = jsObject[Strings.onupdate].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onupdate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onupdate] = .null + } + } + } } public class AudioRenderCapacityEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioRenderCapacityEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) - _averageLoad = ReadonlyAttribute(jsObject: jsObject, name: Strings.averageLoad) - _peakLoad = ReadonlyAttribute(jsObject: jsObject, name: Strings.peakLoad) - _underrunRatio = ReadonlyAttribute(jsObject: jsObject, name: Strings.underrunRatio) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.AudioRenderCapacityEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: AudioRenderCapacityEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var timestamp: Double + @inlinable public var timestamp: Double { jsObject[Strings.timestamp].fromJSValue()! } - @ReadonlyAttribute - public var averageLoad: Double + @inlinable public var averageLoad: Double { jsObject[Strings.averageLoad].fromJSValue()! } - @ReadonlyAttribute - public var peakLoad: Double + @inlinable public var peakLoad: Double { jsObject[Strings.peakLoad].fromJSValue()! } - @ReadonlyAttribute - public var underrunRatio: Double + @inlinable public var underrunRatio: Double { jsObject[Strings.underrunRatio].fromJSValue()! } } -public class AudioRenderCapacityEventInit: BridgedDictionary { - public convenience init(timestamp: Double, averageLoad: Double, peakLoad: Double, underrunRatio: Double) { +open class AudioRenderCapacityEventInit: EventInit { + + public convenience init( + timestamp: Double? = nil, + averageLoad: Double? = nil, + peakLoad: Double? = nil, + underrunRatio: Double? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.timestamp] = _toJSValue(timestamp) object[Strings.averageLoad] = _toJSValue(averageLoad) object[Strings.peakLoad] = _toJSValue(peakLoad) object[Strings.underrunRatio] = _toJSValue(underrunRatio) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) - _averageLoad = ReadWriteAttribute(jsObject: object, name: Strings.averageLoad) - _peakLoad = ReadWriteAttribute(jsObject: object, name: Strings.peakLoad) - _underrunRatio = ReadWriteAttribute(jsObject: object, name: Strings.underrunRatio) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var timestamp: Double - - @ReadWriteAttribute - public var averageLoad: Double - - @ReadWriteAttribute - public var peakLoad: Double + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var underrunRatio: Double + @inlinable public var timestamp: Double { + get { jsObject[Strings.timestamp].fromJSValue()! } + set { jsObject[Strings.timestamp] = _toJSValue(newValue) } + } + @inlinable public var averageLoad: Double { + get { jsObject[Strings.averageLoad].fromJSValue()! } + set { jsObject[Strings.averageLoad] = _toJSValue(newValue) } + } + @inlinable public var peakLoad: Double { + get { jsObject[Strings.peakLoad].fromJSValue()! } + set { jsObject[Strings.peakLoad] = _toJSValue(newValue) } + } + @inlinable public var underrunRatio: Double { + get { jsObject[Strings.underrunRatio].fromJSValue()! } + set { jsObject[Strings.underrunRatio] = _toJSValue(newValue) } + } } +open class AudioRenderCapacityOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class AudioRenderCapacityOptions: BridgedDictionary { - public convenience init(updateInterval: Double) { + public convenience init(updateInterval: Double? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.updateInterval] = _toJSValue(updateInterval) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _updateInterval = ReadWriteAttribute(jsObject: object, name: Strings.updateInterval) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var updateInterval: Double + @inlinable public var updateInterval: Double { + get { jsObject[Strings.updateInterval].fromJSValue()! } + set { jsObject[Strings.updateInterval] = _toJSValue(newValue) } + } } - public class AudioScheduledSourceNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioScheduledSourceNode].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _onended = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onended) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.AudioScheduledSourceNode].function } - @ClosureAttribute1Optional - public var onended: EventHandler + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var onended: EventHandler { + get { + guard let function = jsObject[Strings.onended].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onended] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onended] = .null + } + } + } - @inlinable public func start(when: Double? = nil) { + @inlinable final public func start(when: Double? = nil) { let this = jsObject _ = this[Strings.start].function!(this: this, arguments: [_toJSValue(when)]) } - @inlinable public func stop(when: Double? = nil) { + @inlinable final public func stop(when: Double? = nil) { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: [_toJSValue(when)]) } @@ -870,370 +934,422 @@ public class AudioSinkInfo: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var type: AudioSinkType + @inlinable public var type: AudioSinkType { jsObject[Strings.type].fromJSValue()! } } -public class AudioSinkOptions: BridgedDictionary { +open class AudioSinkOptions: JSDictionaryCompatible { + public let jsObject: JSObject + public convenience init(type: AudioSinkType) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var type: AudioSinkType + @inlinable public var type: AudioSinkType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } } - public enum AudioSinkType: JSString, JSValueCompatible { case none = "none" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class AudioTimestamp: JSDictionaryCompatible { + public let jsObject: JSObject -public class AudioTimestamp: BridgedDictionary { - public convenience init(contextTime: Double, performanceTime: DOMHighResTimeStamp) { + public convenience init(contextTime: Double? = nil, performanceTime: DOMHighResTimeStamp? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.contextTime] = _toJSValue(contextTime) object[Strings.performanceTime] = _toJSValue(performanceTime) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _contextTime = ReadWriteAttribute(jsObject: object, name: Strings.contextTime) - _performanceTime = ReadWriteAttribute(jsObject: object, name: Strings.performanceTime) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var contextTime: Double + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var performanceTime: DOMHighResTimeStamp + @inlinable public var contextTime: Double { + get { jsObject[Strings.contextTime].fromJSValue()! } + set { jsObject[Strings.contextTime] = _toJSValue(newValue) } + } + @inlinable public var performanceTime: DOMHighResTimeStamp { + get { jsObject[Strings.performanceTime].fromJSValue()! } + set { jsObject[Strings.performanceTime] = _toJSValue(newValue) } + } } - public class AudioWorklet: Worklet { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioWorklet].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioWorklet].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _port = ReadonlyAttribute(jsObject: jsObject, name: Strings.port) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var port: MessagePort + @inlinable public var port: MessagePort { jsObject[Strings.port].fromJSValue()! } } public class AudioWorkletNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioWorkletNode].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioWorkletNode].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _parameters = ReadonlyAttribute(jsObject: jsObject, name: Strings.parameters) - _port = ReadonlyAttribute(jsObject: jsObject, name: Strings.port) - _onprocessorerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onprocessorerror) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(context: BaseAudioContext, name: String, options: AudioWorkletNodeOptions? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(name), _toJSValue(options)])) + @inlinable public convenience init(context: BaseAudioContext, name: String, options: AudioWorkletNodeOptions? = nil) + { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(context), _toJSValue(name), _toJSValue(options), + ]) + ) } - @ReadonlyAttribute - public var parameters: AudioParamMap + @inlinable public var parameters: AudioParamMap { jsObject[Strings.parameters].fromJSValue()! } - @ReadonlyAttribute - public var port: MessagePort + @inlinable public var port: MessagePort { jsObject[Strings.port].fromJSValue()! } - @ClosureAttribute1Optional - public var onprocessorerror: EventHandler + @inlinable public var onprocessorerror: EventHandler { + get { + guard let function = jsObject[Strings.onprocessorerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onprocessorerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onprocessorerror] = .null + } + } + } } -public class AudioWorkletNodeOptions: BridgedDictionary { - public convenience init(numberOfInputs: UInt32, numberOfOutputs: UInt32, outputChannelCount: [UInt32], parameterData: [String: Double], processorOptions: JSObject) { +open class AudioWorkletNodeOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + numberOfInputs: UInt32? = nil, + numberOfOutputs: UInt32? = nil, + outputChannelCount: [UInt32]? = nil, + parameterData: JSObject? = nil, + processorOptions: JSObject? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.numberOfInputs] = _toJSValue(numberOfInputs) object[Strings.numberOfOutputs] = _toJSValue(numberOfOutputs) object[Strings.outputChannelCount] = _toJSValue(outputChannelCount) object[Strings.parameterData] = _toJSValue(parameterData) object[Strings.processorOptions] = _toJSValue(processorOptions) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _numberOfInputs = ReadWriteAttribute(jsObject: object, name: Strings.numberOfInputs) - _numberOfOutputs = ReadWriteAttribute(jsObject: object, name: Strings.numberOfOutputs) - _outputChannelCount = ReadWriteAttribute(jsObject: object, name: Strings.outputChannelCount) - _parameterData = ReadWriteAttribute(jsObject: object, name: Strings.parameterData) - _processorOptions = ReadWriteAttribute(jsObject: object, name: Strings.processorOptions) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var numberOfInputs: UInt32 - - @ReadWriteAttribute - public var numberOfOutputs: UInt32 - - @ReadWriteAttribute - public var outputChannelCount: [UInt32] + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var parameterData: [String: Double] - - @ReadWriteAttribute - public var processorOptions: JSObject + @inlinable public var numberOfInputs: UInt32 { + get { jsObject[Strings.numberOfInputs].fromJSValue()! } + set { jsObject[Strings.numberOfInputs] = _toJSValue(newValue) } + } + @inlinable public var numberOfOutputs: UInt32 { + get { jsObject[Strings.numberOfOutputs].fromJSValue()! } + set { jsObject[Strings.numberOfOutputs] = _toJSValue(newValue) } + } + @inlinable public var outputChannelCount: [UInt32] { + get { jsObject[Strings.outputChannelCount].fromJSValue()! } + set { jsObject[Strings.outputChannelCount] = _toJSValue(newValue) } + } + @inlinable public var parameterData: JSObject { + get { jsObject[Strings.parameterData].fromJSValue()! } + set { jsObject[Strings.parameterData] = _toJSValue(newValue) } + } + @inlinable public var processorOptions: JSObject { + get { jsObject[Strings.processorOptions].fromJSValue()! } + set { jsObject[Strings.processorOptions] = _toJSValue(newValue) } + } } - public enum AutomationRate: JSString, JSValueCompatible { case aRate = "a-rate" case kRate = "k-rate" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class BaseAudioContext: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.BaseAudioContext].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.BaseAudioContext].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _destination = ReadonlyAttribute(jsObject: jsObject, name: Strings.destination) - _sampleRate = ReadonlyAttribute(jsObject: jsObject, name: Strings.sampleRate) - _currentTime = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentTime) - _listener = ReadonlyAttribute(jsObject: jsObject, name: Strings.listener) - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _audioWorklet = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioWorklet) - _onstatechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstatechange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var destination: AudioDestinationNode + @inlinable public var destination: AudioDestinationNode { jsObject[Strings.destination].fromJSValue()! } - @ReadonlyAttribute - public var sampleRate: Float + @inlinable public var sampleRate: Float { jsObject[Strings.sampleRate].fromJSValue()! } - @ReadonlyAttribute - public var currentTime: Double + @inlinable public var currentTime: Double { jsObject[Strings.currentTime].fromJSValue()! } - @ReadonlyAttribute - public var listener: AudioListener + @inlinable public var listener: AudioListener { jsObject[Strings.listener].fromJSValue()! } - @ReadonlyAttribute - public var state: AudioContextState + @inlinable public var state: AudioContextState { jsObject[Strings.state].fromJSValue()! } - @ReadonlyAttribute - public var audioWorklet: AudioWorklet + @inlinable public var audioWorklet: AudioWorklet { jsObject[Strings.audioWorklet].fromJSValue()! } - @ClosureAttribute1Optional - public var onstatechange: EventHandler + @inlinable public var onstatechange: EventHandler { + get { + guard let function = jsObject[Strings.onstatechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onstatechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onstatechange] = .null + } + } + } - @inlinable public func createAnalyser() -> AnalyserNode { + @inlinable final public func createAnalyser() -> AnalyserNode { let this = jsObject return this[Strings.createAnalyser].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createBiquadFilter() -> BiquadFilterNode { + @inlinable final public func createBiquadFilter() -> BiquadFilterNode { let this = jsObject return this[Strings.createBiquadFilter].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createBuffer(numberOfChannels: UInt32, length: UInt32, sampleRate: Float) -> AudioBuffer { + @inlinable final public func createBuffer( + numberOfChannels: UInt32, + length: UInt32, + sampleRate: Float + ) -> AudioBuffer { let this = jsObject - return this[Strings.createBuffer].function!(this: this, arguments: [_toJSValue(numberOfChannels), _toJSValue(length), _toJSValue(sampleRate)]).fromJSValue()! + return this[Strings.createBuffer].function!( + this: this, + arguments: [_toJSValue(numberOfChannels), _toJSValue(length), _toJSValue(sampleRate)] + ).fromJSValue()! } - @inlinable public func createBufferSource() -> AudioBufferSourceNode { + @inlinable final public func createBufferSource() -> AudioBufferSourceNode { let this = jsObject return this[Strings.createBufferSource].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createChannelMerger(numberOfInputs: UInt32? = nil) -> ChannelMergerNode { + @inlinable final public func createChannelMerger(numberOfInputs: UInt32? = nil) -> ChannelMergerNode { let this = jsObject - return this[Strings.createChannelMerger].function!(this: this, arguments: [_toJSValue(numberOfInputs)]).fromJSValue()! + return this[Strings.createChannelMerger].function!(this: this, arguments: [_toJSValue(numberOfInputs)]) + .fromJSValue()! } - @inlinable public func createChannelSplitter(numberOfOutputs: UInt32? = nil) -> ChannelSplitterNode { + @inlinable final public func createChannelSplitter(numberOfOutputs: UInt32? = nil) -> ChannelSplitterNode { let this = jsObject - return this[Strings.createChannelSplitter].function!(this: this, arguments: [_toJSValue(numberOfOutputs)]).fromJSValue()! + return this[Strings.createChannelSplitter].function!(this: this, arguments: [_toJSValue(numberOfOutputs)]) + .fromJSValue()! } - @inlinable public func createConstantSource() -> ConstantSourceNode { + @inlinable final public func createConstantSource() -> ConstantSourceNode { let this = jsObject return this[Strings.createConstantSource].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createConvolver() -> ConvolverNode { + @inlinable final public func createConvolver() -> ConvolverNode { let this = jsObject return this[Strings.createConvolver].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createDelay(maxDelayTime: Double? = nil) -> DelayNode { + @inlinable final public func createDelay(maxDelayTime: Double? = nil) -> DelayNode { let this = jsObject return this[Strings.createDelay].function!(this: this, arguments: [_toJSValue(maxDelayTime)]).fromJSValue()! } - @inlinable public func createDynamicsCompressor() -> DynamicsCompressorNode { + @inlinable final public func createDynamicsCompressor() -> DynamicsCompressorNode { let this = jsObject return this[Strings.createDynamicsCompressor].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createGain() -> GainNode { + @inlinable final public func createGain() -> GainNode { let this = jsObject return this[Strings.createGain].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createIIRFilter(feedforward: [Double], feedback: [Double]) -> IIRFilterNode { + @inlinable final public func createIIRFilter(feedforward: [Double], feedback: [Double]) -> IIRFilterNode { let this = jsObject - return this[Strings.createIIRFilter].function!(this: this, arguments: [_toJSValue(feedforward), _toJSValue(feedback)]).fromJSValue()! + return this[Strings.createIIRFilter].function!( + this: this, + arguments: [_toJSValue(feedforward), _toJSValue(feedback)] + ).fromJSValue()! } - @inlinable public func createOscillator() -> OscillatorNode { + @inlinable final public func createOscillator() -> OscillatorNode { let this = jsObject return this[Strings.createOscillator].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createPanner() -> PannerNode { + @inlinable final public func createPanner() -> PannerNode { let this = jsObject return this[Strings.createPanner].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createPeriodicWave(real: [Float], imag: [Float], constraints: PeriodicWaveConstraints? = nil) -> PeriodicWave { + @inlinable final public func createPeriodicWave( + real: [Float], + imag: [Float], + constraints: PeriodicWaveConstraints? = nil + ) -> PeriodicWave { let this = jsObject - return this[Strings.createPeriodicWave].function!(this: this, arguments: [_toJSValue(real), _toJSValue(imag), _toJSValue(constraints)]).fromJSValue()! + return this[Strings.createPeriodicWave].function!( + this: this, + arguments: [_toJSValue(real), _toJSValue(imag), _toJSValue(constraints)] + ).fromJSValue()! } - @inlinable public func createScriptProcessor(bufferSize: UInt32? = nil, numberOfInputChannels: UInt32? = nil, numberOfOutputChannels: UInt32? = nil) -> ScriptProcessorNode { + @inlinable final public func createScriptProcessor( + bufferSize: UInt32? = nil, + numberOfInputChannels: UInt32? = nil, + numberOfOutputChannels: UInt32? = nil + ) -> ScriptProcessorNode { let this = jsObject - return this[Strings.createScriptProcessor].function!(this: this, arguments: [_toJSValue(bufferSize), _toJSValue(numberOfInputChannels), _toJSValue(numberOfOutputChannels)]).fromJSValue()! + return this[Strings.createScriptProcessor].function!( + this: this, + arguments: [_toJSValue(bufferSize), _toJSValue(numberOfInputChannels), _toJSValue(numberOfOutputChannels)] + ).fromJSValue()! } - @inlinable public func createStereoPanner() -> StereoPannerNode { + @inlinable final public func createStereoPanner() -> StereoPannerNode { let this = jsObject return this[Strings.createStereoPanner].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createWaveShaper() -> WaveShaperNode { + @inlinable final public func createWaveShaper() -> WaveShaperNode { let this = jsObject return this[Strings.createWaveShaper].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func decodeAudioData(audioData: ArrayBuffer, successCallback: DecodeSuccessCallback? = nil, errorCallback: DecodeErrorCallback? = nil) -> JSPromise { - let this = jsObject - return this[Strings.decodeAudioData].function!(this: this, arguments: [_toJSValue(audioData), _toJSValue(successCallback), _toJSValue(errorCallback)]).fromJSValue()! - } - - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func decodeAudioData(audioData: ArrayBuffer, successCallback: DecodeSuccessCallback? = nil, errorCallback: DecodeErrorCallback? = nil) async throws -> AudioBuffer { - let this = jsObject - let _promise: JSPromise = this[Strings.decodeAudioData].function!(this: this, arguments: [_toJSValue(audioData), _toJSValue(successCallback), _toJSValue(errorCallback)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + @inlinable final public func decodeAudioData( + audioData: ArrayBuffer, + successCallback: DecodeSuccessCallback? = nil, + errorCallback: DecodeErrorCallback? = nil + ) -> JSPromise { + let this = jsObject + return this[Strings.decodeAudioData].function!( + this: this, + arguments: [_toJSValue(audioData), _toJSValue(successCallback), _toJSValue(errorCallback)] + ).fromJSValue()! + } + + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func decodeAudioData( + audioData: ArrayBuffer, + successCallback: DecodeSuccessCallback? = nil, + errorCallback: DecodeErrorCallback? = nil + ) async throws(JSException) -> AudioBuffer { + let this = jsObject + let _promise: JSPromise = this[Strings.decodeAudioData].function!( + this: this, + arguments: [_toJSValue(audioData), _toJSValue(successCallback), _toJSValue(errorCallback)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } public class BiquadFilterNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.BiquadFilterNode].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.BiquadFilterNode].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _frequency = ReadonlyAttribute(jsObject: jsObject, name: Strings.frequency) - _detune = ReadonlyAttribute(jsObject: jsObject, name: Strings.detune) - _Q = ReadonlyAttribute(jsObject: jsObject, name: Strings.Q) - _gain = ReadonlyAttribute(jsObject: jsObject, name: Strings.gain) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(context: BaseAudioContext, options: BiquadFilterOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadWriteAttribute - public var type: BiquadFilterType + @inlinable public var type: BiquadFilterType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var frequency: AudioParam + @inlinable public var frequency: AudioParam { jsObject[Strings.frequency].fromJSValue()! } - @ReadonlyAttribute - public var detune: AudioParam + @inlinable public var detune: AudioParam { jsObject[Strings.detune].fromJSValue()! } - @ReadonlyAttribute - public var Q: AudioParam + @inlinable public var Q: AudioParam { jsObject[Strings.Q].fromJSValue()! } - @ReadonlyAttribute - public var gain: AudioParam + @inlinable public var gain: AudioParam { jsObject[Strings.gain].fromJSValue()! } - @inlinable public func getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array) { + @inlinable final public func getFrequencyResponse( + frequencyHz: Float32Array, + magResponse: Float32Array, + phaseResponse: Float32Array + ) { let this = jsObject - _ = this[Strings.getFrequencyResponse].function!(this: this, arguments: [_toJSValue(frequencyHz), _toJSValue(magResponse), _toJSValue(phaseResponse)]) + _ = this[Strings.getFrequencyResponse].function!( + this: this, + arguments: [_toJSValue(frequencyHz), _toJSValue(magResponse), _toJSValue(phaseResponse)] + ) } } -public class BiquadFilterOptions: BridgedDictionary { - public convenience init(type: BiquadFilterType, Q: Float, detune: Float, frequency: Float, gain: Float) { +open class BiquadFilterOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + type: BiquadFilterType? = nil, + Q: Float? = nil, + detune: Float? = nil, + frequency: Float? = nil, + gain: Float? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.type] = _toJSValue(type) object[Strings.Q] = _toJSValue(Q) object[Strings.detune] = _toJSValue(detune) object[Strings.frequency] = _toJSValue(frequency) object[Strings.gain] = _toJSValue(gain) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _Q = ReadWriteAttribute(jsObject: object, name: Strings.Q) - _detune = ReadWriteAttribute(jsObject: object, name: Strings.detune) - _frequency = ReadWriteAttribute(jsObject: object, name: Strings.frequency) - _gain = ReadWriteAttribute(jsObject: object, name: Strings.gain) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: BiquadFilterType - - @ReadWriteAttribute - public var Q: Float - - @ReadWriteAttribute - public var detune: Float - - @ReadWriteAttribute - public var frequency: Float + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var gain: Float + @inlinable public var type: BiquadFilterType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var Q: Float { + get { jsObject[Strings.Q].fromJSValue()! } + set { jsObject[Strings.Q] = _toJSValue(newValue) } + } + @inlinable public var detune: Float { + get { jsObject[Strings.detune].fromJSValue()! } + set { jsObject[Strings.detune] = _toJSValue(newValue) } + } + @inlinable public var frequency: Float { + get { jsObject[Strings.frequency].fromJSValue()! } + set { jsObject[Strings.frequency] = _toJSValue(newValue) } + } + @inlinable public var gain: Float { + get { jsObject[Strings.gain].fromJSValue()! } + set { jsObject[Strings.gain] = _toJSValue(newValue) } + } } - public enum BiquadFilterType: JSString, JSValueCompatible { case lowpass = "lowpass" case highpass = "highpass" @@ -1245,669 +1361,720 @@ public enum BiquadFilterType: JSString, JSValueCompatible { case allpass = "allpass" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ChannelCountMode: JSString, JSValueCompatible { case max = "max" case clampedMax = "clamped-max" case explicit = "explicit" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ChannelInterpretation: JSString, JSValueCompatible { case speakers = "speakers" case discrete = "discrete" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class ChannelMergerNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ChannelMergerNode].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.ChannelMergerNode].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(context: BaseAudioContext, options: ChannelMergerOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } } -public class ChannelMergerOptions: BridgedDictionary { - public convenience init(numberOfInputs: UInt32) { +open class ChannelMergerOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + numberOfInputs: UInt32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.numberOfInputs] = _toJSValue(numberOfInputs) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _numberOfInputs = ReadWriteAttribute(jsObject: object, name: Strings.numberOfInputs) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var numberOfInputs: UInt32 + @inlinable public var numberOfInputs: UInt32 { + get { jsObject[Strings.numberOfInputs].fromJSValue()! } + set { jsObject[Strings.numberOfInputs] = _toJSValue(newValue) } + } } - public class ChannelSplitterNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ChannelSplitterNode].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.ChannelSplitterNode].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(context: BaseAudioContext, options: ChannelSplitterOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } } -public class ChannelSplitterOptions: BridgedDictionary { - public convenience init(numberOfOutputs: UInt32) { +open class ChannelSplitterOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + numberOfOutputs: UInt32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.numberOfOutputs] = _toJSValue(numberOfOutputs) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _numberOfOutputs = ReadWriteAttribute(jsObject: object, name: Strings.numberOfOutputs) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var numberOfOutputs: UInt32 + @inlinable public var numberOfOutputs: UInt32 { + get { jsObject[Strings.numberOfOutputs].fromJSValue()! } + set { jsObject[Strings.numberOfOutputs] = _toJSValue(newValue) } + } } - public class ConstantSourceNode: AudioScheduledSourceNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ConstantSourceNode].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _offset = ReadonlyAttribute(jsObject: jsObject, name: Strings.offset) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.ConstantSourceNode].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(context: BaseAudioContext, options: ConstantSourceOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadonlyAttribute - public var offset: AudioParam + @inlinable public var offset: AudioParam { jsObject[Strings.offset].fromJSValue()! } } -public class ConstantSourceOptions: BridgedDictionary { - public convenience init(offset: Float) { +open class ConstantSourceOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(offset: Float? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.offset] = _toJSValue(offset) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _offset = ReadWriteAttribute(jsObject: object, name: Strings.offset) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var offset: Float + @inlinable public var offset: Float { + get { jsObject[Strings.offset].fromJSValue()! } + set { jsObject[Strings.offset] = _toJSValue(newValue) } + } } - public class ConvolverNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ConvolverNode].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.ConvolverNode].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _buffer = ReadWriteAttribute(jsObject: jsObject, name: Strings.buffer) - _normalize = ReadWriteAttribute(jsObject: jsObject, name: Strings.normalize) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(context: BaseAudioContext, options: ConvolverOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadWriteAttribute - public var buffer: AudioBuffer? + @inlinable public var buffer: AudioBuffer? { + get { jsObject[Strings.buffer].fromJSValue() } + set { jsObject[Strings.buffer] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var normalize: Bool + @inlinable public var normalize: Bool { + get { jsObject[Strings.normalize].fromJSValue()! } + set { jsObject[Strings.normalize] = _toJSValue(newValue) } + } } -public class ConvolverOptions: BridgedDictionary { - public convenience init(buffer: AudioBuffer?, disableNormalization: Bool) { +open class ConvolverOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + buffer: AudioBuffer?, + disableNormalization: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.buffer] = _toJSValue(buffer) object[Strings.disableNormalization] = _toJSValue(disableNormalization) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _buffer = ReadWriteAttribute(jsObject: object, name: Strings.buffer) - _disableNormalization = ReadWriteAttribute(jsObject: object, name: Strings.disableNormalization) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var buffer: AudioBuffer? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var disableNormalization: Bool + @inlinable public var buffer: AudioBuffer? { + get { jsObject[Strings.buffer].fromJSValue() } + set { jsObject[Strings.buffer] = _toJSValue(newValue) } + } + @inlinable public var disableNormalization: Bool { + get { jsObject[Strings.disableNormalization].fromJSValue()! } + set { jsObject[Strings.disableNormalization] = _toJSValue(newValue) } + } } - public class DelayNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DelayNode].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DelayNode].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _delayTime = ReadonlyAttribute(jsObject: jsObject, name: Strings.delayTime) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(context: BaseAudioContext, options: DelayOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadonlyAttribute - public var delayTime: AudioParam + @inlinable public var delayTime: AudioParam { jsObject[Strings.delayTime].fromJSValue()! } } -public class DelayOptions: BridgedDictionary { - public convenience init(maxDelayTime: Double, delayTime: Double) { +open class DelayOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + maxDelayTime: Double? = nil, + delayTime: Double? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.maxDelayTime] = _toJSValue(maxDelayTime) object[Strings.delayTime] = _toJSValue(delayTime) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _maxDelayTime = ReadWriteAttribute(jsObject: object, name: Strings.maxDelayTime) - _delayTime = ReadWriteAttribute(jsObject: object, name: Strings.delayTime) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var maxDelayTime: Double + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var delayTime: Double + @inlinable public var maxDelayTime: Double { + get { jsObject[Strings.maxDelayTime].fromJSValue()! } + set { jsObject[Strings.maxDelayTime] = _toJSValue(newValue) } + } + @inlinable public var delayTime: Double { + get { jsObject[Strings.delayTime].fromJSValue()! } + set { jsObject[Strings.delayTime] = _toJSValue(newValue) } + } } - public enum DistanceModelType: JSString, JSValueCompatible { case linear = "linear" case inverse = "inverse" case exponential = "exponential" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class DynamicsCompressorNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DynamicsCompressorNode].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _threshold = ReadonlyAttribute(jsObject: jsObject, name: Strings.threshold) - _knee = ReadonlyAttribute(jsObject: jsObject, name: Strings.knee) - _ratio = ReadonlyAttribute(jsObject: jsObject, name: Strings.ratio) - _reduction = ReadonlyAttribute(jsObject: jsObject, name: Strings.reduction) - _attack = ReadonlyAttribute(jsObject: jsObject, name: Strings.attack) - _release = ReadonlyAttribute(jsObject: jsObject, name: Strings.release) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.DynamicsCompressorNode].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(context: BaseAudioContext, options: DynamicsCompressorOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadonlyAttribute - public var threshold: AudioParam + @inlinable public var threshold: AudioParam { jsObject[Strings.threshold].fromJSValue()! } - @ReadonlyAttribute - public var knee: AudioParam + @inlinable public var knee: AudioParam { jsObject[Strings.knee].fromJSValue()! } - @ReadonlyAttribute - public var ratio: AudioParam + @inlinable public var ratio: AudioParam { jsObject[Strings.ratio].fromJSValue()! } - @ReadonlyAttribute - public var reduction: Float + @inlinable public var reduction: Float { jsObject[Strings.reduction].fromJSValue()! } - @ReadonlyAttribute - public var attack: AudioParam + @inlinable public var attack: AudioParam { jsObject[Strings.attack].fromJSValue()! } - @ReadonlyAttribute - public var release: AudioParam + @inlinable public var release: AudioParam { jsObject[Strings.release].fromJSValue()! } } -public class DynamicsCompressorOptions: BridgedDictionary { - public convenience init(attack: Float, knee: Float, ratio: Float, release: Float, threshold: Float) { +open class DynamicsCompressorOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + attack: Float? = nil, + knee: Float? = nil, + ratio: Float? = nil, + release: Float? = nil, + threshold: Float? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.attack] = _toJSValue(attack) object[Strings.knee] = _toJSValue(knee) object[Strings.ratio] = _toJSValue(ratio) object[Strings.release] = _toJSValue(release) object[Strings.threshold] = _toJSValue(threshold) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _attack = ReadWriteAttribute(jsObject: object, name: Strings.attack) - _knee = ReadWriteAttribute(jsObject: object, name: Strings.knee) - _ratio = ReadWriteAttribute(jsObject: object, name: Strings.ratio) - _release = ReadWriteAttribute(jsObject: object, name: Strings.release) - _threshold = ReadWriteAttribute(jsObject: object, name: Strings.threshold) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var attack: Float - - @ReadWriteAttribute - public var knee: Float + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var ratio: Float - - @ReadWriteAttribute - public var release: Float - - @ReadWriteAttribute - public var threshold: Float + @inlinable public var attack: Float { + get { jsObject[Strings.attack].fromJSValue()! } + set { jsObject[Strings.attack] = _toJSValue(newValue) } + } + @inlinable public var knee: Float { + get { jsObject[Strings.knee].fromJSValue()! } + set { jsObject[Strings.knee] = _toJSValue(newValue) } + } + @inlinable public var ratio: Float { + get { jsObject[Strings.ratio].fromJSValue()! } + set { jsObject[Strings.ratio] = _toJSValue(newValue) } + } + @inlinable public var release: Float { + get { jsObject[Strings.release].fromJSValue()! } + set { jsObject[Strings.release] = _toJSValue(newValue) } + } + @inlinable public var threshold: Float { + get { jsObject[Strings.threshold].fromJSValue()! } + set { jsObject[Strings.threshold] = _toJSValue(newValue) } + } } - public class GainNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.GainNode].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.GainNode].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _gain = ReadonlyAttribute(jsObject: jsObject, name: Strings.gain) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(context: BaseAudioContext, options: GainOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadonlyAttribute - public var gain: AudioParam + @inlinable public var gain: AudioParam { jsObject[Strings.gain].fromJSValue()! } } -public class GainOptions: BridgedDictionary { - public convenience init(gain: Float) { +open class GainOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + gain: Float? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.gain] = _toJSValue(gain) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _gain = ReadWriteAttribute(jsObject: object, name: Strings.gain) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var gain: Float + @inlinable public var gain: Float { + get { jsObject[Strings.gain].fromJSValue()! } + set { jsObject[Strings.gain] = _toJSValue(newValue) } + } } - public class IIRFilterNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.IIRFilterNode].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.IIRFilterNode].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(context: BaseAudioContext, options: IIRFilterOptions) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @inlinable public func getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array) { + @inlinable final public func getFrequencyResponse( + frequencyHz: Float32Array, + magResponse: Float32Array, + phaseResponse: Float32Array + ) { let this = jsObject - _ = this[Strings.getFrequencyResponse].function!(this: this, arguments: [_toJSValue(frequencyHz), _toJSValue(magResponse), _toJSValue(phaseResponse)]) + _ = this[Strings.getFrequencyResponse].function!( + this: this, + arguments: [_toJSValue(frequencyHz), _toJSValue(magResponse), _toJSValue(phaseResponse)] + ) } } -public class IIRFilterOptions: BridgedDictionary { - public convenience init(feedforward: [Double], feedback: [Double]) { +open class IIRFilterOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + feedforward: [Double], + feedback: [Double] + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.feedforward] = _toJSValue(feedforward) object[Strings.feedback] = _toJSValue(feedback) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _feedforward = ReadWriteAttribute(jsObject: object, name: Strings.feedforward) - _feedback = ReadWriteAttribute(jsObject: object, name: Strings.feedback) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var feedforward: [Double] + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var feedback: [Double] + @inlinable public var feedforward: [Double] { + get { jsObject[Strings.feedforward].fromJSValue()! } + set { jsObject[Strings.feedforward] = _toJSValue(newValue) } + } + @inlinable public var feedback: [Double] { + get { jsObject[Strings.feedback].fromJSValue()! } + set { jsObject[Strings.feedback] = _toJSValue(newValue) } + } } - public class MediaElementAudioSourceNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaElementAudioSourceNode].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _mediaElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.mediaElement) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.MediaElementAudioSourceNode].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(context: AudioContext, options: MediaElementAudioSourceOptions) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadonlyAttribute - public var mediaElement: HTMLMediaElement + @inlinable public var mediaElement: HTMLMediaElement { jsObject[Strings.mediaElement].fromJSValue()! } } -public class MediaElementAudioSourceOptions: BridgedDictionary { +open class MediaElementAudioSourceOptions: JSDictionaryCompatible { + public let jsObject: JSObject + public convenience init(mediaElement: HTMLMediaElement) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.mediaElement] = _toJSValue(mediaElement) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _mediaElement = ReadWriteAttribute(jsObject: object, name: Strings.mediaElement) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var mediaElement: HTMLMediaElement + @inlinable public var mediaElement: HTMLMediaElement { + get { jsObject[Strings.mediaElement].fromJSValue()! } + set { jsObject[Strings.mediaElement] = _toJSValue(newValue) } + } } - public class MediaStreamAudioDestinationNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaStreamAudioDestinationNode].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _stream = ReadonlyAttribute(jsObject: jsObject, name: Strings.stream) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.MediaStreamAudioDestinationNode].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(context: AudioContext, options: AudioNodeOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadonlyAttribute - public var stream: MediaStream + @inlinable public var stream: MediaStream { jsObject[Strings.stream].fromJSValue()! } } public class MediaStreamAudioSourceNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaStreamAudioSourceNode].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _mediaStream = ReadonlyAttribute(jsObject: jsObject, name: Strings.mediaStream) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.MediaStreamAudioSourceNode].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(context: AudioContext, options: MediaStreamAudioSourceOptions) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadonlyAttribute - public var mediaStream: MediaStream + @inlinable public var mediaStream: MediaStream { jsObject[Strings.mediaStream].fromJSValue()! } } -public class MediaStreamAudioSourceOptions: BridgedDictionary { +open class MediaStreamAudioSourceOptions: JSDictionaryCompatible { + public let jsObject: JSObject + public convenience init(mediaStream: MediaStream) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.mediaStream] = _toJSValue(mediaStream) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _mediaStream = ReadWriteAttribute(jsObject: object, name: Strings.mediaStream) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var mediaStream: MediaStream + @inlinable public var mediaStream: MediaStream { + get { jsObject[Strings.mediaStream].fromJSValue()! } + set { jsObject[Strings.mediaStream] = _toJSValue(newValue) } + } } - public class MediaStreamTrackAudioSourceNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaStreamTrackAudioSourceNode].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.MediaStreamTrackAudioSourceNode].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(context: AudioContext, options: MediaStreamTrackAudioSourceOptions) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } } -public class MediaStreamTrackAudioSourceOptions: BridgedDictionary { +open class MediaStreamTrackAudioSourceOptions: JSDictionaryCompatible { + public let jsObject: JSObject + public convenience init(mediaStreamTrack: MediaStreamTrack) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.mediaStreamTrack] = _toJSValue(mediaStreamTrack) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _mediaStreamTrack = ReadWriteAttribute(jsObject: object, name: Strings.mediaStreamTrack) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var mediaStreamTrack: MediaStreamTrack + @inlinable public var mediaStreamTrack: MediaStreamTrack { + get { jsObject[Strings.mediaStreamTrack].fromJSValue()! } + set { jsObject[Strings.mediaStreamTrack] = _toJSValue(newValue) } + } } - public class OfflineAudioCompletionEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.OfflineAudioCompletionEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _renderedBuffer = ReadonlyAttribute(jsObject: jsObject, name: Strings.renderedBuffer) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.OfflineAudioCompletionEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: OfflineAudioCompletionEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var renderedBuffer: AudioBuffer + @inlinable public var renderedBuffer: AudioBuffer { jsObject[Strings.renderedBuffer].fromJSValue()! } } -public class OfflineAudioCompletionEventInit: BridgedDictionary { +open class OfflineAudioCompletionEventInit: EventInit { + public convenience init(renderedBuffer: AudioBuffer) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.renderedBuffer] = _toJSValue(renderedBuffer) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _renderedBuffer = ReadWriteAttribute(jsObject: object, name: Strings.renderedBuffer) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var renderedBuffer: AudioBuffer + @inlinable public var renderedBuffer: AudioBuffer { + get { jsObject[Strings.renderedBuffer].fromJSValue()! } + set { jsObject[Strings.renderedBuffer] = _toJSValue(newValue) } + } } - public class OfflineAudioContext: BaseAudioContext { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.OfflineAudioContext].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _oncomplete = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncomplete) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.OfflineAudioContext].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(contextOptions: OfflineAudioContextOptions) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(contextOptions)])) } @inlinable public convenience init(numberOfChannels: UInt32, length: UInt32, sampleRate: Float) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(numberOfChannels), _toJSValue(length), _toJSValue(sampleRate)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(numberOfChannels), _toJSValue(length), _toJSValue(sampleRate), + ]) + ) } - @inlinable public func startRendering() -> JSPromise { + @inlinable final public func startRendering() -> JSPromise { let this = jsObject return this[Strings.startRendering].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func startRendering() async throws -> AudioBuffer { - let this = jsObject - let _promise: JSPromise = this[Strings.startRendering].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func startRendering() + async throws(JSException) -> AudioBuffer + { + let this = jsObject + let _promise: JSPromise = this[Strings.startRendering].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func resume() -> JSPromise { + @inlinable final public func resume() -> JSPromise { let this = jsObject return this[Strings.resume].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func resume() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.resume].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func resume() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.resume].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func suspend(suspendTime: Double) -> JSPromise { + @inlinable final public func suspend(suspendTime: Double) -> JSPromise { let this = jsObject return this[Strings.suspend].function!(this: this, arguments: [_toJSValue(suspendTime)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func suspend(suspendTime: Double) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.suspend].function!(this: this, arguments: [_toJSValue(suspendTime)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func suspend( + suspendTime: Double + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.suspend].function!(this: this, arguments: [_toJSValue(suspendTime)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ClosureAttribute1Optional - public var oncomplete: EventHandler + @inlinable public var oncomplete: EventHandler { + get { + guard let function = jsObject[Strings.oncomplete].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncomplete] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncomplete] = .null + } + } + } } -public class OfflineAudioContextOptions: BridgedDictionary { - public convenience init(numberOfChannels: UInt32, length: UInt32, sampleRate: Float) { +open class OfflineAudioContextOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(numberOfChannels: UInt32? = nil, length: UInt32, sampleRate: Float) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.numberOfChannels] = _toJSValue(numberOfChannels) object[Strings.length] = _toJSValue(length) object[Strings.sampleRate] = _toJSValue(sampleRate) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _numberOfChannels = ReadWriteAttribute(jsObject: object, name: Strings.numberOfChannels) - _length = ReadWriteAttribute(jsObject: object, name: Strings.length) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var numberOfChannels: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var length: UInt32 - - @ReadWriteAttribute - public var sampleRate: Float + @inlinable public var numberOfChannels: UInt32 { + get { jsObject[Strings.numberOfChannels].fromJSValue()! } + set { jsObject[Strings.numberOfChannels] = _toJSValue(newValue) } + } + @inlinable public var length: UInt32 { + get { jsObject[Strings.length].fromJSValue()! } + set { jsObject[Strings.length] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: Float { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } } - public class OscillatorNode: AudioScheduledSourceNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.OscillatorNode].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.OscillatorNode].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _frequency = ReadonlyAttribute(jsObject: jsObject, name: Strings.frequency) - _detune = ReadonlyAttribute(jsObject: jsObject, name: Strings.detune) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(context: BaseAudioContext, options: OscillatorOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadWriteAttribute - public var type: OscillatorType + @inlinable public var type: OscillatorType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var frequency: AudioParam + @inlinable public var frequency: AudioParam { jsObject[Strings.frequency].fromJSValue()! } - @ReadonlyAttribute - public var detune: AudioParam + @inlinable public var detune: AudioParam { jsObject[Strings.detune].fromJSValue()! } - @inlinable public func setPeriodicWave(periodicWave: PeriodicWave) { + @inlinable final public func setPeriodicWave(periodicWave: PeriodicWave) { let this = jsObject _ = this[Strings.setPeriodicWave].function!(this: this, arguments: [_toJSValue(periodicWave)]) } } -public class OscillatorOptions: BridgedDictionary { - public convenience init(type: OscillatorType, frequency: Float, detune: Float, periodicWave: PeriodicWave) { +open class OscillatorOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + type: OscillatorType? = nil, + frequency: Float? = nil, + detune: Float? = nil, + periodicWave: PeriodicWave? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.type] = _toJSValue(type) object[Strings.frequency] = _toJSValue(frequency) object[Strings.detune] = _toJSValue(detune) object[Strings.periodicWave] = _toJSValue(periodicWave) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _frequency = ReadWriteAttribute(jsObject: object, name: Strings.frequency) - _detune = ReadWriteAttribute(jsObject: object, name: Strings.detune) - _periodicWave = ReadWriteAttribute(jsObject: object, name: Strings.periodicWave) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: OscillatorType - - @ReadWriteAttribute - public var frequency: Float - - @ReadWriteAttribute - public var detune: Float + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var periodicWave: PeriodicWave + @inlinable public var type: OscillatorType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var frequency: Float { + get { jsObject[Strings.frequency].fromJSValue()! } + set { jsObject[Strings.frequency] = _toJSValue(newValue) } + } + @inlinable public var detune: Float { + get { jsObject[Strings.detune].fromJSValue()! } + set { jsObject[Strings.detune] = _toJSValue(newValue) } + } + @inlinable public var periodicWave: PeriodicWave { + get { jsObject[Strings.periodicWave].fromJSValue()! } + set { jsObject[Strings.periodicWave] = _toJSValue(newValue) } + } } - public enum OscillatorType: JSString, JSValueCompatible { case sine = "sine" case square = "square" @@ -1916,119 +2083,128 @@ public enum OscillatorType: JSString, JSValueCompatible { case custom = "custom" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum OverSampleType: JSString, JSValueCompatible { case none = "none" case _2x = "2x" case _4x = "4x" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class PannerNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.PannerNode].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _panningModel = ReadWriteAttribute(jsObject: jsObject, name: Strings.panningModel) - _positionX = ReadonlyAttribute(jsObject: jsObject, name: Strings.positionX) - _positionY = ReadonlyAttribute(jsObject: jsObject, name: Strings.positionY) - _positionZ = ReadonlyAttribute(jsObject: jsObject, name: Strings.positionZ) - _orientationX = ReadonlyAttribute(jsObject: jsObject, name: Strings.orientationX) - _orientationY = ReadonlyAttribute(jsObject: jsObject, name: Strings.orientationY) - _orientationZ = ReadonlyAttribute(jsObject: jsObject, name: Strings.orientationZ) - _distanceModel = ReadWriteAttribute(jsObject: jsObject, name: Strings.distanceModel) - _refDistance = ReadWriteAttribute(jsObject: jsObject, name: Strings.refDistance) - _maxDistance = ReadWriteAttribute(jsObject: jsObject, name: Strings.maxDistance) - _rolloffFactor = ReadWriteAttribute(jsObject: jsObject, name: Strings.rolloffFactor) - _coneInnerAngle = ReadWriteAttribute(jsObject: jsObject, name: Strings.coneInnerAngle) - _coneOuterAngle = ReadWriteAttribute(jsObject: jsObject, name: Strings.coneOuterAngle) - _coneOuterGain = ReadWriteAttribute(jsObject: jsObject, name: Strings.coneOuterGain) - super.init(unsafelyWrapping: jsObject) - } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.PannerNode].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(context: BaseAudioContext, options: PannerOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadWriteAttribute - public var panningModel: PanningModelType - - @ReadonlyAttribute - public var positionX: AudioParam + @inlinable public var panningModel: PanningModelType { + get { jsObject[Strings.panningModel].fromJSValue()! } + set { jsObject[Strings.panningModel] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var positionY: AudioParam + @inlinable public var positionX: AudioParam { jsObject[Strings.positionX].fromJSValue()! } - @ReadonlyAttribute - public var positionZ: AudioParam + @inlinable public var positionY: AudioParam { jsObject[Strings.positionY].fromJSValue()! } - @ReadonlyAttribute - public var orientationX: AudioParam + @inlinable public var positionZ: AudioParam { jsObject[Strings.positionZ].fromJSValue()! } - @ReadonlyAttribute - public var orientationY: AudioParam + @inlinable public var orientationX: AudioParam { jsObject[Strings.orientationX].fromJSValue()! } - @ReadonlyAttribute - public var orientationZ: AudioParam + @inlinable public var orientationY: AudioParam { jsObject[Strings.orientationY].fromJSValue()! } - @ReadWriteAttribute - public var distanceModel: DistanceModelType + @inlinable public var orientationZ: AudioParam { jsObject[Strings.orientationZ].fromJSValue()! } - @ReadWriteAttribute - public var refDistance: Double + @inlinable public var distanceModel: DistanceModelType { + get { jsObject[Strings.distanceModel].fromJSValue()! } + set { jsObject[Strings.distanceModel] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var maxDistance: Double + @inlinable public var refDistance: Double { + get { jsObject[Strings.refDistance].fromJSValue()! } + set { jsObject[Strings.refDistance] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rolloffFactor: Double + @inlinable public var maxDistance: Double { + get { jsObject[Strings.maxDistance].fromJSValue()! } + set { jsObject[Strings.maxDistance] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var coneInnerAngle: Double + @inlinable public var rolloffFactor: Double { + get { jsObject[Strings.rolloffFactor].fromJSValue()! } + set { jsObject[Strings.rolloffFactor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var coneOuterAngle: Double + @inlinable public var coneInnerAngle: Double { + get { jsObject[Strings.coneInnerAngle].fromJSValue()! } + set { jsObject[Strings.coneInnerAngle] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var coneOuterGain: Double + @inlinable public var coneOuterAngle: Double { + get { jsObject[Strings.coneOuterAngle].fromJSValue()! } + set { jsObject[Strings.coneOuterAngle] = _toJSValue(newValue) } + } - @inlinable public func setPosition(x: Float, y: Float, z: Float) { - let this = jsObject - _ = this[Strings.setPosition].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z)]) + @inlinable public var coneOuterGain: Double { + get { jsObject[Strings.coneOuterGain].fromJSValue()! } + set { jsObject[Strings.coneOuterGain] = _toJSValue(newValue) } } - @inlinable public func setOrientation(x: Float, y: Float, z: Float) { + @inlinable final public func setPosition(x: Float, y: Float, z: Float) { let this = jsObject - _ = this[Strings.setOrientation].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z)]) + _ = this[Strings.setPosition].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z)]) } -} -public class PannerOptions: BridgedDictionary { - public convenience init(panningModel: PanningModelType, distanceModel: DistanceModelType, positionX: Float, positionY: Float, positionZ: Float, orientationX: Float, orientationY: Float, orientationZ: Float, refDistance: Double, maxDistance: Double, rolloffFactor: Double, coneInnerAngle: Double, coneOuterAngle: Double, coneOuterGain: Double) { + @inlinable final public func setOrientation(x: Float, y: Float, z: Float) { + let this = jsObject + _ = this[Strings.setOrientation].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z)] + ) + } +} + +open class PannerOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + panningModel: PanningModelType? = nil, + distanceModel: DistanceModelType? = nil, + positionX: Float? = nil, + positionY: Float? = nil, + positionZ: Float? = nil, + orientationX: Float? = nil, + orientationY: Float? = nil, + orientationZ: Float? = nil, + refDistance: Double? = nil, + maxDistance: Double? = nil, + rolloffFactor: Double? = nil, + coneInnerAngle: Double? = nil, + coneOuterAngle: Double? = nil, + coneOuterGain: Double? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.panningModel] = _toJSValue(panningModel) object[Strings.distanceModel] = _toJSValue(distanceModel) object[Strings.positionX] = _toJSValue(positionX) @@ -2043,435 +2219,449 @@ public class PannerOptions: BridgedDictionary { object[Strings.coneInnerAngle] = _toJSValue(coneInnerAngle) object[Strings.coneOuterAngle] = _toJSValue(coneOuterAngle) object[Strings.coneOuterGain] = _toJSValue(coneOuterGain) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _panningModel = ReadWriteAttribute(jsObject: object, name: Strings.panningModel) - _distanceModel = ReadWriteAttribute(jsObject: object, name: Strings.distanceModel) - _positionX = ReadWriteAttribute(jsObject: object, name: Strings.positionX) - _positionY = ReadWriteAttribute(jsObject: object, name: Strings.positionY) - _positionZ = ReadWriteAttribute(jsObject: object, name: Strings.positionZ) - _orientationX = ReadWriteAttribute(jsObject: object, name: Strings.orientationX) - _orientationY = ReadWriteAttribute(jsObject: object, name: Strings.orientationY) - _orientationZ = ReadWriteAttribute(jsObject: object, name: Strings.orientationZ) - _refDistance = ReadWriteAttribute(jsObject: object, name: Strings.refDistance) - _maxDistance = ReadWriteAttribute(jsObject: object, name: Strings.maxDistance) - _rolloffFactor = ReadWriteAttribute(jsObject: object, name: Strings.rolloffFactor) - _coneInnerAngle = ReadWriteAttribute(jsObject: object, name: Strings.coneInnerAngle) - _coneOuterAngle = ReadWriteAttribute(jsObject: object, name: Strings.coneOuterAngle) - _coneOuterGain = ReadWriteAttribute(jsObject: object, name: Strings.coneOuterGain) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var panningModel: PanningModelType - - @ReadWriteAttribute - public var distanceModel: DistanceModelType - - @ReadWriteAttribute - public var positionX: Float - - @ReadWriteAttribute - public var positionY: Float - - @ReadWriteAttribute - public var positionZ: Float - - @ReadWriteAttribute - public var orientationX: Float + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var orientationY: Float - - @ReadWriteAttribute - public var orientationZ: Float - - @ReadWriteAttribute - public var refDistance: Double - - @ReadWriteAttribute - public var maxDistance: Double - - @ReadWriteAttribute - public var rolloffFactor: Double - - @ReadWriteAttribute - public var coneInnerAngle: Double - - @ReadWriteAttribute - public var coneOuterAngle: Double - - @ReadWriteAttribute - public var coneOuterGain: Double + @inlinable public var panningModel: PanningModelType { + get { jsObject[Strings.panningModel].fromJSValue()! } + set { jsObject[Strings.panningModel] = _toJSValue(newValue) } + } + @inlinable public var distanceModel: DistanceModelType { + get { jsObject[Strings.distanceModel].fromJSValue()! } + set { jsObject[Strings.distanceModel] = _toJSValue(newValue) } + } + @inlinable public var positionX: Float { + get { jsObject[Strings.positionX].fromJSValue()! } + set { jsObject[Strings.positionX] = _toJSValue(newValue) } + } + @inlinable public var positionY: Float { + get { jsObject[Strings.positionY].fromJSValue()! } + set { jsObject[Strings.positionY] = _toJSValue(newValue) } + } + @inlinable public var positionZ: Float { + get { jsObject[Strings.positionZ].fromJSValue()! } + set { jsObject[Strings.positionZ] = _toJSValue(newValue) } + } + @inlinable public var orientationX: Float { + get { jsObject[Strings.orientationX].fromJSValue()! } + set { jsObject[Strings.orientationX] = _toJSValue(newValue) } + } + @inlinable public var orientationY: Float { + get { jsObject[Strings.orientationY].fromJSValue()! } + set { jsObject[Strings.orientationY] = _toJSValue(newValue) } + } + @inlinable public var orientationZ: Float { + get { jsObject[Strings.orientationZ].fromJSValue()! } + set { jsObject[Strings.orientationZ] = _toJSValue(newValue) } + } + @inlinable public var refDistance: Double { + get { jsObject[Strings.refDistance].fromJSValue()! } + set { jsObject[Strings.refDistance] = _toJSValue(newValue) } + } + @inlinable public var maxDistance: Double { + get { jsObject[Strings.maxDistance].fromJSValue()! } + set { jsObject[Strings.maxDistance] = _toJSValue(newValue) } + } + @inlinable public var rolloffFactor: Double { + get { jsObject[Strings.rolloffFactor].fromJSValue()! } + set { jsObject[Strings.rolloffFactor] = _toJSValue(newValue) } + } + @inlinable public var coneInnerAngle: Double { + get { jsObject[Strings.coneInnerAngle].fromJSValue()! } + set { jsObject[Strings.coneInnerAngle] = _toJSValue(newValue) } + } + @inlinable public var coneOuterAngle: Double { + get { jsObject[Strings.coneOuterAngle].fromJSValue()! } + set { jsObject[Strings.coneOuterAngle] = _toJSValue(newValue) } + } + @inlinable public var coneOuterGain: Double { + get { jsObject[Strings.coneOuterGain].fromJSValue()! } + set { jsObject[Strings.coneOuterGain] = _toJSValue(newValue) } + } } - public enum PanningModelType: JSString, JSValueCompatible { case equalpower = "equalpower" case hRTF = "HRTF" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class PeriodicWave: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.PeriodicWave].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(context: BaseAudioContext, options: PeriodicWaveOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } } -public class PeriodicWaveConstraints: BridgedDictionary { - public convenience init(disableNormalization: Bool) { +open class PeriodicWaveConstraints: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(disableNormalization: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.disableNormalization] = _toJSValue(disableNormalization) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _disableNormalization = ReadWriteAttribute(jsObject: object, name: Strings.disableNormalization) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var disableNormalization: Bool + @inlinable public var disableNormalization: Bool { + get { jsObject[Strings.disableNormalization].fromJSValue()! } + set { jsObject[Strings.disableNormalization] = _toJSValue(newValue) } + } } +open class PeriodicWaveOptions: PeriodicWaveConstraints { -public class PeriodicWaveOptions: BridgedDictionary { - public convenience init(real: [Float], imag: [Float]) { + public convenience init(disableNormalization: Bool? = nil, real: [Float]? = nil, imag: [Float]? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.disableNormalization] = _toJSValue(disableNormalization) object[Strings.real] = _toJSValue(real) object[Strings.imag] = _toJSValue(imag) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _real = ReadWriteAttribute(jsObject: object, name: Strings.real) - _imag = ReadWriteAttribute(jsObject: object, name: Strings.imag) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var real: [Float] + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var imag: [Float] + @inlinable public var real: [Float] { + get { jsObject[Strings.real].fromJSValue()! } + set { jsObject[Strings.real] = _toJSValue(newValue) } + } + @inlinable public var imag: [Float] { + get { jsObject[Strings.imag].fromJSValue()! } + set { jsObject[Strings.imag] = _toJSValue(newValue) } + } } - public class ScriptProcessorNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ScriptProcessorNode].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _onaudioprocess = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaudioprocess) - _bufferSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.bufferSize) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.ScriptProcessorNode].function } - @ClosureAttribute1Optional - public var onaudioprocess: EventHandler + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var onaudioprocess: EventHandler { + get { + guard let function = jsObject[Strings.onaudioprocess].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onaudioprocess] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onaudioprocess] = .null + } + } + } - @ReadonlyAttribute - public var bufferSize: Int32 + @inlinable public var bufferSize: Int32 { jsObject[Strings.bufferSize].fromJSValue()! } } public class StereoPannerNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.StereoPannerNode].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.StereoPannerNode].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _pan = ReadonlyAttribute(jsObject: jsObject, name: Strings.pan) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(context: BaseAudioContext, options: StereoPannerOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadonlyAttribute - public var pan: AudioParam + @inlinable public var pan: AudioParam { jsObject[Strings.pan].fromJSValue()! } } -public class StereoPannerOptions: BridgedDictionary { - public convenience init(pan: Float) { +open class StereoPannerOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + pan: Float? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.pan] = _toJSValue(pan) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _pan = ReadWriteAttribute(jsObject: object, name: Strings.pan) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var pan: Float + @inlinable public var pan: Float { + get { jsObject[Strings.pan].fromJSValue()! } + set { jsObject[Strings.pan] = _toJSValue(newValue) } + } } - public typealias DecodeErrorCallback = (DOMException) -> Void public typealias DecodeSuccessCallback = (AudioBuffer) -> Void public typealias AudioWorkletProcessCallback = ([[Float32Array]], [[Float32Array]], JSObject) -> Bool public class WaveShaperNode: AudioNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WaveShaperNode].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.WaveShaperNode].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _curve = ReadWriteAttribute(jsObject: jsObject, name: Strings.curve) - _oversample = ReadWriteAttribute(jsObject: jsObject, name: Strings.oversample) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(context: BaseAudioContext, options: WaveShaperOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(context), _toJSValue(options)])) } - @ReadWriteAttribute - public var curve: Float32Array? + @inlinable public var curve: Float32Array? { + get { jsObject[Strings.curve].fromJSValue() } + set { jsObject[Strings.curve] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var oversample: OverSampleType + @inlinable public var oversample: OverSampleType { + get { jsObject[Strings.oversample].fromJSValue()! } + set { jsObject[Strings.oversample] = _toJSValue(newValue) } + } } -public class WaveShaperOptions: BridgedDictionary { - public convenience init(curve: [Float], oversample: OverSampleType) { +open class WaveShaperOptions: AudioNodeOptions { + + public convenience init( + channelCount: UInt32? = nil, + channelCountMode: ChannelCountMode? = nil, + channelInterpretation: ChannelInterpretation? = nil, + curve: [Float]? = nil, + oversample: OverSampleType? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.channelCountMode] = _toJSValue(channelCountMode) + object[Strings.channelInterpretation] = _toJSValue(channelInterpretation) object[Strings.curve] = _toJSValue(curve) object[Strings.oversample] = _toJSValue(oversample) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _curve = ReadWriteAttribute(jsObject: object, name: Strings.curve) - _oversample = ReadWriteAttribute(jsObject: object, name: Strings.oversample) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var curve: [Float] + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var oversample: OverSampleType + @inlinable public var curve: [Float] { + get { jsObject[Strings.curve].fromJSValue()! } + set { jsObject[Strings.curve] = _toJSValue(newValue) } + } + @inlinable public var oversample: OverSampleType { + get { jsObject[Strings.oversample].fromJSValue()! } + set { jsObject[Strings.oversample] = _toJSValue(newValue) } + } } - @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let AnalyserNode: JSString = "AnalyserNode" - @usableFromInline static let AudioBuffer: JSString = "AudioBuffer" - @usableFromInline static let AudioBufferSourceNode: JSString = "AudioBufferSourceNode" - @usableFromInline static let AudioContext: JSString = "AudioContext" - @usableFromInline static let AudioDestinationNode: JSString = "AudioDestinationNode" - @usableFromInline static let AudioListener: JSString = "AudioListener" - @usableFromInline static let AudioNode: JSString = "AudioNode" - @usableFromInline static let AudioParam: JSString = "AudioParam" - @usableFromInline static let AudioParamMap: JSString = "AudioParamMap" - @usableFromInline static let AudioProcessingEvent: JSString = "AudioProcessingEvent" - @usableFromInline static let AudioRenderCapacity: JSString = "AudioRenderCapacity" - @usableFromInline static let AudioRenderCapacityEvent: JSString = "AudioRenderCapacityEvent" - @usableFromInline static let AudioScheduledSourceNode: JSString = "AudioScheduledSourceNode" - @usableFromInline static let AudioSinkInfo: JSString = "AudioSinkInfo" - @usableFromInline static let AudioWorklet: JSString = "AudioWorklet" - @usableFromInline static let AudioWorkletNode: JSString = "AudioWorkletNode" - @usableFromInline static let BaseAudioContext: JSString = "BaseAudioContext" - @usableFromInline static let BiquadFilterNode: JSString = "BiquadFilterNode" - @usableFromInline static let ChannelMergerNode: JSString = "ChannelMergerNode" - @usableFromInline static let ChannelSplitterNode: JSString = "ChannelSplitterNode" - @usableFromInline static let ConstantSourceNode: JSString = "ConstantSourceNode" - @usableFromInline static let ConvolverNode: JSString = "ConvolverNode" - @usableFromInline static let DelayNode: JSString = "DelayNode" - @usableFromInline static let DynamicsCompressorNode: JSString = "DynamicsCompressorNode" - @usableFromInline static let GainNode: JSString = "GainNode" - @usableFromInline static let IIRFilterNode: JSString = "IIRFilterNode" - @usableFromInline static let MediaElementAudioSourceNode: JSString = "MediaElementAudioSourceNode" - @usableFromInline static let MediaStreamAudioDestinationNode: JSString = "MediaStreamAudioDestinationNode" - @usableFromInline static let MediaStreamAudioSourceNode: JSString = "MediaStreamAudioSourceNode" - @usableFromInline static let MediaStreamTrackAudioSourceNode: JSString = "MediaStreamTrackAudioSourceNode" - @usableFromInline static let Object: JSString = "Object" - @usableFromInline static let OfflineAudioCompletionEvent: JSString = "OfflineAudioCompletionEvent" - @usableFromInline static let OfflineAudioContext: JSString = "OfflineAudioContext" - @usableFromInline static let OscillatorNode: JSString = "OscillatorNode" - @usableFromInline static let PannerNode: JSString = "PannerNode" - @usableFromInline static let PeriodicWave: JSString = "PeriodicWave" - @usableFromInline static let Q: JSString = "Q" - @usableFromInline static let ScriptProcessorNode: JSString = "ScriptProcessorNode" - @usableFromInline static let StereoPannerNode: JSString = "StereoPannerNode" - @usableFromInline static let WaveShaperNode: JSString = "WaveShaperNode" - @usableFromInline static let attack: JSString = "attack" - @usableFromInline static let audioWorklet: JSString = "audioWorklet" - @usableFromInline static let automationRate: JSString = "automationRate" - @usableFromInline static let averageLoad: JSString = "averageLoad" - @usableFromInline static let baseLatency: JSString = "baseLatency" - @usableFromInline static let buffer: JSString = "buffer" - @usableFromInline static let bufferSize: JSString = "bufferSize" - @usableFromInline static let cancelAndHoldAtTime: JSString = "cancelAndHoldAtTime" - @usableFromInline static let cancelScheduledValues: JSString = "cancelScheduledValues" - @usableFromInline static let channelCount: JSString = "channelCount" - @usableFromInline static let channelCountMode: JSString = "channelCountMode" - @usableFromInline static let channelInterpretation: JSString = "channelInterpretation" - @usableFromInline static let close: JSString = "close" - @usableFromInline static let coneInnerAngle: JSString = "coneInnerAngle" - @usableFromInline static let coneOuterAngle: JSString = "coneOuterAngle" - @usableFromInline static let coneOuterGain: JSString = "coneOuterGain" - @usableFromInline static let connect: JSString = "connect" - @usableFromInline static let context: JSString = "context" - @usableFromInline static let contextTime: JSString = "contextTime" - @usableFromInline static let copyFromChannel: JSString = "copyFromChannel" - @usableFromInline static let copyToChannel: JSString = "copyToChannel" - @usableFromInline static let createAnalyser: JSString = "createAnalyser" - @usableFromInline static let createBiquadFilter: JSString = "createBiquadFilter" - @usableFromInline static let createBuffer: JSString = "createBuffer" - @usableFromInline static let createBufferSource: JSString = "createBufferSource" - @usableFromInline static let createChannelMerger: JSString = "createChannelMerger" - @usableFromInline static let createChannelSplitter: JSString = "createChannelSplitter" - @usableFromInline static let createConstantSource: JSString = "createConstantSource" - @usableFromInline static let createConvolver: JSString = "createConvolver" - @usableFromInline static let createDelay: JSString = "createDelay" - @usableFromInline static let createDynamicsCompressor: JSString = "createDynamicsCompressor" - @usableFromInline static let createGain: JSString = "createGain" - @usableFromInline static let createIIRFilter: JSString = "createIIRFilter" - @usableFromInline static let createMediaElementSource: JSString = "createMediaElementSource" - @usableFromInline static let createMediaStreamDestination: JSString = "createMediaStreamDestination" - @usableFromInline static let createMediaStreamSource: JSString = "createMediaStreamSource" - @usableFromInline static let createMediaStreamTrackSource: JSString = "createMediaStreamTrackSource" - @usableFromInline static let createOscillator: JSString = "createOscillator" - @usableFromInline static let createPanner: JSString = "createPanner" - @usableFromInline static let createPeriodicWave: JSString = "createPeriodicWave" - @usableFromInline static let createScriptProcessor: JSString = "createScriptProcessor" - @usableFromInline static let createStereoPanner: JSString = "createStereoPanner" - @usableFromInline static let createWaveShaper: JSString = "createWaveShaper" - @usableFromInline static let currentTime: JSString = "currentTime" - @usableFromInline static let curve: JSString = "curve" - @usableFromInline static let decodeAudioData: JSString = "decodeAudioData" - @usableFromInline static let defaultValue: JSString = "defaultValue" - @usableFromInline static let delayTime: JSString = "delayTime" - @usableFromInline static let destination: JSString = "destination" - @usableFromInline static let detune: JSString = "detune" - @usableFromInline static let disableNormalization: JSString = "disableNormalization" - @usableFromInline static let disconnect: JSString = "disconnect" - @usableFromInline static let distanceModel: JSString = "distanceModel" - @usableFromInline static let duration: JSString = "duration" - @usableFromInline static let exponentialRampToValueAtTime: JSString = "exponentialRampToValueAtTime" - @usableFromInline static let feedback: JSString = "feedback" - @usableFromInline static let feedforward: JSString = "feedforward" - @usableFromInline static let fftSize: JSString = "fftSize" - @usableFromInline static let forwardX: JSString = "forwardX" - @usableFromInline static let forwardY: JSString = "forwardY" - @usableFromInline static let forwardZ: JSString = "forwardZ" - @usableFromInline static let frequency: JSString = "frequency" - @usableFromInline static let frequencyBinCount: JSString = "frequencyBinCount" - @usableFromInline static let gain: JSString = "gain" - @usableFromInline static let getByteFrequencyData: JSString = "getByteFrequencyData" - @usableFromInline static let getByteTimeDomainData: JSString = "getByteTimeDomainData" - @usableFromInline static let getChannelData: JSString = "getChannelData" - @usableFromInline static let getFloatFrequencyData: JSString = "getFloatFrequencyData" - @usableFromInline static let getFloatTimeDomainData: JSString = "getFloatTimeDomainData" - @usableFromInline static let getFrequencyResponse: JSString = "getFrequencyResponse" - @usableFromInline static let getOutputTimestamp: JSString = "getOutputTimestamp" - @usableFromInline static let imag: JSString = "imag" - @usableFromInline static let inputBuffer: JSString = "inputBuffer" - @usableFromInline static let knee: JSString = "knee" - @usableFromInline static let latencyHint: JSString = "latencyHint" - @usableFromInline static let length: JSString = "length" - @usableFromInline static let linearRampToValueAtTime: JSString = "linearRampToValueAtTime" - @usableFromInline static let listener: JSString = "listener" - @usableFromInline static let loop: JSString = "loop" - @usableFromInline static let loopEnd: JSString = "loopEnd" - @usableFromInline static let loopStart: JSString = "loopStart" - @usableFromInline static let maxChannelCount: JSString = "maxChannelCount" - @usableFromInline static let maxDecibels: JSString = "maxDecibels" - @usableFromInline static let maxDelayTime: JSString = "maxDelayTime" - @usableFromInline static let maxDistance: JSString = "maxDistance" - @usableFromInline static let maxValue: JSString = "maxValue" - @usableFromInline static let mediaElement: JSString = "mediaElement" - @usableFromInline static let mediaStream: JSString = "mediaStream" - @usableFromInline static let mediaStreamTrack: JSString = "mediaStreamTrack" - @usableFromInline static let minDecibels: JSString = "minDecibels" - @usableFromInline static let minValue: JSString = "minValue" - @usableFromInline static let name: JSString = "name" - @usableFromInline static let normalize: JSString = "normalize" - @usableFromInline static let numberOfChannels: JSString = "numberOfChannels" - @usableFromInline static let numberOfInputs: JSString = "numberOfInputs" - @usableFromInline static let numberOfOutputs: JSString = "numberOfOutputs" - @usableFromInline static let offset: JSString = "offset" - @usableFromInline static let onaudioprocess: JSString = "onaudioprocess" - @usableFromInline static let oncomplete: JSString = "oncomplete" - @usableFromInline static let onended: JSString = "onended" - @usableFromInline static let onprocessorerror: JSString = "onprocessorerror" - @usableFromInline static let onsinkchange: JSString = "onsinkchange" - @usableFromInline static let onstatechange: JSString = "onstatechange" - @usableFromInline static let onupdate: JSString = "onupdate" - @usableFromInline static let orientationX: JSString = "orientationX" - @usableFromInline static let orientationY: JSString = "orientationY" - @usableFromInline static let orientationZ: JSString = "orientationZ" - @usableFromInline static let outputBuffer: JSString = "outputBuffer" - @usableFromInline static let outputChannelCount: JSString = "outputChannelCount" - @usableFromInline static let outputLatency: JSString = "outputLatency" - @usableFromInline static let oversample: JSString = "oversample" - @usableFromInline static let pan: JSString = "pan" - @usableFromInline static let panningModel: JSString = "panningModel" - @usableFromInline static let parameterData: JSString = "parameterData" - @usableFromInline static let parameters: JSString = "parameters" - @usableFromInline static let peakLoad: JSString = "peakLoad" - @usableFromInline static let performanceTime: JSString = "performanceTime" - @usableFromInline static let periodicWave: JSString = "periodicWave" - @usableFromInline static let playbackRate: JSString = "playbackRate" - @usableFromInline static let playbackTime: JSString = "playbackTime" - @usableFromInline static let port: JSString = "port" - @usableFromInline static let positionX: JSString = "positionX" - @usableFromInline static let positionY: JSString = "positionY" - @usableFromInline static let positionZ: JSString = "positionZ" - @usableFromInline static let processorOptions: JSString = "processorOptions" - @usableFromInline static let ratio: JSString = "ratio" - @usableFromInline static let real: JSString = "real" - @usableFromInline static let reduction: JSString = "reduction" - @usableFromInline static let refDistance: JSString = "refDistance" - @usableFromInline static let release: JSString = "release" - @usableFromInline static let renderCapacity: JSString = "renderCapacity" - @usableFromInline static let renderedBuffer: JSString = "renderedBuffer" - @usableFromInline static let resume: JSString = "resume" - @usableFromInline static let rolloffFactor: JSString = "rolloffFactor" - @usableFromInline static let sampleRate: JSString = "sampleRate" - @usableFromInline static let setOrientation: JSString = "setOrientation" - @usableFromInline static let setPeriodicWave: JSString = "setPeriodicWave" - @usableFromInline static let setPosition: JSString = "setPosition" - @usableFromInline static let setSinkId: JSString = "setSinkId" - @usableFromInline static let setTargetAtTime: JSString = "setTargetAtTime" - @usableFromInline static let setValueAtTime: JSString = "setValueAtTime" - @usableFromInline static let setValueCurveAtTime: JSString = "setValueCurveAtTime" - @usableFromInline static let sinkId: JSString = "sinkId" - @usableFromInline static let smoothingTimeConstant: JSString = "smoothingTimeConstant" - @usableFromInline static let start: JSString = "start" - @usableFromInline static let startRendering: JSString = "startRendering" - @usableFromInline static let state: JSString = "state" - @usableFromInline static let stop: JSString = "stop" - @usableFromInline static let stream: JSString = "stream" - @usableFromInline static let suspend: JSString = "suspend" - @usableFromInline static let threshold: JSString = "threshold" - @usableFromInline static let timestamp: JSString = "timestamp" - @usableFromInline static let toString: JSString = "toString" - @usableFromInline static let type: JSString = "type" - @usableFromInline static let underrunRatio: JSString = "underrunRatio" - @usableFromInline static let upX: JSString = "upX" - @usableFromInline static let upY: JSString = "upY" - @usableFromInline static let upZ: JSString = "upZ" - @usableFromInline static let updateInterval: JSString = "updateInterval" - @usableFromInline static let value: JSString = "value" + @usableFromInline static let `AnalyserNode`: JSString = "AnalyserNode" + @usableFromInline static let `AudioBuffer`: JSString = "AudioBuffer" + @usableFromInline static let `AudioBufferSourceNode`: JSString = "AudioBufferSourceNode" + @usableFromInline static let `AudioContext`: JSString = "AudioContext" + @usableFromInline static let `AudioDestinationNode`: JSString = "AudioDestinationNode" + @usableFromInline static let `AudioListener`: JSString = "AudioListener" + @usableFromInline static let `AudioNode`: JSString = "AudioNode" + @usableFromInline static let `AudioParam`: JSString = "AudioParam" + @usableFromInline static let `AudioParamMap`: JSString = "AudioParamMap" + @usableFromInline static let `AudioProcessingEvent`: JSString = "AudioProcessingEvent" + @usableFromInline static let `AudioRenderCapacity`: JSString = "AudioRenderCapacity" + @usableFromInline static let `AudioRenderCapacityEvent`: JSString = "AudioRenderCapacityEvent" + @usableFromInline static let `AudioScheduledSourceNode`: JSString = "AudioScheduledSourceNode" + @usableFromInline static let `AudioSinkInfo`: JSString = "AudioSinkInfo" + @usableFromInline static let `AudioWorklet`: JSString = "AudioWorklet" + @usableFromInline static let `AudioWorkletNode`: JSString = "AudioWorkletNode" + @usableFromInline static let `BaseAudioContext`: JSString = "BaseAudioContext" + @usableFromInline static let `BiquadFilterNode`: JSString = "BiquadFilterNode" + @usableFromInline static let `ChannelMergerNode`: JSString = "ChannelMergerNode" + @usableFromInline static let `ChannelSplitterNode`: JSString = "ChannelSplitterNode" + @usableFromInline static let `ConstantSourceNode`: JSString = "ConstantSourceNode" + @usableFromInline static let `ConvolverNode`: JSString = "ConvolverNode" + @usableFromInline static let `DelayNode`: JSString = "DelayNode" + @usableFromInline static let `DynamicsCompressorNode`: JSString = "DynamicsCompressorNode" + @usableFromInline static let `GainNode`: JSString = "GainNode" + @usableFromInline static let `IIRFilterNode`: JSString = "IIRFilterNode" + @usableFromInline static let `MediaElementAudioSourceNode`: JSString = "MediaElementAudioSourceNode" + @usableFromInline static let `MediaStreamAudioDestinationNode`: JSString = "MediaStreamAudioDestinationNode" + @usableFromInline static let `MediaStreamAudioSourceNode`: JSString = "MediaStreamAudioSourceNode" + @usableFromInline static let `MediaStreamTrackAudioSourceNode`: JSString = "MediaStreamTrackAudioSourceNode" + @usableFromInline static let `Object`: JSString = "Object" + @usableFromInline static let `OfflineAudioCompletionEvent`: JSString = "OfflineAudioCompletionEvent" + @usableFromInline static let `OfflineAudioContext`: JSString = "OfflineAudioContext" + @usableFromInline static let `OscillatorNode`: JSString = "OscillatorNode" + @usableFromInline static let `PannerNode`: JSString = "PannerNode" + @usableFromInline static let `PeriodicWave`: JSString = "PeriodicWave" + @usableFromInline static let `Q`: JSString = "Q" + @usableFromInline static let `ScriptProcessorNode`: JSString = "ScriptProcessorNode" + @usableFromInline static let `StereoPannerNode`: JSString = "StereoPannerNode" + @usableFromInline static let `WaveShaperNode`: JSString = "WaveShaperNode" + @usableFromInline static let `attack`: JSString = "attack" + @usableFromInline static let `audioWorklet`: JSString = "audioWorklet" + @usableFromInline static let `automationRate`: JSString = "automationRate" + @usableFromInline static let `averageLoad`: JSString = "averageLoad" + @usableFromInline static let `baseLatency`: JSString = "baseLatency" + @usableFromInline static let `buffer`: JSString = "buffer" + @usableFromInline static let `bufferSize`: JSString = "bufferSize" + @usableFromInline static let `cancelAndHoldAtTime`: JSString = "cancelAndHoldAtTime" + @usableFromInline static let `cancelScheduledValues`: JSString = "cancelScheduledValues" + @usableFromInline static let `channelCount`: JSString = "channelCount" + @usableFromInline static let `channelCountMode`: JSString = "channelCountMode" + @usableFromInline static let `channelInterpretation`: JSString = "channelInterpretation" + @usableFromInline static let `close`: JSString = "close" + @usableFromInline static let `coneInnerAngle`: JSString = "coneInnerAngle" + @usableFromInline static let `coneOuterAngle`: JSString = "coneOuterAngle" + @usableFromInline static let `coneOuterGain`: JSString = "coneOuterGain" + @usableFromInline static let `connect`: JSString = "connect" + @usableFromInline static let `context`: JSString = "context" + @usableFromInline static let `contextTime`: JSString = "contextTime" + @usableFromInline static let `copyFromChannel`: JSString = "copyFromChannel" + @usableFromInline static let `copyToChannel`: JSString = "copyToChannel" + @usableFromInline static let `createAnalyser`: JSString = "createAnalyser" + @usableFromInline static let `createBiquadFilter`: JSString = "createBiquadFilter" + @usableFromInline static let `createBuffer`: JSString = "createBuffer" + @usableFromInline static let `createBufferSource`: JSString = "createBufferSource" + @usableFromInline static let `createChannelMerger`: JSString = "createChannelMerger" + @usableFromInline static let `createChannelSplitter`: JSString = "createChannelSplitter" + @usableFromInline static let `createConstantSource`: JSString = "createConstantSource" + @usableFromInline static let `createConvolver`: JSString = "createConvolver" + @usableFromInline static let `createDelay`: JSString = "createDelay" + @usableFromInline static let `createDynamicsCompressor`: JSString = "createDynamicsCompressor" + @usableFromInline static let `createGain`: JSString = "createGain" + @usableFromInline static let `createIIRFilter`: JSString = "createIIRFilter" + @usableFromInline static let `createMediaElementSource`: JSString = "createMediaElementSource" + @usableFromInline static let `createMediaStreamDestination`: JSString = "createMediaStreamDestination" + @usableFromInline static let `createMediaStreamSource`: JSString = "createMediaStreamSource" + @usableFromInline static let `createMediaStreamTrackSource`: JSString = "createMediaStreamTrackSource" + @usableFromInline static let `createOscillator`: JSString = "createOscillator" + @usableFromInline static let `createPanner`: JSString = "createPanner" + @usableFromInline static let `createPeriodicWave`: JSString = "createPeriodicWave" + @usableFromInline static let `createScriptProcessor`: JSString = "createScriptProcessor" + @usableFromInline static let `createStereoPanner`: JSString = "createStereoPanner" + @usableFromInline static let `createWaveShaper`: JSString = "createWaveShaper" + @usableFromInline static let `currentTime`: JSString = "currentTime" + @usableFromInline static let `curve`: JSString = "curve" + @usableFromInline static let `decodeAudioData`: JSString = "decodeAudioData" + @usableFromInline static let `defaultValue`: JSString = "defaultValue" + @usableFromInline static let `delayTime`: JSString = "delayTime" + @usableFromInline static let `destination`: JSString = "destination" + @usableFromInline static let `detune`: JSString = "detune" + @usableFromInline static let `disableNormalization`: JSString = "disableNormalization" + @usableFromInline static let `disconnect`: JSString = "disconnect" + @usableFromInline static let `distanceModel`: JSString = "distanceModel" + @usableFromInline static let `duration`: JSString = "duration" + @usableFromInline static let `exponentialRampToValueAtTime`: JSString = "exponentialRampToValueAtTime" + @usableFromInline static let `feedback`: JSString = "feedback" + @usableFromInline static let `feedforward`: JSString = "feedforward" + @usableFromInline static let `fftSize`: JSString = "fftSize" + @usableFromInline static let `forwardX`: JSString = "forwardX" + @usableFromInline static let `forwardY`: JSString = "forwardY" + @usableFromInline static let `forwardZ`: JSString = "forwardZ" + @usableFromInline static let `frequency`: JSString = "frequency" + @usableFromInline static let `frequencyBinCount`: JSString = "frequencyBinCount" + @usableFromInline static let `gain`: JSString = "gain" + @usableFromInline static let `getByteFrequencyData`: JSString = "getByteFrequencyData" + @usableFromInline static let `getByteTimeDomainData`: JSString = "getByteTimeDomainData" + @usableFromInline static let `getChannelData`: JSString = "getChannelData" + @usableFromInline static let `getFloatFrequencyData`: JSString = "getFloatFrequencyData" + @usableFromInline static let `getFloatTimeDomainData`: JSString = "getFloatTimeDomainData" + @usableFromInline static let `getFrequencyResponse`: JSString = "getFrequencyResponse" + @usableFromInline static let `getOutputTimestamp`: JSString = "getOutputTimestamp" + @usableFromInline static let `imag`: JSString = "imag" + @usableFromInline static let `inputBuffer`: JSString = "inputBuffer" + @usableFromInline static let `knee`: JSString = "knee" + @usableFromInline static let `latencyHint`: JSString = "latencyHint" + @usableFromInline static let `length`: JSString = "length" + @usableFromInline static let `linearRampToValueAtTime`: JSString = "linearRampToValueAtTime" + @usableFromInline static let `listener`: JSString = "listener" + @usableFromInline static let `loop`: JSString = "loop" + @usableFromInline static let `loopEnd`: JSString = "loopEnd" + @usableFromInline static let `loopStart`: JSString = "loopStart" + @usableFromInline static let `maxChannelCount`: JSString = "maxChannelCount" + @usableFromInline static let `maxDecibels`: JSString = "maxDecibels" + @usableFromInline static let `maxDelayTime`: JSString = "maxDelayTime" + @usableFromInline static let `maxDistance`: JSString = "maxDistance" + @usableFromInline static let `maxValue`: JSString = "maxValue" + @usableFromInline static let `mediaElement`: JSString = "mediaElement" + @usableFromInline static let `mediaStream`: JSString = "mediaStream" + @usableFromInline static let `mediaStreamTrack`: JSString = "mediaStreamTrack" + @usableFromInline static let `minDecibels`: JSString = "minDecibels" + @usableFromInline static let `minValue`: JSString = "minValue" + @usableFromInline static let `name`: JSString = "name" + @usableFromInline static let `normalize`: JSString = "normalize" + @usableFromInline static let `numberOfChannels`: JSString = "numberOfChannels" + @usableFromInline static let `numberOfInputs`: JSString = "numberOfInputs" + @usableFromInline static let `numberOfOutputs`: JSString = "numberOfOutputs" + @usableFromInline static let `offset`: JSString = "offset" + @usableFromInline static let `onaudioprocess`: JSString = "onaudioprocess" + @usableFromInline static let `oncomplete`: JSString = "oncomplete" + @usableFromInline static let `onended`: JSString = "onended" + @usableFromInline static let `onprocessorerror`: JSString = "onprocessorerror" + @usableFromInline static let `onsinkchange`: JSString = "onsinkchange" + @usableFromInline static let `onstatechange`: JSString = "onstatechange" + @usableFromInline static let `onupdate`: JSString = "onupdate" + @usableFromInline static let `orientationX`: JSString = "orientationX" + @usableFromInline static let `orientationY`: JSString = "orientationY" + @usableFromInline static let `orientationZ`: JSString = "orientationZ" + @usableFromInline static let `outputBuffer`: JSString = "outputBuffer" + @usableFromInline static let `outputChannelCount`: JSString = "outputChannelCount" + @usableFromInline static let `outputLatency`: JSString = "outputLatency" + @usableFromInline static let `oversample`: JSString = "oversample" + @usableFromInline static let `pan`: JSString = "pan" + @usableFromInline static let `panningModel`: JSString = "panningModel" + @usableFromInline static let `parameterData`: JSString = "parameterData" + @usableFromInline static let `parameters`: JSString = "parameters" + @usableFromInline static let `peakLoad`: JSString = "peakLoad" + @usableFromInline static let `performanceTime`: JSString = "performanceTime" + @usableFromInline static let `periodicWave`: JSString = "periodicWave" + @usableFromInline static let `playbackRate`: JSString = "playbackRate" + @usableFromInline static let `playbackTime`: JSString = "playbackTime" + @usableFromInline static let `port`: JSString = "port" + @usableFromInline static let `positionX`: JSString = "positionX" + @usableFromInline static let `positionY`: JSString = "positionY" + @usableFromInline static let `positionZ`: JSString = "positionZ" + @usableFromInline static let `processorOptions`: JSString = "processorOptions" + @usableFromInline static let `ratio`: JSString = "ratio" + @usableFromInline static let `real`: JSString = "real" + @usableFromInline static let `reduction`: JSString = "reduction" + @usableFromInline static let `refDistance`: JSString = "refDistance" + @usableFromInline static let `release`: JSString = "release" + @usableFromInline static let `renderCapacity`: JSString = "renderCapacity" + @usableFromInline static let `renderedBuffer`: JSString = "renderedBuffer" + @usableFromInline static let `resume`: JSString = "resume" + @usableFromInline static let `rolloffFactor`: JSString = "rolloffFactor" + @usableFromInline static let `sampleRate`: JSString = "sampleRate" + @usableFromInline static let `setOrientation`: JSString = "setOrientation" + @usableFromInline static let `setPeriodicWave`: JSString = "setPeriodicWave" + @usableFromInline static let `setPosition`: JSString = "setPosition" + @usableFromInline static let `setSinkId`: JSString = "setSinkId" + @usableFromInline static let `setTargetAtTime`: JSString = "setTargetAtTime" + @usableFromInline static let `setValueAtTime`: JSString = "setValueAtTime" + @usableFromInline static let `setValueCurveAtTime`: JSString = "setValueCurveAtTime" + @usableFromInline static let `sinkId`: JSString = "sinkId" + @usableFromInline static let `smoothingTimeConstant`: JSString = "smoothingTimeConstant" + @usableFromInline static let `start`: JSString = "start" + @usableFromInline static let `startRendering`: JSString = "startRendering" + @usableFromInline static let `state`: JSString = "state" + @usableFromInline static let `stop`: JSString = "stop" + @usableFromInline static let `stream`: JSString = "stream" + @usableFromInline static let `suspend`: JSString = "suspend" + @usableFromInline static let `threshold`: JSString = "threshold" + @usableFromInline static let `timestamp`: JSString = "timestamp" + @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `type`: JSString = "type" + @usableFromInline static let `underrunRatio`: JSString = "underrunRatio" + @usableFromInline static let `upX`: JSString = "upX" + @usableFromInline static let `upY`: JSString = "upY" + @usableFromInline static let `upZ`: JSString = "upZ" + @usableFromInline static let `updateInterval`: JSString = "updateInterval" + @usableFromInline static let `value`: JSString = "value" } - public protocol Any_AudioContextLatencyCategory_or_Double: ConvertibleToJSValue {} extension AudioContextLatencyCategory: Any_AudioContextLatencyCategory_or_Double {} extension Double: Any_AudioContextLatencyCategory_or_Double {} @@ -2480,12 +2670,11 @@ public enum AudioContextLatencyCategory_or_Double: JSValueCompatible, Any_AudioC case audioContextLatencyCategory(AudioContextLatencyCategory) case double(Double) - init(_ audioContextLatencyCategory: AudioContextLatencyCategory) { + public init(_ audioContextLatencyCategory: AudioContextLatencyCategory) { let val: AudioContextLatencyCategory_or_Double = .audioContextLatencyCategory(audioContextLatencyCategory) self = val } - - init(_ double: Double) { + public init(_ double: Double) { let val: AudioContextLatencyCategory_or_Double = .double(double) self = val } @@ -2496,7 +2685,6 @@ public enum AudioContextLatencyCategory_or_Double: JSValueCompatible, Any_AudioC default: return nil } } - public var double: Double? { switch self { case let .double(double): return double @@ -2508,22 +2696,17 @@ public enum AudioContextLatencyCategory_or_Double: JSValueCompatible, Any_AudioC if let audioContextLatencyCategory: AudioContextLatencyCategory = value.fromJSValue() { return .audioContextLatencyCategory(audioContextLatencyCategory) } - if let double: Double = value.fromJSValue() { - return .double(double) - } + if let double: Double = value.fromJSValue() { return .double(double) } return nil } public var jsValue: JSValue { switch self { - case let .audioContextLatencyCategory(audioContextLatencyCategory): - return audioContextLatencyCategory.jsValue - case let .double(double): - return double.jsValue + case let .audioContextLatencyCategory(audioContextLatencyCategory): return audioContextLatencyCategory.jsValue + case let .double(double): return double.jsValue } } } - public protocol Any_AudioSinkInfo_or_String: ConvertibleToJSValue {} extension AudioSinkInfo: Any_AudioSinkInfo_or_String {} extension String: Any_AudioSinkInfo_or_String {} @@ -2532,12 +2715,11 @@ public enum AudioSinkInfo_or_String: JSValueCompatible, Any_AudioSinkInfo_or_Str case audioSinkInfo(AudioSinkInfo) case string(String) - init(_ audioSinkInfo: AudioSinkInfo) { + public init(_ audioSinkInfo: AudioSinkInfo) { let val: AudioSinkInfo_or_String = .audioSinkInfo(audioSinkInfo) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: AudioSinkInfo_or_String = .string(string) self = val } @@ -2548,7 +2730,6 @@ public enum AudioSinkInfo_or_String: JSValueCompatible, Any_AudioSinkInfo_or_Str default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -2557,25 +2738,18 @@ public enum AudioSinkInfo_or_String: JSValueCompatible, Any_AudioSinkInfo_or_Str } public static func construct(from value: JSValue) -> Self? { - if let audioSinkInfo: AudioSinkInfo = value.fromJSValue() { - return .audioSinkInfo(audioSinkInfo) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let audioSinkInfo: AudioSinkInfo = value.fromJSValue() { return .audioSinkInfo(audioSinkInfo) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .audioSinkInfo(audioSinkInfo): - return audioSinkInfo.jsValue - case let .string(string): - return string.jsValue + case let .audioSinkInfo(audioSinkInfo): return audioSinkInfo.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_AudioSinkOptions_or_String: ConvertibleToJSValue {} extension AudioSinkOptions: Any_AudioSinkOptions_or_String {} extension String: Any_AudioSinkOptions_or_String {} @@ -2584,12 +2758,11 @@ public enum AudioSinkOptions_or_String: JSValueCompatible, Any_AudioSinkOptions_ case audioSinkOptions(AudioSinkOptions) case string(String) - init(_ audioSinkOptions: AudioSinkOptions) { + public init(_ audioSinkOptions: AudioSinkOptions) { let val: AudioSinkOptions_or_String = .audioSinkOptions(audioSinkOptions) self = val } - - init(_ string: String) { + public init(_ string: String) { let val: AudioSinkOptions_or_String = .string(string) self = val } @@ -2600,7 +2773,6 @@ public enum AudioSinkOptions_or_String: JSValueCompatible, Any_AudioSinkOptions_ default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -2609,21 +2781,15 @@ public enum AudioSinkOptions_or_String: JSValueCompatible, Any_AudioSinkOptions_ } public static func construct(from value: JSValue) -> Self? { - if let audioSinkOptions: AudioSinkOptions = value.fromJSValue() { - return .audioSinkOptions(audioSinkOptions) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let audioSinkOptions: AudioSinkOptions = value.fromJSValue() { return .audioSinkOptions(audioSinkOptions) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .audioSinkOptions(audioSinkOptions): - return audioSinkOptions.jsValue - case let .string(string): - return string.jsValue + case let .audioSinkOptions(audioSinkOptions): return audioSinkOptions.jsValue + case let .string(string): return string.jsValue } } } diff --git a/Sources/WebGL1/Generated.swift b/Sources/WebGL1/Generated.swift index f8a827b6..ec451602 100644 --- a/Sources/WebGL1/Generated.swift +++ b/Sources/WebGL1/Generated.swift @@ -3,12 +3,18 @@ import DOM import ECMAScript import JavaScriptBigIntSupport -import JavaScriptEventLoop import JavaScriptKit -import WebAnimations import WebAPIBase +import WebAnimations import WebAudio +#if canImport(JavaScriptEventLoop) + import JavaScriptEventLoop +#endif +#if canImport(_Concurrency) + import _Concurrency +#endif + public typealias GLenum = UInt32 public typealias GLboolean = Bool public typealias GLbitfield = UInt32 @@ -16,6 +22,7 @@ public typealias GLbyte = Int8 public typealias GLshort = Int16 public typealias GLint = Int32 public typealias GLsizei = Int32 +public typealias GLintptr = Int32 public typealias GLsizeiptr = Int64 public typealias GLubyte = UInt8 public typealias GLushort = UInt16 @@ -28,33 +35,36 @@ public class WebGLActiveInfo: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var size: GLint + @inlinable public var size: GLint { jsObject[Strings.size].fromJSValue()! } - @ReadonlyAttribute - public var type: GLenum + @inlinable public var type: GLenum { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } } public class WebGLBuffer: WebGLObject { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WebGLBuffer].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.WebGLBuffer].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } -public class WebGLContextAttributes: BridgedDictionary { - public convenience init(alpha: Bool, depth: Bool, stencil: Bool, antialias: Bool, premultipliedAlpha: Bool, preserveDrawingBuffer: Bool, powerPreference: WebGLPowerPreference, failIfMajorPerformanceCaveat: Bool, desynchronized: Bool) { +open class WebGLContextAttributes: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + alpha: Bool? = nil, + depth: Bool? = nil, + stencil: Bool? = nil, + antialias: Bool? = nil, + premultipliedAlpha: Bool? = nil, + preserveDrawingBuffer: Bool? = nil, + powerPreference: WebGLPowerPreference? = nil, + failIfMajorPerformanceCaveat: Bool? = nil, + desynchronized: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.alpha] = _toJSValue(alpha) object[Strings.depth] = _toJSValue(depth) @@ -65,88 +75,84 @@ public class WebGLContextAttributes: BridgedDictionary { object[Strings.powerPreference] = _toJSValue(powerPreference) object[Strings.failIfMajorPerformanceCaveat] = _toJSValue(failIfMajorPerformanceCaveat) object[Strings.desynchronized] = _toJSValue(desynchronized) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) - _depth = ReadWriteAttribute(jsObject: object, name: Strings.depth) - _stencil = ReadWriteAttribute(jsObject: object, name: Strings.stencil) - _antialias = ReadWriteAttribute(jsObject: object, name: Strings.antialias) - _premultipliedAlpha = ReadWriteAttribute(jsObject: object, name: Strings.premultipliedAlpha) - _preserveDrawingBuffer = ReadWriteAttribute(jsObject: object, name: Strings.preserveDrawingBuffer) - _powerPreference = ReadWriteAttribute(jsObject: object, name: Strings.powerPreference) - _failIfMajorPerformanceCaveat = ReadWriteAttribute(jsObject: object, name: Strings.failIfMajorPerformanceCaveat) - _desynchronized = ReadWriteAttribute(jsObject: object, name: Strings.desynchronized) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var alpha: Bool - - @ReadWriteAttribute - public var depth: Bool - - @ReadWriteAttribute - public var stencil: Bool - - @ReadWriteAttribute - public var antialias: Bool - - @ReadWriteAttribute - public var premultipliedAlpha: Bool - - @ReadWriteAttribute - public var preserveDrawingBuffer: Bool + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var powerPreference: WebGLPowerPreference - - @ReadWriteAttribute - public var failIfMajorPerformanceCaveat: Bool - - @ReadWriteAttribute - public var desynchronized: Bool + @inlinable public var alpha: Bool { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } + @inlinable public var depth: Bool { + get { jsObject[Strings.depth].fromJSValue()! } + set { jsObject[Strings.depth] = _toJSValue(newValue) } + } + @inlinable public var stencil: Bool { + get { jsObject[Strings.stencil].fromJSValue()! } + set { jsObject[Strings.stencil] = _toJSValue(newValue) } + } + @inlinable public var antialias: Bool { + get { jsObject[Strings.antialias].fromJSValue()! } + set { jsObject[Strings.antialias] = _toJSValue(newValue) } + } + @inlinable public var premultipliedAlpha: Bool { + get { jsObject[Strings.premultipliedAlpha].fromJSValue()! } + set { jsObject[Strings.premultipliedAlpha] = _toJSValue(newValue) } + } + @inlinable public var preserveDrawingBuffer: Bool { + get { jsObject[Strings.preserveDrawingBuffer].fromJSValue()! } + set { jsObject[Strings.preserveDrawingBuffer] = _toJSValue(newValue) } + } + @inlinable public var powerPreference: WebGLPowerPreference { + get { jsObject[Strings.powerPreference].fromJSValue()! } + set { jsObject[Strings.powerPreference] = _toJSValue(newValue) } + } + @inlinable public var failIfMajorPerformanceCaveat: Bool { + get { jsObject[Strings.failIfMajorPerformanceCaveat].fromJSValue()! } + set { jsObject[Strings.failIfMajorPerformanceCaveat] = _toJSValue(newValue) } + } + @inlinable public var desynchronized: Bool { + get { jsObject[Strings.desynchronized].fromJSValue()! } + set { jsObject[Strings.desynchronized] = _toJSValue(newValue) } + } } - public class WebGLContextEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WebGLContextEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _statusMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.statusMessage) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.WebGLContextEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInit: WebGLContextEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInit)])) } - @ReadonlyAttribute - public var statusMessage: String + @inlinable public var statusMessage: String { jsObject[Strings.statusMessage].fromJSValue()! } } -public class WebGLContextEventInit: BridgedDictionary { - public convenience init(statusMessage: String) { +open class WebGLContextEventInit: EventInit { + + public convenience init(statusMessage: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.statusMessage] = _toJSValue(statusMessage) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _statusMessage = ReadWriteAttribute(jsObject: object, name: Strings.statusMessage) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var statusMessage: String + @inlinable public var statusMessage: String { + get { jsObject[Strings.statusMessage].fromJSValue()! } + set { jsObject[Strings.statusMessage] = _toJSValue(newValue) } + } } - public class WebGLFramebuffer: WebGLObject { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WebGLFramebuffer].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.WebGLFramebuffer].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } open class WebGLObject: JSBridgedClass { @@ -154,9 +160,8 @@ open class WebGLObject: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } public enum WebGLPowerPreference: JSString, JSValueCompatible { @@ -165,33 +170,28 @@ public enum WebGLPowerPreference: JSString, JSValueCompatible { case highPerformance = "high-performance" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class WebGLProgram: WebGLObject { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WebGLProgram].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.WebGLProgram].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class WebGLRenderbuffer: WebGLObject { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WebGLRenderbuffer].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.WebGLRenderbuffer].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } public class WebGLRenderingContext: JSBridgedClass, WebGLRenderingContextBase, WebGLRenderingContextOverloads { @@ -199,1356 +199,1657 @@ public class WebGLRenderingContext: JSBridgedClass, WebGLRenderingContextBase, W public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } public protocol WebGLRenderingContextBase: JSBridgedClass {} -public extension WebGLRenderingContextBase { - @inlinable static var DEPTH_BUFFER_BIT: GLenum { 0x0000_0100 } +extension WebGLRenderingContextBase { + @inlinable public static var DEPTH_BUFFER_BIT: GLenum { 0x0000_0100 } - @inlinable static var STENCIL_BUFFER_BIT: GLenum { 0x0000_0400 } + @inlinable public static var STENCIL_BUFFER_BIT: GLenum { 0x0000_0400 } - @inlinable static var COLOR_BUFFER_BIT: GLenum { 0x0000_4000 } + @inlinable public static var COLOR_BUFFER_BIT: GLenum { 0x0000_4000 } - @inlinable static var POINTS: GLenum { 0x0000 } + @inlinable public static var POINTS: GLenum { 0x0000 } - @inlinable static var LINES: GLenum { 0x0001 } + @inlinable public static var LINES: GLenum { 0x0001 } - @inlinable static var LINE_LOOP: GLenum { 0x0002 } + @inlinable public static var LINE_LOOP: GLenum { 0x0002 } - @inlinable static var LINE_STRIP: GLenum { 0x0003 } + @inlinable public static var LINE_STRIP: GLenum { 0x0003 } - @inlinable static var TRIANGLES: GLenum { 0x0004 } + @inlinable public static var TRIANGLES: GLenum { 0x0004 } - @inlinable static var TRIANGLE_STRIP: GLenum { 0x0005 } + @inlinable public static var TRIANGLE_STRIP: GLenum { 0x0005 } - @inlinable static var TRIANGLE_FAN: GLenum { 0x0006 } + @inlinable public static var TRIANGLE_FAN: GLenum { 0x0006 } - @inlinable static var ZERO: GLenum { 0 } + @inlinable public static var ZERO: GLenum { 0 } - @inlinable static var ONE: GLenum { 1 } + @inlinable public static var ONE: GLenum { 1 } - @inlinable static var SRC_COLOR: GLenum { 0x0300 } + @inlinable public static var SRC_COLOR: GLenum { 0x0300 } - @inlinable static var ONE_MINUS_SRC_COLOR: GLenum { 0x0301 } + @inlinable public static var ONE_MINUS_SRC_COLOR: GLenum { 0x0301 } - @inlinable static var SRC_ALPHA: GLenum { 0x0302 } + @inlinable public static var SRC_ALPHA: GLenum { 0x0302 } - @inlinable static var ONE_MINUS_SRC_ALPHA: GLenum { 0x0303 } + @inlinable public static var ONE_MINUS_SRC_ALPHA: GLenum { 0x0303 } - @inlinable static var DST_ALPHA: GLenum { 0x0304 } + @inlinable public static var DST_ALPHA: GLenum { 0x0304 } - @inlinable static var ONE_MINUS_DST_ALPHA: GLenum { 0x0305 } + @inlinable public static var ONE_MINUS_DST_ALPHA: GLenum { 0x0305 } - @inlinable static var DST_COLOR: GLenum { 0x0306 } + @inlinable public static var DST_COLOR: GLenum { 0x0306 } - @inlinable static var ONE_MINUS_DST_COLOR: GLenum { 0x0307 } + @inlinable public static var ONE_MINUS_DST_COLOR: GLenum { 0x0307 } - @inlinable static var SRC_ALPHA_SATURATE: GLenum { 0x0308 } + @inlinable public static var SRC_ALPHA_SATURATE: GLenum { 0x0308 } - @inlinable static var FUNC_ADD: GLenum { 0x8006 } + @inlinable public static var FUNC_ADD: GLenum { 0x8006 } - @inlinable static var BLEND_EQUATION: GLenum { 0x8009 } + @inlinable public static var BLEND_EQUATION: GLenum { 0x8009 } - @inlinable static var BLEND_EQUATION_RGB: GLenum { 0x8009 } + @inlinable public static var BLEND_EQUATION_RGB: GLenum { 0x8009 } - @inlinable static var BLEND_EQUATION_ALPHA: GLenum { 0x883D } + @inlinable public static var BLEND_EQUATION_ALPHA: GLenum { 0x883D } - @inlinable static var FUNC_SUBTRACT: GLenum { 0x800A } + @inlinable public static var FUNC_SUBTRACT: GLenum { 0x800A } - @inlinable static var FUNC_REVERSE_SUBTRACT: GLenum { 0x800B } + @inlinable public static var FUNC_REVERSE_SUBTRACT: GLenum { 0x800B } - @inlinable static var BLEND_DST_RGB: GLenum { 0x80C8 } + @inlinable public static var BLEND_DST_RGB: GLenum { 0x80C8 } - @inlinable static var BLEND_SRC_RGB: GLenum { 0x80C9 } + @inlinable public static var BLEND_SRC_RGB: GLenum { 0x80C9 } - @inlinable static var BLEND_DST_ALPHA: GLenum { 0x80CA } + @inlinable public static var BLEND_DST_ALPHA: GLenum { 0x80CA } - @inlinable static var BLEND_SRC_ALPHA: GLenum { 0x80CB } + @inlinable public static var BLEND_SRC_ALPHA: GLenum { 0x80CB } - @inlinable static var CONSTANT_COLOR: GLenum { 0x8001 } + @inlinable public static var CONSTANT_COLOR: GLenum { 0x8001 } - @inlinable static var ONE_MINUS_CONSTANT_COLOR: GLenum { 0x8002 } + @inlinable public static var ONE_MINUS_CONSTANT_COLOR: GLenum { 0x8002 } - @inlinable static var CONSTANT_ALPHA: GLenum { 0x8003 } + @inlinable public static var CONSTANT_ALPHA: GLenum { 0x8003 } - @inlinable static var ONE_MINUS_CONSTANT_ALPHA: GLenum { 0x8004 } + @inlinable public static var ONE_MINUS_CONSTANT_ALPHA: GLenum { 0x8004 } - @inlinable static var BLEND_COLOR: GLenum { 0x8005 } + @inlinable public static var BLEND_COLOR: GLenum { 0x8005 } - @inlinable static var ARRAY_BUFFER: GLenum { 0x8892 } + @inlinable public static var ARRAY_BUFFER: GLenum { 0x8892 } - @inlinable static var ELEMENT_ARRAY_BUFFER: GLenum { 0x8893 } + @inlinable public static var ELEMENT_ARRAY_BUFFER: GLenum { 0x8893 } - @inlinable static var ARRAY_BUFFER_BINDING: GLenum { 0x8894 } + @inlinable public static var ARRAY_BUFFER_BINDING: GLenum { 0x8894 } - @inlinable static var ELEMENT_ARRAY_BUFFER_BINDING: GLenum { 0x8895 } + @inlinable public static var ELEMENT_ARRAY_BUFFER_BINDING: GLenum { 0x8895 } - @inlinable static var STREAM_DRAW: GLenum { 0x88E0 } + @inlinable public static var STREAM_DRAW: GLenum { 0x88E0 } - @inlinable static var STATIC_DRAW: GLenum { 0x88E4 } + @inlinable public static var STATIC_DRAW: GLenum { 0x88E4 } - @inlinable static var DYNAMIC_DRAW: GLenum { 0x88E8 } + @inlinable public static var DYNAMIC_DRAW: GLenum { 0x88E8 } - @inlinable static var BUFFER_SIZE: GLenum { 0x8764 } + @inlinable public static var BUFFER_SIZE: GLenum { 0x8764 } - @inlinable static var BUFFER_USAGE: GLenum { 0x8765 } + @inlinable public static var BUFFER_USAGE: GLenum { 0x8765 } - @inlinable static var CURRENT_VERTEX_ATTRIB: GLenum { 0x8626 } + @inlinable public static var CURRENT_VERTEX_ATTRIB: GLenum { 0x8626 } - @inlinable static var FRONT: GLenum { 0x0404 } + @inlinable public static var FRONT: GLenum { 0x0404 } - @inlinable static var BACK: GLenum { 0x0405 } + @inlinable public static var BACK: GLenum { 0x0405 } - @inlinable static var FRONT_AND_BACK: GLenum { 0x0408 } + @inlinable public static var FRONT_AND_BACK: GLenum { 0x0408 } - @inlinable static var CULL_FACE: GLenum { 0x0B44 } + @inlinable public static var CULL_FACE: GLenum { 0x0B44 } - @inlinable static var BLEND: GLenum { 0x0BE2 } + @inlinable public static var BLEND: GLenum { 0x0BE2 } - @inlinable static var DITHER: GLenum { 0x0BD0 } + @inlinable public static var DITHER: GLenum { 0x0BD0 } - @inlinable static var STENCIL_TEST: GLenum { 0x0B90 } + @inlinable public static var STENCIL_TEST: GLenum { 0x0B90 } - @inlinable static var DEPTH_TEST: GLenum { 0x0B71 } + @inlinable public static var DEPTH_TEST: GLenum { 0x0B71 } - @inlinable static var SCISSOR_TEST: GLenum { 0x0C11 } + @inlinable public static var SCISSOR_TEST: GLenum { 0x0C11 } - @inlinable static var POLYGON_OFFSET_FILL: GLenum { 0x8037 } + @inlinable public static var POLYGON_OFFSET_FILL: GLenum { 0x8037 } - @inlinable static var SAMPLE_ALPHA_TO_COVERAGE: GLenum { 0x809E } + @inlinable public static var SAMPLE_ALPHA_TO_COVERAGE: GLenum { 0x809E } - @inlinable static var SAMPLE_COVERAGE: GLenum { 0x80A0 } + @inlinable public static var SAMPLE_COVERAGE: GLenum { 0x80A0 } - @inlinable static var NO_ERROR: GLenum { 0 } + @inlinable public static var NO_ERROR: GLenum { 0 } - @inlinable static var INVALID_ENUM: GLenum { 0x0500 } + @inlinable public static var INVALID_ENUM: GLenum { 0x0500 } - @inlinable static var INVALID_VALUE: GLenum { 0x0501 } + @inlinable public static var INVALID_VALUE: GLenum { 0x0501 } - @inlinable static var INVALID_OPERATION: GLenum { 0x0502 } + @inlinable public static var INVALID_OPERATION: GLenum { 0x0502 } - @inlinable static var OUT_OF_MEMORY: GLenum { 0x0505 } + @inlinable public static var OUT_OF_MEMORY: GLenum { 0x0505 } - @inlinable static var CW: GLenum { 0x0900 } + @inlinable public static var CW: GLenum { 0x0900 } - @inlinable static var CCW: GLenum { 0x0901 } + @inlinable public static var CCW: GLenum { 0x0901 } - @inlinable static var LINE_WIDTH: GLenum { 0x0B21 } + @inlinable public static var LINE_WIDTH: GLenum { 0x0B21 } - @inlinable static var ALIASED_POINT_SIZE_RANGE: GLenum { 0x846D } + @inlinable public static var ALIASED_POINT_SIZE_RANGE: GLenum { 0x846D } - @inlinable static var ALIASED_LINE_WIDTH_RANGE: GLenum { 0x846E } + @inlinable public static var ALIASED_LINE_WIDTH_RANGE: GLenum { 0x846E } - @inlinable static var CULL_FACE_MODE: GLenum { 0x0B45 } + @inlinable public static var CULL_FACE_MODE: GLenum { 0x0B45 } - @inlinable static var FRONT_FACE: GLenum { 0x0B46 } + @inlinable public static var FRONT_FACE: GLenum { 0x0B46 } - @inlinable static var DEPTH_RANGE: GLenum { 0x0B70 } + @inlinable public static var DEPTH_RANGE: GLenum { 0x0B70 } - @inlinable static var DEPTH_WRITEMASK: GLenum { 0x0B72 } + @inlinable public static var DEPTH_WRITEMASK: GLenum { 0x0B72 } - @inlinable static var DEPTH_CLEAR_VALUE: GLenum { 0x0B73 } + @inlinable public static var DEPTH_CLEAR_VALUE: GLenum { 0x0B73 } - @inlinable static var DEPTH_FUNC: GLenum { 0x0B74 } + @inlinable public static var DEPTH_FUNC: GLenum { 0x0B74 } - @inlinable static var STENCIL_CLEAR_VALUE: GLenum { 0x0B91 } + @inlinable public static var STENCIL_CLEAR_VALUE: GLenum { 0x0B91 } - @inlinable static var STENCIL_FUNC: GLenum { 0x0B92 } + @inlinable public static var STENCIL_FUNC: GLenum { 0x0B92 } - @inlinable static var STENCIL_FAIL: GLenum { 0x0B94 } + @inlinable public static var STENCIL_FAIL: GLenum { 0x0B94 } - @inlinable static var STENCIL_PASS_DEPTH_FAIL: GLenum { 0x0B95 } + @inlinable public static var STENCIL_PASS_DEPTH_FAIL: GLenum { 0x0B95 } - @inlinable static var STENCIL_PASS_DEPTH_PASS: GLenum { 0x0B96 } + @inlinable public static var STENCIL_PASS_DEPTH_PASS: GLenum { 0x0B96 } - @inlinable static var STENCIL_REF: GLenum { 0x0B97 } + @inlinable public static var STENCIL_REF: GLenum { 0x0B97 } - @inlinable static var STENCIL_VALUE_MASK: GLenum { 0x0B93 } + @inlinable public static var STENCIL_VALUE_MASK: GLenum { 0x0B93 } - @inlinable static var STENCIL_WRITEMASK: GLenum { 0x0B98 } + @inlinable public static var STENCIL_WRITEMASK: GLenum { 0x0B98 } - @inlinable static var STENCIL_BACK_FUNC: GLenum { 0x8800 } + @inlinable public static var STENCIL_BACK_FUNC: GLenum { 0x8800 } - @inlinable static var STENCIL_BACK_FAIL: GLenum { 0x8801 } + @inlinable public static var STENCIL_BACK_FAIL: GLenum { 0x8801 } - @inlinable static var STENCIL_BACK_PASS_DEPTH_FAIL: GLenum { 0x8802 } + @inlinable public static var STENCIL_BACK_PASS_DEPTH_FAIL: GLenum { 0x8802 } - @inlinable static var STENCIL_BACK_PASS_DEPTH_PASS: GLenum { 0x8803 } + @inlinable public static var STENCIL_BACK_PASS_DEPTH_PASS: GLenum { 0x8803 } - @inlinable static var STENCIL_BACK_REF: GLenum { 0x8CA3 } + @inlinable public static var STENCIL_BACK_REF: GLenum { 0x8CA3 } - @inlinable static var STENCIL_BACK_VALUE_MASK: GLenum { 0x8CA4 } + @inlinable public static var STENCIL_BACK_VALUE_MASK: GLenum { 0x8CA4 } - @inlinable static var STENCIL_BACK_WRITEMASK: GLenum { 0x8CA5 } + @inlinable public static var STENCIL_BACK_WRITEMASK: GLenum { 0x8CA5 } - @inlinable static var VIEWPORT: GLenum { 0x0BA2 } + @inlinable public static var VIEWPORT: GLenum { 0x0BA2 } - @inlinable static var SCISSOR_BOX: GLenum { 0x0C10 } + @inlinable public static var SCISSOR_BOX: GLenum { 0x0C10 } - @inlinable static var COLOR_CLEAR_VALUE: GLenum { 0x0C22 } + @inlinable public static var COLOR_CLEAR_VALUE: GLenum { 0x0C22 } - @inlinable static var COLOR_WRITEMASK: GLenum { 0x0C23 } + @inlinable public static var COLOR_WRITEMASK: GLenum { 0x0C23 } - @inlinable static var UNPACK_ALIGNMENT: GLenum { 0x0CF5 } + @inlinable public static var UNPACK_ALIGNMENT: GLenum { 0x0CF5 } - @inlinable static var PACK_ALIGNMENT: GLenum { 0x0D05 } + @inlinable public static var PACK_ALIGNMENT: GLenum { 0x0D05 } - @inlinable static var MAX_TEXTURE_SIZE: GLenum { 0x0D33 } + @inlinable public static var MAX_TEXTURE_SIZE: GLenum { 0x0D33 } - @inlinable static var MAX_VIEWPORT_DIMS: GLenum { 0x0D3A } + @inlinable public static var MAX_VIEWPORT_DIMS: GLenum { 0x0D3A } - @inlinable static var SUBPIXEL_BITS: GLenum { 0x0D50 } + @inlinable public static var SUBPIXEL_BITS: GLenum { 0x0D50 } - @inlinable static var RED_BITS: GLenum { 0x0D52 } + @inlinable public static var RED_BITS: GLenum { 0x0D52 } - @inlinable static var GREEN_BITS: GLenum { 0x0D53 } + @inlinable public static var GREEN_BITS: GLenum { 0x0D53 } - @inlinable static var BLUE_BITS: GLenum { 0x0D54 } + @inlinable public static var BLUE_BITS: GLenum { 0x0D54 } - @inlinable static var ALPHA_BITS: GLenum { 0x0D55 } + @inlinable public static var ALPHA_BITS: GLenum { 0x0D55 } - @inlinable static var DEPTH_BITS: GLenum { 0x0D56 } + @inlinable public static var DEPTH_BITS: GLenum { 0x0D56 } - @inlinable static var STENCIL_BITS: GLenum { 0x0D57 } + @inlinable public static var STENCIL_BITS: GLenum { 0x0D57 } - @inlinable static var POLYGON_OFFSET_UNITS: GLenum { 0x2A00 } + @inlinable public static var POLYGON_OFFSET_UNITS: GLenum { 0x2A00 } - @inlinable static var POLYGON_OFFSET_FACTOR: GLenum { 0x8038 } + @inlinable public static var POLYGON_OFFSET_FACTOR: GLenum { 0x8038 } - @inlinable static var TEXTURE_BINDING_2D: GLenum { 0x8069 } + @inlinable public static var TEXTURE_BINDING_2D: GLenum { 0x8069 } - @inlinable static var SAMPLE_BUFFERS: GLenum { 0x80A8 } + @inlinable public static var SAMPLE_BUFFERS: GLenum { 0x80A8 } - @inlinable static var SAMPLES: GLenum { 0x80A9 } + @inlinable public static var SAMPLES: GLenum { 0x80A9 } - @inlinable static var SAMPLE_COVERAGE_VALUE: GLenum { 0x80AA } + @inlinable public static var SAMPLE_COVERAGE_VALUE: GLenum { 0x80AA } - @inlinable static var SAMPLE_COVERAGE_INVERT: GLenum { 0x80AB } + @inlinable public static var SAMPLE_COVERAGE_INVERT: GLenum { 0x80AB } - @inlinable static var COMPRESSED_TEXTURE_FORMATS: GLenum { 0x86A3 } + @inlinable public static var COMPRESSED_TEXTURE_FORMATS: GLenum { 0x86A3 } - @inlinable static var DONT_CARE: GLenum { 0x1100 } + @inlinable public static var DONT_CARE: GLenum { 0x1100 } - @inlinable static var FASTEST: GLenum { 0x1101 } + @inlinable public static var FASTEST: GLenum { 0x1101 } - @inlinable static var NICEST: GLenum { 0x1102 } + @inlinable public static var NICEST: GLenum { 0x1102 } - @inlinable static var GENERATE_MIPMAP_HINT: GLenum { 0x8192 } + @inlinable public static var GENERATE_MIPMAP_HINT: GLenum { 0x8192 } - @inlinable static var BYTE: GLenum { 0x1400 } + @inlinable public static var BYTE: GLenum { 0x1400 } - @inlinable static var UNSIGNED_BYTE: GLenum { 0x1401 } + @inlinable public static var UNSIGNED_BYTE: GLenum { 0x1401 } - @inlinable static var SHORT: GLenum { 0x1402 } + @inlinable public static var SHORT: GLenum { 0x1402 } - @inlinable static var UNSIGNED_SHORT: GLenum { 0x1403 } + @inlinable public static var UNSIGNED_SHORT: GLenum { 0x1403 } - @inlinable static var INT: GLenum { 0x1404 } + @inlinable public static var INT: GLenum { 0x1404 } - @inlinable static var UNSIGNED_INT: GLenum { 0x1405 } + @inlinable public static var UNSIGNED_INT: GLenum { 0x1405 } - @inlinable static var FLOAT: GLenum { 0x1406 } + @inlinable public static var FLOAT: GLenum { 0x1406 } - @inlinable static var DEPTH_COMPONENT: GLenum { 0x1902 } + @inlinable public static var DEPTH_COMPONENT: GLenum { 0x1902 } - @inlinable static var ALPHA: GLenum { 0x1906 } + @inlinable public static var ALPHA: GLenum { 0x1906 } - @inlinable static var RGB: GLenum { 0x1907 } + @inlinable public static var RGB: GLenum { 0x1907 } - @inlinable static var RGBA: GLenum { 0x1908 } + @inlinable public static var RGBA: GLenum { 0x1908 } - @inlinable static var LUMINANCE: GLenum { 0x1909 } + @inlinable public static var LUMINANCE: GLenum { 0x1909 } - @inlinable static var LUMINANCE_ALPHA: GLenum { 0x190A } + @inlinable public static var LUMINANCE_ALPHA: GLenum { 0x190A } - @inlinable static var UNSIGNED_SHORT_4_4_4_4: GLenum { 0x8033 } + @inlinable public static var UNSIGNED_SHORT_4_4_4_4: GLenum { 0x8033 } - @inlinable static var UNSIGNED_SHORT_5_5_5_1: GLenum { 0x8034 } + @inlinable public static var UNSIGNED_SHORT_5_5_5_1: GLenum { 0x8034 } - @inlinable static var UNSIGNED_SHORT_5_6_5: GLenum { 0x8363 } + @inlinable public static var UNSIGNED_SHORT_5_6_5: GLenum { 0x8363 } - @inlinable static var FRAGMENT_SHADER: GLenum { 0x8B30 } + @inlinable public static var FRAGMENT_SHADER: GLenum { 0x8B30 } - @inlinable static var VERTEX_SHADER: GLenum { 0x8B31 } + @inlinable public static var VERTEX_SHADER: GLenum { 0x8B31 } - @inlinable static var MAX_VERTEX_ATTRIBS: GLenum { 0x8869 } + @inlinable public static var MAX_VERTEX_ATTRIBS: GLenum { 0x8869 } - @inlinable static var MAX_VERTEX_UNIFORM_VECTORS: GLenum { 0x8DFB } + @inlinable public static var MAX_VERTEX_UNIFORM_VECTORS: GLenum { 0x8DFB } - @inlinable static var MAX_VARYING_VECTORS: GLenum { 0x8DFC } + @inlinable public static var MAX_VARYING_VECTORS: GLenum { 0x8DFC } - @inlinable static var MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum { 0x8B4D } + @inlinable public static var MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum { 0x8B4D } - @inlinable static var MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum { 0x8B4C } + @inlinable public static var MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum { 0x8B4C } - @inlinable static var MAX_TEXTURE_IMAGE_UNITS: GLenum { 0x8872 } + @inlinable public static var MAX_TEXTURE_IMAGE_UNITS: GLenum { 0x8872 } - @inlinable static var MAX_FRAGMENT_UNIFORM_VECTORS: GLenum { 0x8DFD } + @inlinable public static var MAX_FRAGMENT_UNIFORM_VECTORS: GLenum { 0x8DFD } - @inlinable static var SHADER_TYPE: GLenum { 0x8B4F } + @inlinable public static var SHADER_TYPE: GLenum { 0x8B4F } - @inlinable static var DELETE_STATUS: GLenum { 0x8B80 } + @inlinable public static var DELETE_STATUS: GLenum { 0x8B80 } - @inlinable static var LINK_STATUS: GLenum { 0x8B82 } + @inlinable public static var LINK_STATUS: GLenum { 0x8B82 } - @inlinable static var VALIDATE_STATUS: GLenum { 0x8B83 } + @inlinable public static var VALIDATE_STATUS: GLenum { 0x8B83 } - @inlinable static var ATTACHED_SHADERS: GLenum { 0x8B85 } + @inlinable public static var ATTACHED_SHADERS: GLenum { 0x8B85 } - @inlinable static var ACTIVE_UNIFORMS: GLenum { 0x8B86 } + @inlinable public static var ACTIVE_UNIFORMS: GLenum { 0x8B86 } - @inlinable static var ACTIVE_ATTRIBUTES: GLenum { 0x8B89 } + @inlinable public static var ACTIVE_ATTRIBUTES: GLenum { 0x8B89 } - @inlinable static var SHADING_LANGUAGE_VERSION: GLenum { 0x8B8C } + @inlinable public static var SHADING_LANGUAGE_VERSION: GLenum { 0x8B8C } - @inlinable static var CURRENT_PROGRAM: GLenum { 0x8B8D } + @inlinable public static var CURRENT_PROGRAM: GLenum { 0x8B8D } - @inlinable static var NEVER: GLenum { 0x0200 } + @inlinable public static var NEVER: GLenum { 0x0200 } - @inlinable static var LESS: GLenum { 0x0201 } + @inlinable public static var LESS: GLenum { 0x0201 } - @inlinable static var EQUAL: GLenum { 0x0202 } + @inlinable public static var EQUAL: GLenum { 0x0202 } - @inlinable static var LEQUAL: GLenum { 0x0203 } + @inlinable public static var LEQUAL: GLenum { 0x0203 } - @inlinable static var GREATER: GLenum { 0x0204 } + @inlinable public static var GREATER: GLenum { 0x0204 } - @inlinable static var NOTEQUAL: GLenum { 0x0205 } + @inlinable public static var NOTEQUAL: GLenum { 0x0205 } - @inlinable static var GEQUAL: GLenum { 0x0206 } + @inlinable public static var GEQUAL: GLenum { 0x0206 } - @inlinable static var ALWAYS: GLenum { 0x0207 } + @inlinable public static var ALWAYS: GLenum { 0x0207 } - @inlinable static var KEEP: GLenum { 0x1E00 } + @inlinable public static var KEEP: GLenum { 0x1E00 } - @inlinable static var REPLACE: GLenum { 0x1E01 } + @inlinable public static var REPLACE: GLenum { 0x1E01 } - @inlinable static var INCR: GLenum { 0x1E02 } + @inlinable public static var INCR: GLenum { 0x1E02 } - @inlinable static var DECR: GLenum { 0x1E03 } + @inlinable public static var DECR: GLenum { 0x1E03 } - @inlinable static var INVERT: GLenum { 0x150A } + @inlinable public static var INVERT: GLenum { 0x150A } - @inlinable static var INCR_WRAP: GLenum { 0x8507 } + @inlinable public static var INCR_WRAP: GLenum { 0x8507 } - @inlinable static var DECR_WRAP: GLenum { 0x8508 } + @inlinable public static var DECR_WRAP: GLenum { 0x8508 } - @inlinable static var VENDOR: GLenum { 0x1F00 } + @inlinable public static var VENDOR: GLenum { 0x1F00 } - @inlinable static var RENDERER: GLenum { 0x1F01 } + @inlinable public static var RENDERER: GLenum { 0x1F01 } - @inlinable static var VERSION: GLenum { 0x1F02 } + @inlinable public static var VERSION: GLenum { 0x1F02 } - @inlinable static var NEAREST: GLenum { 0x2600 } + @inlinable public static var NEAREST: GLenum { 0x2600 } - @inlinable static var LINEAR: GLenum { 0x2601 } + @inlinable public static var LINEAR: GLenum { 0x2601 } - @inlinable static var NEAREST_MIPMAP_NEAREST: GLenum { 0x2700 } + @inlinable public static var NEAREST_MIPMAP_NEAREST: GLenum { 0x2700 } - @inlinable static var LINEAR_MIPMAP_NEAREST: GLenum { 0x2701 } + @inlinable public static var LINEAR_MIPMAP_NEAREST: GLenum { 0x2701 } - @inlinable static var NEAREST_MIPMAP_LINEAR: GLenum { 0x2702 } + @inlinable public static var NEAREST_MIPMAP_LINEAR: GLenum { 0x2702 } - @inlinable static var LINEAR_MIPMAP_LINEAR: GLenum { 0x2703 } + @inlinable public static var LINEAR_MIPMAP_LINEAR: GLenum { 0x2703 } - @inlinable static var TEXTURE_MAG_FILTER: GLenum { 0x2800 } + @inlinable public static var TEXTURE_MAG_FILTER: GLenum { 0x2800 } - @inlinable static var TEXTURE_MIN_FILTER: GLenum { 0x2801 } + @inlinable public static var TEXTURE_MIN_FILTER: GLenum { 0x2801 } - @inlinable static var TEXTURE_WRAP_S: GLenum { 0x2802 } + @inlinable public static var TEXTURE_WRAP_S: GLenum { 0x2802 } - @inlinable static var TEXTURE_WRAP_T: GLenum { 0x2803 } + @inlinable public static var TEXTURE_WRAP_T: GLenum { 0x2803 } - @inlinable static var TEXTURE_2D: GLenum { 0x0DE1 } + @inlinable public static var TEXTURE_2D: GLenum { 0x0DE1 } - @inlinable static var TEXTURE: GLenum { 0x1702 } + @inlinable public static var TEXTURE: GLenum { 0x1702 } - @inlinable static var TEXTURE_CUBE_MAP: GLenum { 0x8513 } + @inlinable public static var TEXTURE_CUBE_MAP: GLenum { 0x8513 } - @inlinable static var TEXTURE_BINDING_CUBE_MAP: GLenum { 0x8514 } + @inlinable public static var TEXTURE_BINDING_CUBE_MAP: GLenum { 0x8514 } - @inlinable static var TEXTURE_CUBE_MAP_POSITIVE_X: GLenum { 0x8515 } + @inlinable public static var TEXTURE_CUBE_MAP_POSITIVE_X: GLenum { 0x8515 } - @inlinable static var TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum { 0x8516 } + @inlinable public static var TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum { 0x8516 } - @inlinable static var TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum { 0x8517 } + @inlinable public static var TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum { 0x8517 } - @inlinable static var TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum { 0x8518 } + @inlinable public static var TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum { 0x8518 } - @inlinable static var TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum { 0x8519 } + @inlinable public static var TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum { 0x8519 } - @inlinable static var TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum { 0x851A } + @inlinable public static var TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum { 0x851A } - @inlinable static var MAX_CUBE_MAP_TEXTURE_SIZE: GLenum { 0x851C } + @inlinable public static var MAX_CUBE_MAP_TEXTURE_SIZE: GLenum { 0x851C } - @inlinable static var TEXTURE0: GLenum { 0x84C0 } + @inlinable public static var TEXTURE0: GLenum { 0x84C0 } - @inlinable static var TEXTURE1: GLenum { 0x84C1 } + @inlinable public static var TEXTURE1: GLenum { 0x84C1 } - @inlinable static var TEXTURE2: GLenum { 0x84C2 } + @inlinable public static var TEXTURE2: GLenum { 0x84C2 } - @inlinable static var TEXTURE3: GLenum { 0x84C3 } + @inlinable public static var TEXTURE3: GLenum { 0x84C3 } - @inlinable static var TEXTURE4: GLenum { 0x84C4 } + @inlinable public static var TEXTURE4: GLenum { 0x84C4 } - @inlinable static var TEXTURE5: GLenum { 0x84C5 } + @inlinable public static var TEXTURE5: GLenum { 0x84C5 } - @inlinable static var TEXTURE6: GLenum { 0x84C6 } + @inlinable public static var TEXTURE6: GLenum { 0x84C6 } - @inlinable static var TEXTURE7: GLenum { 0x84C7 } + @inlinable public static var TEXTURE7: GLenum { 0x84C7 } - @inlinable static var TEXTURE8: GLenum { 0x84C8 } + @inlinable public static var TEXTURE8: GLenum { 0x84C8 } - @inlinable static var TEXTURE9: GLenum { 0x84C9 } + @inlinable public static var TEXTURE9: GLenum { 0x84C9 } - @inlinable static var TEXTURE10: GLenum { 0x84CA } + @inlinable public static var TEXTURE10: GLenum { 0x84CA } - @inlinable static var TEXTURE11: GLenum { 0x84CB } + @inlinable public static var TEXTURE11: GLenum { 0x84CB } - @inlinable static var TEXTURE12: GLenum { 0x84CC } + @inlinable public static var TEXTURE12: GLenum { 0x84CC } - @inlinable static var TEXTURE13: GLenum { 0x84CD } + @inlinable public static var TEXTURE13: GLenum { 0x84CD } - @inlinable static var TEXTURE14: GLenum { 0x84CE } + @inlinable public static var TEXTURE14: GLenum { 0x84CE } - @inlinable static var TEXTURE15: GLenum { 0x84CF } + @inlinable public static var TEXTURE15: GLenum { 0x84CF } - @inlinable static var TEXTURE16: GLenum { 0x84D0 } + @inlinable public static var TEXTURE16: GLenum { 0x84D0 } - @inlinable static var TEXTURE17: GLenum { 0x84D1 } + @inlinable public static var TEXTURE17: GLenum { 0x84D1 } - @inlinable static var TEXTURE18: GLenum { 0x84D2 } + @inlinable public static var TEXTURE18: GLenum { 0x84D2 } - @inlinable static var TEXTURE19: GLenum { 0x84D3 } + @inlinable public static var TEXTURE19: GLenum { 0x84D3 } - @inlinable static var TEXTURE20: GLenum { 0x84D4 } + @inlinable public static var TEXTURE20: GLenum { 0x84D4 } - @inlinable static var TEXTURE21: GLenum { 0x84D5 } + @inlinable public static var TEXTURE21: GLenum { 0x84D5 } - @inlinable static var TEXTURE22: GLenum { 0x84D6 } + @inlinable public static var TEXTURE22: GLenum { 0x84D6 } - @inlinable static var TEXTURE23: GLenum { 0x84D7 } + @inlinable public static var TEXTURE23: GLenum { 0x84D7 } - @inlinable static var TEXTURE24: GLenum { 0x84D8 } + @inlinable public static var TEXTURE24: GLenum { 0x84D8 } - @inlinable static var TEXTURE25: GLenum { 0x84D9 } + @inlinable public static var TEXTURE25: GLenum { 0x84D9 } - @inlinable static var TEXTURE26: GLenum { 0x84DA } + @inlinable public static var TEXTURE26: GLenum { 0x84DA } - @inlinable static var TEXTURE27: GLenum { 0x84DB } + @inlinable public static var TEXTURE27: GLenum { 0x84DB } - @inlinable static var TEXTURE28: GLenum { 0x84DC } + @inlinable public static var TEXTURE28: GLenum { 0x84DC } - @inlinable static var TEXTURE29: GLenum { 0x84DD } + @inlinable public static var TEXTURE29: GLenum { 0x84DD } - @inlinable static var TEXTURE30: GLenum { 0x84DE } + @inlinable public static var TEXTURE30: GLenum { 0x84DE } - @inlinable static var TEXTURE31: GLenum { 0x84DF } + @inlinable public static var TEXTURE31: GLenum { 0x84DF } - @inlinable static var ACTIVE_TEXTURE: GLenum { 0x84E0 } + @inlinable public static var ACTIVE_TEXTURE: GLenum { 0x84E0 } - @inlinable static var REPEAT: GLenum { 0x2901 } + @inlinable public static var REPEAT: GLenum { 0x2901 } - @inlinable static var CLAMP_TO_EDGE: GLenum { 0x812F } + @inlinable public static var CLAMP_TO_EDGE: GLenum { 0x812F } - @inlinable static var MIRRORED_REPEAT: GLenum { 0x8370 } + @inlinable public static var MIRRORED_REPEAT: GLenum { 0x8370 } - @inlinable static var FLOAT_VEC2: GLenum { 0x8B50 } + @inlinable public static var FLOAT_VEC2: GLenum { 0x8B50 } - @inlinable static var FLOAT_VEC3: GLenum { 0x8B51 } + @inlinable public static var FLOAT_VEC3: GLenum { 0x8B51 } - @inlinable static var FLOAT_VEC4: GLenum { 0x8B52 } + @inlinable public static var FLOAT_VEC4: GLenum { 0x8B52 } - @inlinable static var INT_VEC2: GLenum { 0x8B53 } + @inlinable public static var INT_VEC2: GLenum { 0x8B53 } - @inlinable static var INT_VEC3: GLenum { 0x8B54 } + @inlinable public static var INT_VEC3: GLenum { 0x8B54 } - @inlinable static var INT_VEC4: GLenum { 0x8B55 } + @inlinable public static var INT_VEC4: GLenum { 0x8B55 } - @inlinable static var BOOL: GLenum { 0x8B56 } + @inlinable public static var BOOL: GLenum { 0x8B56 } - @inlinable static var BOOL_VEC2: GLenum { 0x8B57 } + @inlinable public static var BOOL_VEC2: GLenum { 0x8B57 } - @inlinable static var BOOL_VEC3: GLenum { 0x8B58 } + @inlinable public static var BOOL_VEC3: GLenum { 0x8B58 } - @inlinable static var BOOL_VEC4: GLenum { 0x8B59 } + @inlinable public static var BOOL_VEC4: GLenum { 0x8B59 } - @inlinable static var FLOAT_MAT2: GLenum { 0x8B5A } + @inlinable public static var FLOAT_MAT2: GLenum { 0x8B5A } - @inlinable static var FLOAT_MAT3: GLenum { 0x8B5B } + @inlinable public static var FLOAT_MAT3: GLenum { 0x8B5B } - @inlinable static var FLOAT_MAT4: GLenum { 0x8B5C } + @inlinable public static var FLOAT_MAT4: GLenum { 0x8B5C } - @inlinable static var SAMPLER_2D: GLenum { 0x8B5E } + @inlinable public static var SAMPLER_2D: GLenum { 0x8B5E } - @inlinable static var SAMPLER_CUBE: GLenum { 0x8B60 } + @inlinable public static var SAMPLER_CUBE: GLenum { 0x8B60 } - @inlinable static var VERTEX_ATTRIB_ARRAY_ENABLED: GLenum { 0x8622 } + @inlinable public static var VERTEX_ATTRIB_ARRAY_ENABLED: GLenum { 0x8622 } - @inlinable static var VERTEX_ATTRIB_ARRAY_SIZE: GLenum { 0x8623 } + @inlinable public static var VERTEX_ATTRIB_ARRAY_SIZE: GLenum { 0x8623 } - @inlinable static var VERTEX_ATTRIB_ARRAY_STRIDE: GLenum { 0x8624 } + @inlinable public static var VERTEX_ATTRIB_ARRAY_STRIDE: GLenum { 0x8624 } - @inlinable static var VERTEX_ATTRIB_ARRAY_TYPE: GLenum { 0x8625 } + @inlinable public static var VERTEX_ATTRIB_ARRAY_TYPE: GLenum { 0x8625 } - @inlinable static var VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum { 0x886A } + @inlinable public static var VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum { 0x886A } - @inlinable static var VERTEX_ATTRIB_ARRAY_POINTER: GLenum { 0x8645 } + @inlinable public static var VERTEX_ATTRIB_ARRAY_POINTER: GLenum { 0x8645 } - @inlinable static var VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum { 0x889F } + @inlinable public static var VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum { 0x889F } - @inlinable static var IMPLEMENTATION_COLOR_READ_TYPE: GLenum { 0x8B9A } + @inlinable public static var IMPLEMENTATION_COLOR_READ_TYPE: GLenum { 0x8B9A } - @inlinable static var IMPLEMENTATION_COLOR_READ_FORMAT: GLenum { 0x8B9B } + @inlinable public static var IMPLEMENTATION_COLOR_READ_FORMAT: GLenum { 0x8B9B } - @inlinable static var COMPILE_STATUS: GLenum { 0x8B81 } + @inlinable public static var COMPILE_STATUS: GLenum { 0x8B81 } - @inlinable static var LOW_FLOAT: GLenum { 0x8DF0 } + @inlinable public static var LOW_FLOAT: GLenum { 0x8DF0 } - @inlinable static var MEDIUM_FLOAT: GLenum { 0x8DF1 } + @inlinable public static var MEDIUM_FLOAT: GLenum { 0x8DF1 } - @inlinable static var HIGH_FLOAT: GLenum { 0x8DF2 } + @inlinable public static var HIGH_FLOAT: GLenum { 0x8DF2 } - @inlinable static var LOW_INT: GLenum { 0x8DF3 } + @inlinable public static var LOW_INT: GLenum { 0x8DF3 } - @inlinable static var MEDIUM_INT: GLenum { 0x8DF4 } + @inlinable public static var MEDIUM_INT: GLenum { 0x8DF4 } - @inlinable static var HIGH_INT: GLenum { 0x8DF5 } + @inlinable public static var HIGH_INT: GLenum { 0x8DF5 } - @inlinable static var FRAMEBUFFER: GLenum { 0x8D40 } + @inlinable public static var FRAMEBUFFER: GLenum { 0x8D40 } - @inlinable static var RENDERBUFFER: GLenum { 0x8D41 } + @inlinable public static var RENDERBUFFER: GLenum { 0x8D41 } - @inlinable static var RGBA4: GLenum { 0x8056 } + @inlinable public static var RGBA4: GLenum { 0x8056 } - @inlinable static var RGB5_A1: GLenum { 0x8057 } + @inlinable public static var RGB5_A1: GLenum { 0x8057 } - @inlinable static var RGB565: GLenum { 0x8D62 } + @inlinable public static var RGB565: GLenum { 0x8D62 } - @inlinable static var DEPTH_COMPONENT16: GLenum { 0x81A5 } + @inlinable public static var DEPTH_COMPONENT16: GLenum { 0x81A5 } - @inlinable static var STENCIL_INDEX8: GLenum { 0x8D48 } + @inlinable public static var STENCIL_INDEX8: GLenum { 0x8D48 } - @inlinable static var DEPTH_STENCIL: GLenum { 0x84F9 } + @inlinable public static var DEPTH_STENCIL: GLenum { 0x84F9 } - @inlinable static var RENDERBUFFER_WIDTH: GLenum { 0x8D42 } + @inlinable public static var RENDERBUFFER_WIDTH: GLenum { 0x8D42 } - @inlinable static var RENDERBUFFER_HEIGHT: GLenum { 0x8D43 } + @inlinable public static var RENDERBUFFER_HEIGHT: GLenum { 0x8D43 } - @inlinable static var RENDERBUFFER_INTERNAL_FORMAT: GLenum { 0x8D44 } + @inlinable public static var RENDERBUFFER_INTERNAL_FORMAT: GLenum { 0x8D44 } - @inlinable static var RENDERBUFFER_RED_SIZE: GLenum { 0x8D50 } + @inlinable public static var RENDERBUFFER_RED_SIZE: GLenum { 0x8D50 } - @inlinable static var RENDERBUFFER_GREEN_SIZE: GLenum { 0x8D51 } + @inlinable public static var RENDERBUFFER_GREEN_SIZE: GLenum { 0x8D51 } - @inlinable static var RENDERBUFFER_BLUE_SIZE: GLenum { 0x8D52 } + @inlinable public static var RENDERBUFFER_BLUE_SIZE: GLenum { 0x8D52 } - @inlinable static var RENDERBUFFER_ALPHA_SIZE: GLenum { 0x8D53 } + @inlinable public static var RENDERBUFFER_ALPHA_SIZE: GLenum { 0x8D53 } - @inlinable static var RENDERBUFFER_DEPTH_SIZE: GLenum { 0x8D54 } + @inlinable public static var RENDERBUFFER_DEPTH_SIZE: GLenum { 0x8D54 } - @inlinable static var RENDERBUFFER_STENCIL_SIZE: GLenum { 0x8D55 } + @inlinable public static var RENDERBUFFER_STENCIL_SIZE: GLenum { 0x8D55 } - @inlinable static var FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum { 0x8CD0 } + @inlinable public static var FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum { 0x8CD0 } - @inlinable static var FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum { 0x8CD1 } + @inlinable public static var FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum { 0x8CD1 } - @inlinable static var FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum { 0x8CD2 } + @inlinable public static var FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum { 0x8CD2 } - @inlinable static var FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum { 0x8CD3 } + @inlinable public static var FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum { 0x8CD3 } - @inlinable static var COLOR_ATTACHMENT0: GLenum { 0x8CE0 } + @inlinable public static var COLOR_ATTACHMENT0: GLenum { 0x8CE0 } - @inlinable static var DEPTH_ATTACHMENT: GLenum { 0x8D00 } + @inlinable public static var DEPTH_ATTACHMENT: GLenum { 0x8D00 } - @inlinable static var STENCIL_ATTACHMENT: GLenum { 0x8D20 } + @inlinable public static var STENCIL_ATTACHMENT: GLenum { 0x8D20 } - @inlinable static var DEPTH_STENCIL_ATTACHMENT: GLenum { 0x821A } + @inlinable public static var DEPTH_STENCIL_ATTACHMENT: GLenum { 0x821A } - @inlinable static var NONE: GLenum { 0 } + @inlinable public static var NONE: GLenum { 0 } - @inlinable static var FRAMEBUFFER_COMPLETE: GLenum { 0x8CD5 } + @inlinable public static var FRAMEBUFFER_COMPLETE: GLenum { 0x8CD5 } - @inlinable static var FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum { 0x8CD6 } + @inlinable public static var FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum { 0x8CD6 } - @inlinable static var FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum { 0x8CD7 } + @inlinable public static var FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum { 0x8CD7 } - @inlinable static var FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum { 0x8CD9 } + @inlinable public static var FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum { 0x8CD9 } - @inlinable static var FRAMEBUFFER_UNSUPPORTED: GLenum { 0x8CDD } + @inlinable public static var FRAMEBUFFER_UNSUPPORTED: GLenum { 0x8CDD } - @inlinable static var FRAMEBUFFER_BINDING: GLenum { 0x8CA6 } + @inlinable public static var FRAMEBUFFER_BINDING: GLenum { 0x8CA6 } - @inlinable static var RENDERBUFFER_BINDING: GLenum { 0x8CA7 } + @inlinable public static var RENDERBUFFER_BINDING: GLenum { 0x8CA7 } - @inlinable static var MAX_RENDERBUFFER_SIZE: GLenum { 0x84E8 } + @inlinable public static var MAX_RENDERBUFFER_SIZE: GLenum { 0x84E8 } - @inlinable static var INVALID_FRAMEBUFFER_OPERATION: GLenum { 0x0506 } + @inlinable public static var INVALID_FRAMEBUFFER_OPERATION: GLenum { 0x0506 } - @inlinable static var UNPACK_FLIP_Y_WEBGL: GLenum { 0x9240 } + @inlinable public static var UNPACK_FLIP_Y_WEBGL: GLenum { 0x9240 } - @inlinable static var UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum { 0x9241 } + @inlinable public static var UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum { 0x9241 } - @inlinable static var CONTEXT_LOST_WEBGL: GLenum { 0x9242 } + @inlinable public static var CONTEXT_LOST_WEBGL: GLenum { 0x9242 } - @inlinable static var UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum { 0x9243 } + @inlinable public static var UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum { 0x9243 } - @inlinable static var BROWSER_DEFAULT_WEBGL: GLenum { 0x9244 } + @inlinable public static var BROWSER_DEFAULT_WEBGL: GLenum { 0x9244 } - @inlinable var canvas: HTMLCanvasElement_or_OffscreenCanvas { jsObject[Strings.canvas].fromJSValue()! } + @inlinable public var canvas: HTMLCanvasElement_or_OffscreenCanvas { jsObject[Strings.canvas].fromJSValue()! } - @inlinable var drawingBufferWidth: GLsizei { jsObject[Strings.drawingBufferWidth].fromJSValue()! } + @inlinable public var drawingBufferWidth: GLsizei { jsObject[Strings.drawingBufferWidth].fromJSValue()! } - @inlinable var drawingBufferHeight: GLsizei { jsObject[Strings.drawingBufferHeight].fromJSValue()! } + @inlinable public var drawingBufferHeight: GLsizei { jsObject[Strings.drawingBufferHeight].fromJSValue()! } - @inlinable var drawingBufferColorSpace: PredefinedColorSpace { + @inlinable public var drawingBufferColorSpace: PredefinedColorSpace { get { jsObject[Strings.drawingBufferColorSpace].fromJSValue()! } - nonmutating set { jsObject[Strings.drawingBufferColorSpace] = _toJSValue(newValue) } + set { jsObject[Strings.drawingBufferColorSpace] = _toJSValue(newValue) } } - @inlinable var unpackColorSpace: PredefinedColorSpace { + @inlinable public var unpackColorSpace: PredefinedColorSpace { get { jsObject[Strings.unpackColorSpace].fromJSValue()! } - nonmutating set { jsObject[Strings.unpackColorSpace] = _toJSValue(newValue) } + set { jsObject[Strings.unpackColorSpace] = _toJSValue(newValue) } } - @inlinable func getContextAttributes() -> WebGLContextAttributes? { + @inlinable public func getContextAttributes() -> WebGLContextAttributes? { let this = jsObject return this[Strings.getContextAttributes].function!(this: this, arguments: []).fromJSValue() } - @inlinable func isContextLost() -> Bool { + @inlinable public func isContextLost() -> Bool { let this = jsObject return this[Strings.isContextLost].function!(this: this, arguments: []).fromJSValue()! } - @inlinable func getSupportedExtensions() -> [String]? { + @inlinable public func getSupportedExtensions() -> [String]? { let this = jsObject return this[Strings.getSupportedExtensions].function!(this: this, arguments: []).fromJSValue() } - @inlinable func getExtension(name: String) -> JSObject? { + @inlinable public func getExtension(name: String) -> JSObject? { let this = jsObject return this[Strings.getExtension].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable func activeTexture(texture: GLenum) { + @inlinable public func activeTexture(texture: GLenum) { let this = jsObject _ = this[Strings.activeTexture].function!(this: this, arguments: [_toJSValue(texture)]) } - @inlinable func attachShader(program: WebGLProgram, shader: WebGLShader) { + @inlinable public func attachShader(program: WebGLProgram, shader: WebGLShader) { let this = jsObject _ = this[Strings.attachShader].function!(this: this, arguments: [_toJSValue(program), _toJSValue(shader)]) } - @inlinable func bindAttribLocation(program: WebGLProgram, index: GLuint, name: String) { + @inlinable public func bindAttribLocation(program: WebGLProgram, index: GLuint, name: String) { let this = jsObject - _ = this[Strings.bindAttribLocation].function!(this: this, arguments: [_toJSValue(program), _toJSValue(index), _toJSValue(name)]) + _ = this[Strings.bindAttribLocation].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(index), _toJSValue(name)] + ) } - @inlinable func bindBuffer(target: GLenum, buffer: WebGLBuffer?) { + @inlinable public func bindBuffer(target: GLenum, buffer: WebGLBuffer?) { let this = jsObject _ = this[Strings.bindBuffer].function!(this: this, arguments: [_toJSValue(target), _toJSValue(buffer)]) } - @inlinable func bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer?) { + @inlinable public func bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer?) { let this = jsObject - _ = this[Strings.bindFramebuffer].function!(this: this, arguments: [_toJSValue(target), _toJSValue(framebuffer)]) + _ = this[Strings.bindFramebuffer].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(framebuffer)] + ) } - @inlinable func bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer?) { + @inlinable public func bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer?) { let this = jsObject - _ = this[Strings.bindRenderbuffer].function!(this: this, arguments: [_toJSValue(target), _toJSValue(renderbuffer)]) + _ = this[Strings.bindRenderbuffer].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(renderbuffer)] + ) } - @inlinable func bindTexture(target: GLenum, texture: WebGLTexture?) { + @inlinable public func bindTexture(target: GLenum, texture: WebGLTexture?) { let this = jsObject _ = this[Strings.bindTexture].function!(this: this, arguments: [_toJSValue(target), _toJSValue(texture)]) } - @inlinable func blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) { + @inlinable public func blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) { let this = jsObject - _ = this[Strings.blendColor].function!(this: this, arguments: [_toJSValue(red), _toJSValue(green), _toJSValue(blue), _toJSValue(alpha)]) + _ = this[Strings.blendColor].function!( + this: this, + arguments: [_toJSValue(red), _toJSValue(green), _toJSValue(blue), _toJSValue(alpha)] + ) } - @inlinable func blendEquation(mode: GLenum) { + @inlinable public func blendEquation(mode: GLenum) { let this = jsObject _ = this[Strings.blendEquation].function!(this: this, arguments: [_toJSValue(mode)]) } - @inlinable func blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum) { + @inlinable public func blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum) { let this = jsObject - _ = this[Strings.blendEquationSeparate].function!(this: this, arguments: [_toJSValue(modeRGB), _toJSValue(modeAlpha)]) + _ = this[Strings.blendEquationSeparate].function!( + this: this, + arguments: [_toJSValue(modeRGB), _toJSValue(modeAlpha)] + ) } - @inlinable func blendFunc(sfactor: GLenum, dfactor: GLenum) { + @inlinable public func blendFunc(sfactor: GLenum, dfactor: GLenum) { let this = jsObject _ = this[Strings.blendFunc].function!(this: this, arguments: [_toJSValue(sfactor), _toJSValue(dfactor)]) } - @inlinable func blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) { + @inlinable public func blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) { let this = jsObject - _ = this[Strings.blendFuncSeparate].function!(this: this, arguments: [_toJSValue(srcRGB), _toJSValue(dstRGB), _toJSValue(srcAlpha), _toJSValue(dstAlpha)]) + _ = this[Strings.blendFuncSeparate].function!( + this: this, + arguments: [_toJSValue(srcRGB), _toJSValue(dstRGB), _toJSValue(srcAlpha), _toJSValue(dstAlpha)] + ) } - @inlinable func checkFramebufferStatus(target: GLenum) -> GLenum { + @inlinable public func checkFramebufferStatus(target: GLenum) -> GLenum { let this = jsObject - return this[Strings.checkFramebufferStatus].function!(this: this, arguments: [_toJSValue(target)]).fromJSValue()! + return this[Strings.checkFramebufferStatus].function!(this: this, arguments: [_toJSValue(target)]) + .fromJSValue()! } - @inlinable func clear(mask: GLbitfield) { + @inlinable public func clear(mask: GLbitfield) { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: [_toJSValue(mask)]) } - @inlinable func clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) { + @inlinable public func clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) { let this = jsObject - _ = this[Strings.clearColor].function!(this: this, arguments: [_toJSValue(red), _toJSValue(green), _toJSValue(blue), _toJSValue(alpha)]) + _ = this[Strings.clearColor].function!( + this: this, + arguments: [_toJSValue(red), _toJSValue(green), _toJSValue(blue), _toJSValue(alpha)] + ) } - @inlinable func clearDepth(depth: GLclampf) { + @inlinable public func clearDepth(depth: GLclampf) { let this = jsObject _ = this[Strings.clearDepth].function!(this: this, arguments: [_toJSValue(depth)]) } - @inlinable func clearStencil(s: GLint) { + @inlinable public func clearStencil(s: GLint) { let this = jsObject _ = this[Strings.clearStencil].function!(this: this, arguments: [_toJSValue(s)]) } - @inlinable func colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) { + @inlinable public func colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) { let this = jsObject - _ = this[Strings.colorMask].function!(this: this, arguments: [_toJSValue(red), _toJSValue(green), _toJSValue(blue), _toJSValue(alpha)]) + _ = this[Strings.colorMask].function!( + this: this, + arguments: [_toJSValue(red), _toJSValue(green), _toJSValue(blue), _toJSValue(alpha)] + ) } - @inlinable func compileShader(shader: WebGLShader) { + @inlinable public func compileShader(shader: WebGLShader) { let this = jsObject _ = this[Strings.compileShader].function!(this: this, arguments: [_toJSValue(shader)]) } - @inlinable func copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) { - let this = jsObject - _ = this[Strings.copyTexImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), _toJSValue(border)]) - } - - @inlinable func copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) { - let this = jsObject - _ = this[Strings.copyTexSubImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)]) - } - - @inlinable func createBuffer() -> WebGLBuffer? { + @inlinable public func copyTexImage2D( + target: GLenum, + level: GLint, + internalformat: GLenum, + x: GLint, + y: GLint, + width: GLsizei, + height: GLsizei, + border: GLint + ) { + let this = jsObject + _ = this[Strings.copyTexImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(x), _toJSValue(y), + _toJSValue(width), _toJSValue(height), _toJSValue(border), + ] + ) + } + + @inlinable public func copyTexSubImage2D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + x: GLint, + y: GLint, + width: GLsizei, + height: GLsizei + ) { + let this = jsObject + _ = this[Strings.copyTexSubImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(x), + _toJSValue(y), _toJSValue(width), _toJSValue(height), + ] + ) + } + + @inlinable public func createBuffer() -> WebGLBuffer? { let this = jsObject return this[Strings.createBuffer].function!(this: this, arguments: []).fromJSValue() } - @inlinable func createFramebuffer() -> WebGLFramebuffer? { + @inlinable public func createFramebuffer() -> WebGLFramebuffer? { let this = jsObject return this[Strings.createFramebuffer].function!(this: this, arguments: []).fromJSValue() } - @inlinable func createProgram() -> WebGLProgram? { + @inlinable public func createProgram() -> WebGLProgram? { let this = jsObject return this[Strings.createProgram].function!(this: this, arguments: []).fromJSValue() } - @inlinable func createRenderbuffer() -> WebGLRenderbuffer? { + @inlinable public func createRenderbuffer() -> WebGLRenderbuffer? { let this = jsObject return this[Strings.createRenderbuffer].function!(this: this, arguments: []).fromJSValue() } - @inlinable func createShader(type: GLenum) -> WebGLShader? { + @inlinable public func createShader(type: GLenum) -> WebGLShader? { let this = jsObject return this[Strings.createShader].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue() } - @inlinable func createTexture() -> WebGLTexture? { + @inlinable public func createTexture() -> WebGLTexture? { let this = jsObject return this[Strings.createTexture].function!(this: this, arguments: []).fromJSValue() } - @inlinable func cullFace(mode: GLenum) { + @inlinable public func cullFace(mode: GLenum) { let this = jsObject _ = this[Strings.cullFace].function!(this: this, arguments: [_toJSValue(mode)]) } - @inlinable func deleteBuffer(buffer: WebGLBuffer?) { + @inlinable public func deleteBuffer(buffer: WebGLBuffer?) { let this = jsObject _ = this[Strings.deleteBuffer].function!(this: this, arguments: [_toJSValue(buffer)]) } - @inlinable func deleteFramebuffer(framebuffer: WebGLFramebuffer?) { + @inlinable public func deleteFramebuffer(framebuffer: WebGLFramebuffer?) { let this = jsObject _ = this[Strings.deleteFramebuffer].function!(this: this, arguments: [_toJSValue(framebuffer)]) } - @inlinable func deleteProgram(program: WebGLProgram?) { + @inlinable public func deleteProgram(program: WebGLProgram?) { let this = jsObject _ = this[Strings.deleteProgram].function!(this: this, arguments: [_toJSValue(program)]) } - @inlinable func deleteRenderbuffer(renderbuffer: WebGLRenderbuffer?) { + @inlinable public func deleteRenderbuffer(renderbuffer: WebGLRenderbuffer?) { let this = jsObject _ = this[Strings.deleteRenderbuffer].function!(this: this, arguments: [_toJSValue(renderbuffer)]) } - @inlinable func deleteShader(shader: WebGLShader?) { + @inlinable public func deleteShader(shader: WebGLShader?) { let this = jsObject _ = this[Strings.deleteShader].function!(this: this, arguments: [_toJSValue(shader)]) } - @inlinable func deleteTexture(texture: WebGLTexture?) { + @inlinable public func deleteTexture(texture: WebGLTexture?) { let this = jsObject _ = this[Strings.deleteTexture].function!(this: this, arguments: [_toJSValue(texture)]) } - @inlinable func depthFunc(func: GLenum) { + @inlinable public func depthFunc(`func`: GLenum) { let this = jsObject _ = this[Strings.depthFunc].function!(this: this, arguments: [_toJSValue(`func`)]) } - @inlinable func depthMask(flag: GLboolean) { + @inlinable public func depthMask(flag: GLboolean) { let this = jsObject _ = this[Strings.depthMask].function!(this: this, arguments: [_toJSValue(flag)]) } - @inlinable func depthRange(zNear: GLclampf, zFar: GLclampf) { + @inlinable public func depthRange(zNear: GLclampf, zFar: GLclampf) { let this = jsObject _ = this[Strings.depthRange].function!(this: this, arguments: [_toJSValue(zNear), _toJSValue(zFar)]) } - @inlinable func detachShader(program: WebGLProgram, shader: WebGLShader) { + @inlinable public func detachShader(program: WebGLProgram, shader: WebGLShader) { let this = jsObject _ = this[Strings.detachShader].function!(this: this, arguments: [_toJSValue(program), _toJSValue(shader)]) } - @inlinable func disable(cap: GLenum) { + @inlinable public func disable(cap: GLenum) { let this = jsObject _ = this[Strings.disable].function!(this: this, arguments: [_toJSValue(cap)]) } - @inlinable func disableVertexAttribArray(index: GLuint) { + @inlinable public func disableVertexAttribArray(index: GLuint) { let this = jsObject _ = this[Strings.disableVertexAttribArray].function!(this: this, arguments: [_toJSValue(index)]) } - @inlinable func drawArrays(mode: GLenum, first: GLint, count: GLsizei) { + @inlinable public func drawArrays(mode: GLenum, first: GLint, count: GLsizei) { let this = jsObject - _ = this[Strings.drawArrays].function!(this: this, arguments: [_toJSValue(mode), _toJSValue(first), _toJSValue(count)]) + _ = this[Strings.drawArrays].function!( + this: this, + arguments: [_toJSValue(mode), _toJSValue(first), _toJSValue(count)] + ) } - @inlinable func drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) { + @inlinable public func drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) { let this = jsObject - _ = this[Strings.drawElements].function!(this: this, arguments: [_toJSValue(mode), _toJSValue(count), _toJSValue(type), _toJSValue(offset)]) + _ = this[Strings.drawElements].function!( + this: this, + arguments: [_toJSValue(mode), _toJSValue(count), _toJSValue(type), _toJSValue(offset)] + ) } - @inlinable func enable(cap: GLenum) { + @inlinable public func enable(cap: GLenum) { let this = jsObject _ = this[Strings.enable].function!(this: this, arguments: [_toJSValue(cap)]) } - @inlinable func enableVertexAttribArray(index: GLuint) { + @inlinable public func enableVertexAttribArray(index: GLuint) { let this = jsObject _ = this[Strings.enableVertexAttribArray].function!(this: this, arguments: [_toJSValue(index)]) } - @inlinable func finish() { + @inlinable public func finish() { let this = jsObject _ = this[Strings.finish].function!(this: this, arguments: []) } - @inlinable func flush() { + @inlinable public func flush() { let this = jsObject _ = this[Strings.flush].function!(this: this, arguments: []) } - @inlinable func framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer?) { + @inlinable public func framebufferRenderbuffer( + target: GLenum, + attachment: GLenum, + renderbuffertarget: GLenum, + renderbuffer: WebGLRenderbuffer? + ) { let this = jsObject - _ = this[Strings.framebufferRenderbuffer].function!(this: this, arguments: [_toJSValue(target), _toJSValue(attachment), _toJSValue(renderbuffertarget), _toJSValue(renderbuffer)]) + _ = this[Strings.framebufferRenderbuffer].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(attachment), _toJSValue(renderbuffertarget), _toJSValue(renderbuffer), + ] + ) } - @inlinable func framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture?, level: GLint) { + @inlinable public func framebufferTexture2D( + target: GLenum, + attachment: GLenum, + textarget: GLenum, + texture: WebGLTexture?, + level: GLint + ) { let this = jsObject - _ = this[Strings.framebufferTexture2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(attachment), _toJSValue(textarget), _toJSValue(texture), _toJSValue(level)]) + _ = this[Strings.framebufferTexture2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(attachment), _toJSValue(textarget), _toJSValue(texture), + _toJSValue(level), + ] + ) } - @inlinable func frontFace(mode: GLenum) { + @inlinable public func frontFace(mode: GLenum) { let this = jsObject _ = this[Strings.frontFace].function!(this: this, arguments: [_toJSValue(mode)]) } - @inlinable func generateMipmap(target: GLenum) { + @inlinable public func generateMipmap(target: GLenum) { let this = jsObject _ = this[Strings.generateMipmap].function!(this: this, arguments: [_toJSValue(target)]) } - @inlinable func getActiveAttrib(program: WebGLProgram, index: GLuint) -> WebGLActiveInfo? { + @inlinable public func getActiveAttrib(program: WebGLProgram, index: GLuint) -> WebGLActiveInfo? { let this = jsObject - return this[Strings.getActiveAttrib].function!(this: this, arguments: [_toJSValue(program), _toJSValue(index)]).fromJSValue() + return this[Strings.getActiveAttrib].function!(this: this, arguments: [_toJSValue(program), _toJSValue(index)]) + .fromJSValue() } - @inlinable func getActiveUniform(program: WebGLProgram, index: GLuint) -> WebGLActiveInfo? { + @inlinable public func getActiveUniform(program: WebGLProgram, index: GLuint) -> WebGLActiveInfo? { let this = jsObject - return this[Strings.getActiveUniform].function!(this: this, arguments: [_toJSValue(program), _toJSValue(index)]).fromJSValue() + return this[Strings.getActiveUniform].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(index)] + ).fromJSValue() } - @inlinable func getAttachedShaders(program: WebGLProgram) -> [WebGLShader]? { + @inlinable public func getAttachedShaders(program: WebGLProgram) -> [WebGLShader]? { let this = jsObject return this[Strings.getAttachedShaders].function!(this: this, arguments: [_toJSValue(program)]).fromJSValue() } - @inlinable func getAttribLocation(program: WebGLProgram, name: String) -> GLint { + @inlinable public func getAttribLocation(program: WebGLProgram, name: String) -> GLint { let this = jsObject - return this[Strings.getAttribLocation].function!(this: this, arguments: [_toJSValue(program), _toJSValue(name)]).fromJSValue()! + return this[Strings.getAttribLocation].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(name)] + ).fromJSValue()! } - @inlinable func getBufferParameter(target: GLenum, pname: GLenum) -> JSValue { + @inlinable public func getBufferParameter(target: GLenum, pname: GLenum) -> JSValue { let this = jsObject - return this[Strings.getBufferParameter].function!(this: this, arguments: [_toJSValue(target), _toJSValue(pname)]).fromJSValue()! + return this[Strings.getBufferParameter].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(pname)] + ).fromJSValue()! } - @inlinable func getParameter(pname: GLenum) -> JSValue { + @inlinable public func getParameter(pname: GLenum) -> JSValue { let this = jsObject return this[Strings.getParameter].function!(this: this, arguments: [_toJSValue(pname)]).fromJSValue()! } - @inlinable func getError() -> GLenum { + @inlinable public func getError() -> GLenum { let this = jsObject return this[Strings.getError].function!(this: this, arguments: []).fromJSValue()! } - @inlinable func getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum) -> JSValue { + @inlinable public func getFramebufferAttachmentParameter( + target: GLenum, + attachment: GLenum, + pname: GLenum + ) -> JSValue { let this = jsObject - return this[Strings.getFramebufferAttachmentParameter].function!(this: this, arguments: [_toJSValue(target), _toJSValue(attachment), _toJSValue(pname)]).fromJSValue()! + return this[Strings.getFramebufferAttachmentParameter].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(attachment), _toJSValue(pname)] + ).fromJSValue()! } - @inlinable func getProgramParameter(program: WebGLProgram, pname: GLenum) -> JSValue { + @inlinable public func getProgramParameter(program: WebGLProgram, pname: GLenum) -> JSValue { let this = jsObject - return this[Strings.getProgramParameter].function!(this: this, arguments: [_toJSValue(program), _toJSValue(pname)]).fromJSValue()! + return this[Strings.getProgramParameter].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(pname)] + ).fromJSValue()! } - @inlinable func getProgramInfoLog(program: WebGLProgram) -> String? { + @inlinable public func getProgramInfoLog(program: WebGLProgram) -> String? { let this = jsObject return this[Strings.getProgramInfoLog].function!(this: this, arguments: [_toJSValue(program)]).fromJSValue() } - @inlinable func getRenderbufferParameter(target: GLenum, pname: GLenum) -> JSValue { + @inlinable public func getRenderbufferParameter(target: GLenum, pname: GLenum) -> JSValue { let this = jsObject - return this[Strings.getRenderbufferParameter].function!(this: this, arguments: [_toJSValue(target), _toJSValue(pname)]).fromJSValue()! + return this[Strings.getRenderbufferParameter].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(pname)] + ).fromJSValue()! } - @inlinable func getShaderParameter(shader: WebGLShader, pname: GLenum) -> JSValue { + @inlinable public func getShaderParameter(shader: WebGLShader, pname: GLenum) -> JSValue { let this = jsObject - return this[Strings.getShaderParameter].function!(this: this, arguments: [_toJSValue(shader), _toJSValue(pname)]).fromJSValue()! + return this[Strings.getShaderParameter].function!( + this: this, + arguments: [_toJSValue(shader), _toJSValue(pname)] + ).fromJSValue()! } - @inlinable func getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum) -> WebGLShaderPrecisionFormat? { + @inlinable public func getShaderPrecisionFormat( + shadertype: GLenum, + precisiontype: GLenum + ) -> WebGLShaderPrecisionFormat? { let this = jsObject - return this[Strings.getShaderPrecisionFormat].function!(this: this, arguments: [_toJSValue(shadertype), _toJSValue(precisiontype)]).fromJSValue() + return this[Strings.getShaderPrecisionFormat].function!( + this: this, + arguments: [_toJSValue(shadertype), _toJSValue(precisiontype)] + ).fromJSValue() } - @inlinable func getShaderInfoLog(shader: WebGLShader) -> String? { + @inlinable public func getShaderInfoLog(shader: WebGLShader) -> String? { let this = jsObject return this[Strings.getShaderInfoLog].function!(this: this, arguments: [_toJSValue(shader)]).fromJSValue() } - @inlinable func getShaderSource(shader: WebGLShader) -> String? { + @inlinable public func getShaderSource(shader: WebGLShader) -> String? { let this = jsObject return this[Strings.getShaderSource].function!(this: this, arguments: [_toJSValue(shader)]).fromJSValue() } - @inlinable func getTexParameter(target: GLenum, pname: GLenum) -> JSValue { + @inlinable public func getTexParameter(target: GLenum, pname: GLenum) -> JSValue { let this = jsObject - return this[Strings.getTexParameter].function!(this: this, arguments: [_toJSValue(target), _toJSValue(pname)]).fromJSValue()! + return this[Strings.getTexParameter].function!(this: this, arguments: [_toJSValue(target), _toJSValue(pname)]) + .fromJSValue()! } - @inlinable func getUniform(program: WebGLProgram, location: WebGLUniformLocation) -> JSValue { + @inlinable public func getUniform(program: WebGLProgram, location: WebGLUniformLocation) -> JSValue { let this = jsObject - return this[Strings.getUniform].function!(this: this, arguments: [_toJSValue(program), _toJSValue(location)]).fromJSValue()! + return this[Strings.getUniform].function!(this: this, arguments: [_toJSValue(program), _toJSValue(location)]) + .fromJSValue()! } - @inlinable func getUniformLocation(program: WebGLProgram, name: String) -> WebGLUniformLocation? { + @inlinable public func getUniformLocation(program: WebGLProgram, name: String) -> WebGLUniformLocation? { let this = jsObject - return this[Strings.getUniformLocation].function!(this: this, arguments: [_toJSValue(program), _toJSValue(name)]).fromJSValue() + return this[Strings.getUniformLocation].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(name)] + ).fromJSValue() } - @inlinable func getVertexAttrib(index: GLuint, pname: GLenum) -> JSValue { + @inlinable public func getVertexAttrib(index: GLuint, pname: GLenum) -> JSValue { let this = jsObject - return this[Strings.getVertexAttrib].function!(this: this, arguments: [_toJSValue(index), _toJSValue(pname)]).fromJSValue()! + return this[Strings.getVertexAttrib].function!(this: this, arguments: [_toJSValue(index), _toJSValue(pname)]) + .fromJSValue()! } - @inlinable func getVertexAttribOffset(index: GLuint, pname: GLenum) -> GLintptr { + @inlinable public func getVertexAttribOffset(index: GLuint, pname: GLenum) -> GLintptr { let this = jsObject - return this[Strings.getVertexAttribOffset].function!(this: this, arguments: [_toJSValue(index), _toJSValue(pname)]).fromJSValue()! + return this[Strings.getVertexAttribOffset].function!( + this: this, + arguments: [_toJSValue(index), _toJSValue(pname)] + ).fromJSValue()! } - @inlinable func hint(target: GLenum, mode: GLenum) { + @inlinable public func hint(target: GLenum, mode: GLenum) { let this = jsObject _ = this[Strings.hint].function!(this: this, arguments: [_toJSValue(target), _toJSValue(mode)]) } - @inlinable func isBuffer(buffer: WebGLBuffer?) -> GLboolean { + @inlinable public func isBuffer(buffer: WebGLBuffer?) -> GLboolean { let this = jsObject return this[Strings.isBuffer].function!(this: this, arguments: [_toJSValue(buffer)]).fromJSValue()! } - @inlinable func isEnabled(cap: GLenum) -> GLboolean { + @inlinable public func isEnabled(cap: GLenum) -> GLboolean { let this = jsObject return this[Strings.isEnabled].function!(this: this, arguments: [_toJSValue(cap)]).fromJSValue()! } - @inlinable func isFramebuffer(framebuffer: WebGLFramebuffer?) -> GLboolean { + @inlinable public func isFramebuffer(framebuffer: WebGLFramebuffer?) -> GLboolean { let this = jsObject return this[Strings.isFramebuffer].function!(this: this, arguments: [_toJSValue(framebuffer)]).fromJSValue()! } - @inlinable func isProgram(program: WebGLProgram?) -> GLboolean { + @inlinable public func isProgram(program: WebGLProgram?) -> GLboolean { let this = jsObject return this[Strings.isProgram].function!(this: this, arguments: [_toJSValue(program)]).fromJSValue()! } - @inlinable func isRenderbuffer(renderbuffer: WebGLRenderbuffer?) -> GLboolean { + @inlinable public func isRenderbuffer(renderbuffer: WebGLRenderbuffer?) -> GLboolean { let this = jsObject return this[Strings.isRenderbuffer].function!(this: this, arguments: [_toJSValue(renderbuffer)]).fromJSValue()! } - @inlinable func isShader(shader: WebGLShader?) -> GLboolean { + @inlinable public func isShader(shader: WebGLShader?) -> GLboolean { let this = jsObject return this[Strings.isShader].function!(this: this, arguments: [_toJSValue(shader)]).fromJSValue()! } - @inlinable func isTexture(texture: WebGLTexture?) -> GLboolean { + @inlinable public func isTexture(texture: WebGLTexture?) -> GLboolean { let this = jsObject return this[Strings.isTexture].function!(this: this, arguments: [_toJSValue(texture)]).fromJSValue()! } - @inlinable func lineWidth(width: GLfloat) { + @inlinable public func lineWidth(width: GLfloat) { let this = jsObject _ = this[Strings.lineWidth].function!(this: this, arguments: [_toJSValue(width)]) } - @inlinable func linkProgram(program: WebGLProgram) { + @inlinable public func linkProgram(program: WebGLProgram) { let this = jsObject _ = this[Strings.linkProgram].function!(this: this, arguments: [_toJSValue(program)]) } - @inlinable func pixelStorei(pname: GLenum, param: GLint) { + @inlinable public func pixelStorei(pname: GLenum, param: GLint) { let this = jsObject _ = this[Strings.pixelStorei].function!(this: this, arguments: [_toJSValue(pname), _toJSValue(param)]) } - @inlinable func polygonOffset(factor: GLfloat, units: GLfloat) { + @inlinable public func polygonOffset(factor: GLfloat, units: GLfloat) { let this = jsObject _ = this[Strings.polygonOffset].function!(this: this, arguments: [_toJSValue(factor), _toJSValue(units)]) } - @inlinable func renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) { + @inlinable public func renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) + { let this = jsObject - _ = this[Strings.renderbufferStorage].function!(this: this, arguments: [_toJSValue(target), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height)]) + _ = this[Strings.renderbufferStorage].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height)] + ) } - @inlinable func sampleCoverage(value: GLclampf, invert: GLboolean) { + @inlinable public func sampleCoverage(value: GLclampf, invert: GLboolean) { let this = jsObject _ = this[Strings.sampleCoverage].function!(this: this, arguments: [_toJSValue(value), _toJSValue(invert)]) } - @inlinable func scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei) { + @inlinable public func scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei) { let this = jsObject - _ = this[Strings.scissor].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)]) + _ = this[Strings.scissor].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)] + ) } - @inlinable func shaderSource(shader: WebGLShader, source: String) { + @inlinable public func shaderSource(shader: WebGLShader, source: String) { let this = jsObject _ = this[Strings.shaderSource].function!(this: this, arguments: [_toJSValue(shader), _toJSValue(source)]) } - @inlinable func stencilFunc(func: GLenum, ref: GLint, mask: GLuint) { + @inlinable public func stencilFunc(`func`: GLenum, ref: GLint, mask: GLuint) { let this = jsObject - _ = this[Strings.stencilFunc].function!(this: this, arguments: [_toJSValue(`func`), _toJSValue(ref), _toJSValue(mask)]) + _ = this[Strings.stencilFunc].function!( + this: this, + arguments: [_toJSValue(`func`), _toJSValue(ref), _toJSValue(mask)] + ) } - @inlinable func stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint) { + @inlinable public func stencilFuncSeparate(face: GLenum, `func`: GLenum, ref: GLint, mask: GLuint) { let this = jsObject - _ = this[Strings.stencilFuncSeparate].function!(this: this, arguments: [_toJSValue(face), _toJSValue(`func`), _toJSValue(ref), _toJSValue(mask)]) + _ = this[Strings.stencilFuncSeparate].function!( + this: this, + arguments: [_toJSValue(face), _toJSValue(`func`), _toJSValue(ref), _toJSValue(mask)] + ) } - @inlinable func stencilMask(mask: GLuint) { + @inlinable public func stencilMask(mask: GLuint) { let this = jsObject _ = this[Strings.stencilMask].function!(this: this, arguments: [_toJSValue(mask)]) } - @inlinable func stencilMaskSeparate(face: GLenum, mask: GLuint) { + @inlinable public func stencilMaskSeparate(face: GLenum, mask: GLuint) { let this = jsObject _ = this[Strings.stencilMaskSeparate].function!(this: this, arguments: [_toJSValue(face), _toJSValue(mask)]) } - @inlinable func stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum) { + @inlinable public func stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum) { let this = jsObject - _ = this[Strings.stencilOp].function!(this: this, arguments: [_toJSValue(fail), _toJSValue(zfail), _toJSValue(zpass)]) + _ = this[Strings.stencilOp].function!( + this: this, + arguments: [_toJSValue(fail), _toJSValue(zfail), _toJSValue(zpass)] + ) } - @inlinable func stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) { + @inlinable public func stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) { let this = jsObject - _ = this[Strings.stencilOpSeparate].function!(this: this, arguments: [_toJSValue(face), _toJSValue(fail), _toJSValue(zfail), _toJSValue(zpass)]) + _ = this[Strings.stencilOpSeparate].function!( + this: this, + arguments: [_toJSValue(face), _toJSValue(fail), _toJSValue(zfail), _toJSValue(zpass)] + ) } - @inlinable func texParameterf(target: GLenum, pname: GLenum, param: GLfloat) { + @inlinable public func texParameterf(target: GLenum, pname: GLenum, param: GLfloat) { let this = jsObject - _ = this[Strings.texParameterf].function!(this: this, arguments: [_toJSValue(target), _toJSValue(pname), _toJSValue(param)]) + _ = this[Strings.texParameterf].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(pname), _toJSValue(param)] + ) } - @inlinable func texParameteri(target: GLenum, pname: GLenum, param: GLint) { + @inlinable public func texParameteri(target: GLenum, pname: GLenum, param: GLint) { let this = jsObject - _ = this[Strings.texParameteri].function!(this: this, arguments: [_toJSValue(target), _toJSValue(pname), _toJSValue(param)]) + _ = this[Strings.texParameteri].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(pname), _toJSValue(param)] + ) } - @inlinable func uniform1f(location: WebGLUniformLocation?, x: GLfloat) { + @inlinable public func uniform1f(location: WebGLUniformLocation?, x: GLfloat) { let this = jsObject _ = this[Strings.uniform1f].function!(this: this, arguments: [_toJSValue(location), _toJSValue(x)]) } - @inlinable func uniform2f(location: WebGLUniformLocation?, x: GLfloat, y: GLfloat) { + @inlinable public func uniform2f(location: WebGLUniformLocation?, x: GLfloat, y: GLfloat) { let this = jsObject - _ = this[Strings.uniform2f].function!(this: this, arguments: [_toJSValue(location), _toJSValue(x), _toJSValue(y)]) + _ = this[Strings.uniform2f].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(x), _toJSValue(y)] + ) } - @inlinable func uniform3f(location: WebGLUniformLocation?, x: GLfloat, y: GLfloat, z: GLfloat) { + @inlinable public func uniform3f(location: WebGLUniformLocation?, x: GLfloat, y: GLfloat, z: GLfloat) { let this = jsObject - _ = this[Strings.uniform3f].function!(this: this, arguments: [_toJSValue(location), _toJSValue(x), _toJSValue(y), _toJSValue(z)]) + _ = this[Strings.uniform3f].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(x), _toJSValue(y), _toJSValue(z)] + ) } - @inlinable func uniform4f(location: WebGLUniformLocation?, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) { + @inlinable public func uniform4f(location: WebGLUniformLocation?, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) { let this = jsObject - _ = this[Strings.uniform4f].function!(this: this, arguments: [_toJSValue(location), _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)]) + _ = this[Strings.uniform4f].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)] + ) } - @inlinable func uniform1i(location: WebGLUniformLocation?, x: GLint) { + @inlinable public func uniform1i(location: WebGLUniformLocation?, x: GLint) { let this = jsObject _ = this[Strings.uniform1i].function!(this: this, arguments: [_toJSValue(location), _toJSValue(x)]) } - @inlinable func uniform2i(location: WebGLUniformLocation?, x: GLint, y: GLint) { + @inlinable public func uniform2i(location: WebGLUniformLocation?, x: GLint, y: GLint) { let this = jsObject - _ = this[Strings.uniform2i].function!(this: this, arguments: [_toJSValue(location), _toJSValue(x), _toJSValue(y)]) + _ = this[Strings.uniform2i].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(x), _toJSValue(y)] + ) } - @inlinable func uniform3i(location: WebGLUniformLocation?, x: GLint, y: GLint, z: GLint) { + @inlinable public func uniform3i(location: WebGLUniformLocation?, x: GLint, y: GLint, z: GLint) { let this = jsObject - _ = this[Strings.uniform3i].function!(this: this, arguments: [_toJSValue(location), _toJSValue(x), _toJSValue(y), _toJSValue(z)]) + _ = this[Strings.uniform3i].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(x), _toJSValue(y), _toJSValue(z)] + ) } - @inlinable func uniform4i(location: WebGLUniformLocation?, x: GLint, y: GLint, z: GLint, w: GLint) { + @inlinable public func uniform4i(location: WebGLUniformLocation?, x: GLint, y: GLint, z: GLint, w: GLint) { let this = jsObject - _ = this[Strings.uniform4i].function!(this: this, arguments: [_toJSValue(location), _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)]) + _ = this[Strings.uniform4i].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)] + ) } - @inlinable func useProgram(program: WebGLProgram?) { + @inlinable public func useProgram(program: WebGLProgram?) { let this = jsObject _ = this[Strings.useProgram].function!(this: this, arguments: [_toJSValue(program)]) } - @inlinable func validateProgram(program: WebGLProgram) { + @inlinable public func validateProgram(program: WebGLProgram) { let this = jsObject _ = this[Strings.validateProgram].function!(this: this, arguments: [_toJSValue(program)]) } - @inlinable func vertexAttrib1f(index: GLuint, x: GLfloat) { + @inlinable public func vertexAttrib1f(index: GLuint, x: GLfloat) { let this = jsObject _ = this[Strings.vertexAttrib1f].function!(this: this, arguments: [_toJSValue(index), _toJSValue(x)]) } - @inlinable func vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat) { + @inlinable public func vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat) { let this = jsObject - _ = this[Strings.vertexAttrib2f].function!(this: this, arguments: [_toJSValue(index), _toJSValue(x), _toJSValue(y)]) + _ = this[Strings.vertexAttrib2f].function!( + this: this, + arguments: [_toJSValue(index), _toJSValue(x), _toJSValue(y)] + ) } - @inlinable func vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) { + @inlinable public func vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) { let this = jsObject - _ = this[Strings.vertexAttrib3f].function!(this: this, arguments: [_toJSValue(index), _toJSValue(x), _toJSValue(y), _toJSValue(z)]) + _ = this[Strings.vertexAttrib3f].function!( + this: this, + arguments: [_toJSValue(index), _toJSValue(x), _toJSValue(y), _toJSValue(z)] + ) } - @inlinable func vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) { + @inlinable public func vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) { let this = jsObject - _ = this[Strings.vertexAttrib4f].function!(this: this, arguments: [_toJSValue(index), _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)]) + _ = this[Strings.vertexAttrib4f].function!( + this: this, + arguments: [_toJSValue(index), _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)] + ) } - @inlinable func vertexAttrib1fv(index: GLuint, values: Float32List) { + @inlinable public func vertexAttrib1fv(index: GLuint, values: Float32List) { let this = jsObject _ = this[Strings.vertexAttrib1fv].function!(this: this, arguments: [_toJSValue(index), _toJSValue(values)]) } - @inlinable func vertexAttrib2fv(index: GLuint, values: Float32List) { + @inlinable public func vertexAttrib2fv(index: GLuint, values: Float32List) { let this = jsObject _ = this[Strings.vertexAttrib2fv].function!(this: this, arguments: [_toJSValue(index), _toJSValue(values)]) } - @inlinable func vertexAttrib3fv(index: GLuint, values: Float32List) { + @inlinable public func vertexAttrib3fv(index: GLuint, values: Float32List) { let this = jsObject _ = this[Strings.vertexAttrib3fv].function!(this: this, arguments: [_toJSValue(index), _toJSValue(values)]) } - @inlinable func vertexAttrib4fv(index: GLuint, values: Float32List) { + @inlinable public func vertexAttrib4fv(index: GLuint, values: Float32List) { let this = jsObject _ = this[Strings.vertexAttrib4fv].function!(this: this, arguments: [_toJSValue(index), _toJSValue(values)]) } - @inlinable func vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr) { + @inlinable public func vertexAttribPointer( + index: GLuint, + size: GLint, + type: GLenum, + normalized: GLboolean, + stride: GLsizei, + offset: GLintptr + ) { let this = jsObject - _ = this[Strings.vertexAttribPointer].function!(this: this, arguments: [_toJSValue(index), _toJSValue(size), _toJSValue(type), _toJSValue(normalized), _toJSValue(stride), _toJSValue(offset)]) + _ = this[Strings.vertexAttribPointer].function!( + this: this, + arguments: [ + _toJSValue(index), _toJSValue(size), _toJSValue(type), _toJSValue(normalized), _toJSValue(stride), + _toJSValue(offset), + ] + ) } - @inlinable func viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei) { + @inlinable public func viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei) { let this = jsObject - _ = this[Strings.viewport].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)]) + _ = this[Strings.viewport].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)] + ) } } - public protocol WebGLRenderingContextOverloads: JSBridgedClass {} -public extension WebGLRenderingContextOverloads { - @inlinable func bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) { - let this = jsObject - _ = this[Strings.bufferData].function!(this: this, arguments: [_toJSValue(target), _toJSValue(size), _toJSValue(usage)]) - } - - @inlinable func bufferData(target: GLenum, data: AllowSharedBufferSource?, usage: GLenum) { - let this = jsObject - _ = this[Strings.bufferData].function!(this: this, arguments: [_toJSValue(target), _toJSValue(data), _toJSValue(usage)]) - } - - @inlinable func bufferSubData(target: GLenum, offset: GLintptr, data: AllowSharedBufferSource) { - let this = jsObject - _ = this[Strings.bufferSubData].function!(this: this, arguments: [_toJSValue(target), _toJSValue(offset), _toJSValue(data)]) - } - - @inlinable func compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView) { - let this = jsObject - _ = this[Strings.compressedTexImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(border), _toJSValue(data)]) - } - - @inlinable func compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView) { - let this = jsObject - _ = this[Strings.compressedTexSubImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), _toJSValue(height), _toJSValue(format), _toJSValue(data)]) - } - - @inlinable func readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView?) { - let this = jsObject - _ = this[Strings.readPixels].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(pixels)]) - } - - @inlinable func texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView?) { - let this = jsObject - _ = this[Strings.texImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(pixels)]) - } - - @inlinable func texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) { - let this = jsObject - _ = this[Strings.texImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(format), _toJSValue(type), _toJSValue(source)]) - } - - @inlinable func texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView?) { - let this = jsObject - _ = this[Strings.texSubImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(pixels)]) - } - - @inlinable func texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) { - let this = jsObject - _ = this[Strings.texSubImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(format), _toJSValue(type), _toJSValue(source)]) - } - - @inlinable func uniform1fv(location: WebGLUniformLocation?, v: Float32List) { +extension WebGLRenderingContextOverloads { + @inlinable public func bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) { + let this = jsObject + _ = this[Strings.bufferData].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(size), _toJSValue(usage)] + ) + } + + @inlinable public func bufferData(target: GLenum, data: AllowSharedBufferSource?, usage: GLenum) { + let this = jsObject + _ = this[Strings.bufferData].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(data), _toJSValue(usage)] + ) + } + + @inlinable public func bufferSubData(target: GLenum, offset: GLintptr, data: AllowSharedBufferSource) { + let this = jsObject + _ = this[Strings.bufferSubData].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(offset), _toJSValue(data)] + ) + } + + @inlinable public func compressedTexImage2D( + target: GLenum, + level: GLint, + internalformat: GLenum, + width: GLsizei, + height: GLsizei, + border: GLint, + data: ArrayBufferView + ) { + let this = jsObject + _ = this[Strings.compressedTexImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(border), _toJSValue(data), + ] + ) + } + + @inlinable public func compressedTexSubImage2D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + width: GLsizei, + height: GLsizei, + format: GLenum, + data: ArrayBufferView + ) { + let this = jsObject + _ = this[Strings.compressedTexSubImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), + _toJSValue(height), _toJSValue(format), _toJSValue(data), + ] + ) + } + + @inlinable public func readPixels( + x: GLint, + y: GLint, + width: GLsizei, + height: GLsizei, + format: GLenum, + type: GLenum, + pixels: ArrayBufferView? + ) { + let this = jsObject + _ = this[Strings.readPixels].function!( + this: this, + arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), _toJSValue(format), + _toJSValue(type), _toJSValue(pixels), + ] + ) + } + + @inlinable public func texImage2D( + target: GLenum, + level: GLint, + internalformat: GLint, + width: GLsizei, + height: GLsizei, + border: GLint, + format: GLenum, + type: GLenum, + pixels: ArrayBufferView? + ) { + let this = jsObject + _ = this[Strings.texImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(pixels), + ] + ) + } + + @inlinable public func texImage2D( + target: GLenum, + level: GLint, + internalformat: GLint, + format: GLenum, + type: GLenum, + source: TexImageSource + ) { + let this = jsObject + _ = this[Strings.texImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(format), _toJSValue(type), + _toJSValue(source), + ] + ) + } + + @inlinable public func texSubImage2D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + width: GLsizei, + height: GLsizei, + format: GLenum, + type: GLenum, + pixels: ArrayBufferView? + ) { + let this = jsObject + _ = this[Strings.texSubImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), + _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(pixels), + ] + ) + } + + @inlinable public func texSubImage2D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + format: GLenum, + type: GLenum, + source: TexImageSource + ) { + let this = jsObject + _ = this[Strings.texSubImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(format), + _toJSValue(type), _toJSValue(source), + ] + ) + } + + @inlinable public func uniform1fv(location: WebGLUniformLocation?, v: Float32List) { let this = jsObject _ = this[Strings.uniform1fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(v)]) } - @inlinable func uniform2fv(location: WebGLUniformLocation?, v: Float32List) { + @inlinable public func uniform2fv(location: WebGLUniformLocation?, v: Float32List) { let this = jsObject _ = this[Strings.uniform2fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(v)]) } - @inlinable func uniform3fv(location: WebGLUniformLocation?, v: Float32List) { + @inlinable public func uniform3fv(location: WebGLUniformLocation?, v: Float32List) { let this = jsObject _ = this[Strings.uniform3fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(v)]) } - @inlinable func uniform4fv(location: WebGLUniformLocation?, v: Float32List) { + @inlinable public func uniform4fv(location: WebGLUniformLocation?, v: Float32List) { let this = jsObject _ = this[Strings.uniform4fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(v)]) } - @inlinable func uniform1iv(location: WebGLUniformLocation?, v: Int32List) { + @inlinable public func uniform1iv(location: WebGLUniformLocation?, v: Int32List) { let this = jsObject _ = this[Strings.uniform1iv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(v)]) } - @inlinable func uniform2iv(location: WebGLUniformLocation?, v: Int32List) { + @inlinable public func uniform2iv(location: WebGLUniformLocation?, v: Int32List) { let this = jsObject _ = this[Strings.uniform2iv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(v)]) } - @inlinable func uniform3iv(location: WebGLUniformLocation?, v: Int32List) { + @inlinable public func uniform3iv(location: WebGLUniformLocation?, v: Int32List) { let this = jsObject _ = this[Strings.uniform3iv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(v)]) } - @inlinable func uniform4iv(location: WebGLUniformLocation?, v: Int32List) { + @inlinable public func uniform4iv(location: WebGLUniformLocation?, v: Int32List) { let this = jsObject _ = this[Strings.uniform4iv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(v)]) } - @inlinable func uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Float32List) { + @inlinable public func uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Float32List) { let this = jsObject - _ = this[Strings.uniformMatrix2fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(value)]) + _ = this[Strings.uniformMatrix2fv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(value)] + ) } - @inlinable func uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Float32List) { + @inlinable public func uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Float32List) { let this = jsObject - _ = this[Strings.uniformMatrix3fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(value)]) + _ = this[Strings.uniformMatrix3fv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(value)] + ) } - @inlinable func uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Float32List) { + @inlinable public func uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Float32List) { let this = jsObject - _ = this[Strings.uniformMatrix4fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(value)]) + _ = this[Strings.uniformMatrix4fv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(value)] + ) } } - public class WebGLShader: WebGLObject { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WebGLShader].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.WebGLShader].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class WebGLShaderPrecisionFormat: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.WebGLShaderPrecisionFormat].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.WebGLShaderPrecisionFormat].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _rangeMin = ReadonlyAttribute(jsObject: jsObject, name: Strings.rangeMin) - _rangeMax = ReadonlyAttribute(jsObject: jsObject, name: Strings.rangeMax) - _precision = ReadonlyAttribute(jsObject: jsObject, name: Strings.precision) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var rangeMin: GLint + @inlinable public var rangeMin: GLint { jsObject[Strings.rangeMin].fromJSValue()! } - @ReadonlyAttribute - public var rangeMax: GLint + @inlinable public var rangeMax: GLint { jsObject[Strings.rangeMax].fromJSValue()! } - @ReadonlyAttribute - public var precision: GLint + @inlinable public var precision: GLint { jsObject[Strings.precision].fromJSValue()! } } public class WebGLTexture: WebGLObject { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WebGLTexture].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.WebGLTexture].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class WebGLUniformLocation: JSBridgedClass { @@ -1556,186 +1857,184 @@ public class WebGLUniformLocation: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let Object: JSString = "Object" - @usableFromInline static let WebGLActiveInfo: JSString = "WebGLActiveInfo" - @usableFromInline static let WebGLBuffer: JSString = "WebGLBuffer" - @usableFromInline static let WebGLContextEvent: JSString = "WebGLContextEvent" - @usableFromInline static let WebGLFramebuffer: JSString = "WebGLFramebuffer" - @usableFromInline static let WebGLObject: JSString = "WebGLObject" - @usableFromInline static let WebGLProgram: JSString = "WebGLProgram" - @usableFromInline static let WebGLRenderbuffer: JSString = "WebGLRenderbuffer" - @usableFromInline static let WebGLRenderingContext: JSString = "WebGLRenderingContext" - @usableFromInline static let WebGLShader: JSString = "WebGLShader" - @usableFromInline static let WebGLShaderPrecisionFormat: JSString = "WebGLShaderPrecisionFormat" - @usableFromInline static let WebGLTexture: JSString = "WebGLTexture" - @usableFromInline static let WebGLUniformLocation: JSString = "WebGLUniformLocation" - @usableFromInline static let activeTexture: JSString = "activeTexture" - @usableFromInline static let alpha: JSString = "alpha" - @usableFromInline static let antialias: JSString = "antialias" - @usableFromInline static let attachShader: JSString = "attachShader" - @usableFromInline static let bindAttribLocation: JSString = "bindAttribLocation" - @usableFromInline static let bindBuffer: JSString = "bindBuffer" - @usableFromInline static let bindFramebuffer: JSString = "bindFramebuffer" - @usableFromInline static let bindRenderbuffer: JSString = "bindRenderbuffer" - @usableFromInline static let bindTexture: JSString = "bindTexture" - @usableFromInline static let blendColor: JSString = "blendColor" - @usableFromInline static let blendEquation: JSString = "blendEquation" - @usableFromInline static let blendEquationSeparate: JSString = "blendEquationSeparate" - @usableFromInline static let blendFunc: JSString = "blendFunc" - @usableFromInline static let blendFuncSeparate: JSString = "blendFuncSeparate" - @usableFromInline static let bufferData: JSString = "bufferData" - @usableFromInline static let bufferSubData: JSString = "bufferSubData" - @usableFromInline static let canvas: JSString = "canvas" - @usableFromInline static let checkFramebufferStatus: JSString = "checkFramebufferStatus" - @usableFromInline static let clear: JSString = "clear" - @usableFromInline static let clearColor: JSString = "clearColor" - @usableFromInline static let clearDepth: JSString = "clearDepth" - @usableFromInline static let clearStencil: JSString = "clearStencil" - @usableFromInline static let colorMask: JSString = "colorMask" - @usableFromInline static let compileShader: JSString = "compileShader" - @usableFromInline static let compressedTexImage2D: JSString = "compressedTexImage2D" - @usableFromInline static let compressedTexSubImage2D: JSString = "compressedTexSubImage2D" - @usableFromInline static let copyTexImage2D: JSString = "copyTexImage2D" - @usableFromInline static let copyTexSubImage2D: JSString = "copyTexSubImage2D" - @usableFromInline static let createBuffer: JSString = "createBuffer" - @usableFromInline static let createFramebuffer: JSString = "createFramebuffer" - @usableFromInline static let createProgram: JSString = "createProgram" - @usableFromInline static let createRenderbuffer: JSString = "createRenderbuffer" - @usableFromInline static let createShader: JSString = "createShader" - @usableFromInline static let createTexture: JSString = "createTexture" - @usableFromInline static let cullFace: JSString = "cullFace" - @usableFromInline static let deleteBuffer: JSString = "deleteBuffer" - @usableFromInline static let deleteFramebuffer: JSString = "deleteFramebuffer" - @usableFromInline static let deleteProgram: JSString = "deleteProgram" - @usableFromInline static let deleteRenderbuffer: JSString = "deleteRenderbuffer" - @usableFromInline static let deleteShader: JSString = "deleteShader" - @usableFromInline static let deleteTexture: JSString = "deleteTexture" - @usableFromInline static let depth: JSString = "depth" - @usableFromInline static let depthFunc: JSString = "depthFunc" - @usableFromInline static let depthMask: JSString = "depthMask" - @usableFromInline static let depthRange: JSString = "depthRange" - @usableFromInline static let desynchronized: JSString = "desynchronized" - @usableFromInline static let detachShader: JSString = "detachShader" - @usableFromInline static let disable: JSString = "disable" - @usableFromInline static let disableVertexAttribArray: JSString = "disableVertexAttribArray" - @usableFromInline static let drawArrays: JSString = "drawArrays" - @usableFromInline static let drawElements: JSString = "drawElements" - @usableFromInline static let drawingBufferColorSpace: JSString = "drawingBufferColorSpace" - @usableFromInline static let drawingBufferHeight: JSString = "drawingBufferHeight" - @usableFromInline static let drawingBufferWidth: JSString = "drawingBufferWidth" - @usableFromInline static let enable: JSString = "enable" - @usableFromInline static let enableVertexAttribArray: JSString = "enableVertexAttribArray" - @usableFromInline static let failIfMajorPerformanceCaveat: JSString = "failIfMajorPerformanceCaveat" - @usableFromInline static let finish: JSString = "finish" - @usableFromInline static let flush: JSString = "flush" - @usableFromInline static let framebufferRenderbuffer: JSString = "framebufferRenderbuffer" - @usableFromInline static let framebufferTexture2D: JSString = "framebufferTexture2D" - @usableFromInline static let frontFace: JSString = "frontFace" - @usableFromInline static let generateMipmap: JSString = "generateMipmap" - @usableFromInline static let getActiveAttrib: JSString = "getActiveAttrib" - @usableFromInline static let getActiveUniform: JSString = "getActiveUniform" - @usableFromInline static let getAttachedShaders: JSString = "getAttachedShaders" - @usableFromInline static let getAttribLocation: JSString = "getAttribLocation" - @usableFromInline static let getBufferParameter: JSString = "getBufferParameter" - @usableFromInline static let getContextAttributes: JSString = "getContextAttributes" - @usableFromInline static let getError: JSString = "getError" - @usableFromInline static let getExtension: JSString = "getExtension" - @usableFromInline static let getFramebufferAttachmentParameter: JSString = "getFramebufferAttachmentParameter" - @usableFromInline static let getParameter: JSString = "getParameter" - @usableFromInline static let getProgramInfoLog: JSString = "getProgramInfoLog" - @usableFromInline static let getProgramParameter: JSString = "getProgramParameter" - @usableFromInline static let getRenderbufferParameter: JSString = "getRenderbufferParameter" - @usableFromInline static let getShaderInfoLog: JSString = "getShaderInfoLog" - @usableFromInline static let getShaderParameter: JSString = "getShaderParameter" - @usableFromInline static let getShaderPrecisionFormat: JSString = "getShaderPrecisionFormat" - @usableFromInline static let getShaderSource: JSString = "getShaderSource" - @usableFromInline static let getSupportedExtensions: JSString = "getSupportedExtensions" - @usableFromInline static let getTexParameter: JSString = "getTexParameter" - @usableFromInline static let getUniform: JSString = "getUniform" - @usableFromInline static let getUniformLocation: JSString = "getUniformLocation" - @usableFromInline static let getVertexAttrib: JSString = "getVertexAttrib" - @usableFromInline static let getVertexAttribOffset: JSString = "getVertexAttribOffset" - @usableFromInline static let hint: JSString = "hint" - @usableFromInline static let isBuffer: JSString = "isBuffer" - @usableFromInline static let isContextLost: JSString = "isContextLost" - @usableFromInline static let isEnabled: JSString = "isEnabled" - @usableFromInline static let isFramebuffer: JSString = "isFramebuffer" - @usableFromInline static let isProgram: JSString = "isProgram" - @usableFromInline static let isRenderbuffer: JSString = "isRenderbuffer" - @usableFromInline static let isShader: JSString = "isShader" - @usableFromInline static let isTexture: JSString = "isTexture" - @usableFromInline static let lineWidth: JSString = "lineWidth" - @usableFromInline static let linkProgram: JSString = "linkProgram" - @usableFromInline static let name: JSString = "name" - @usableFromInline static let pixelStorei: JSString = "pixelStorei" - @usableFromInline static let polygonOffset: JSString = "polygonOffset" - @usableFromInline static let powerPreference: JSString = "powerPreference" - @usableFromInline static let precision: JSString = "precision" - @usableFromInline static let premultipliedAlpha: JSString = "premultipliedAlpha" - @usableFromInline static let preserveDrawingBuffer: JSString = "preserveDrawingBuffer" - @usableFromInline static let rangeMax: JSString = "rangeMax" - @usableFromInline static let rangeMin: JSString = "rangeMin" - @usableFromInline static let readPixels: JSString = "readPixels" - @usableFromInline static let renderbufferStorage: JSString = "renderbufferStorage" - @usableFromInline static let sampleCoverage: JSString = "sampleCoverage" - @usableFromInline static let scissor: JSString = "scissor" - @usableFromInline static let shaderSource: JSString = "shaderSource" - @usableFromInline static let size: JSString = "size" - @usableFromInline static let statusMessage: JSString = "statusMessage" - @usableFromInline static let stencil: JSString = "stencil" - @usableFromInline static let stencilFunc: JSString = "stencilFunc" - @usableFromInline static let stencilFuncSeparate: JSString = "stencilFuncSeparate" - @usableFromInline static let stencilMask: JSString = "stencilMask" - @usableFromInline static let stencilMaskSeparate: JSString = "stencilMaskSeparate" - @usableFromInline static let stencilOp: JSString = "stencilOp" - @usableFromInline static let stencilOpSeparate: JSString = "stencilOpSeparate" - @usableFromInline static let texImage2D: JSString = "texImage2D" - @usableFromInline static let texParameterf: JSString = "texParameterf" - @usableFromInline static let texParameteri: JSString = "texParameteri" - @usableFromInline static let texSubImage2D: JSString = "texSubImage2D" - @usableFromInline static let toString: JSString = "toString" - @usableFromInline static let type: JSString = "type" - @usableFromInline static let uniform1f: JSString = "uniform1f" - @usableFromInline static let uniform1fv: JSString = "uniform1fv" - @usableFromInline static let uniform1i: JSString = "uniform1i" - @usableFromInline static let uniform1iv: JSString = "uniform1iv" - @usableFromInline static let uniform2f: JSString = "uniform2f" - @usableFromInline static let uniform2fv: JSString = "uniform2fv" - @usableFromInline static let uniform2i: JSString = "uniform2i" - @usableFromInline static let uniform2iv: JSString = "uniform2iv" - @usableFromInline static let uniform3f: JSString = "uniform3f" - @usableFromInline static let uniform3fv: JSString = "uniform3fv" - @usableFromInline static let uniform3i: JSString = "uniform3i" - @usableFromInline static let uniform3iv: JSString = "uniform3iv" - @usableFromInline static let uniform4f: JSString = "uniform4f" - @usableFromInline static let uniform4fv: JSString = "uniform4fv" - @usableFromInline static let uniform4i: JSString = "uniform4i" - @usableFromInline static let uniform4iv: JSString = "uniform4iv" - @usableFromInline static let uniformMatrix2fv: JSString = "uniformMatrix2fv" - @usableFromInline static let uniformMatrix3fv: JSString = "uniformMatrix3fv" - @usableFromInline static let uniformMatrix4fv: JSString = "uniformMatrix4fv" - @usableFromInline static let unpackColorSpace: JSString = "unpackColorSpace" - @usableFromInline static let useProgram: JSString = "useProgram" - @usableFromInline static let validateProgram: JSString = "validateProgram" - @usableFromInline static let vertexAttrib1f: JSString = "vertexAttrib1f" - @usableFromInline static let vertexAttrib1fv: JSString = "vertexAttrib1fv" - @usableFromInline static let vertexAttrib2f: JSString = "vertexAttrib2f" - @usableFromInline static let vertexAttrib2fv: JSString = "vertexAttrib2fv" - @usableFromInline static let vertexAttrib3f: JSString = "vertexAttrib3f" - @usableFromInline static let vertexAttrib3fv: JSString = "vertexAttrib3fv" - @usableFromInline static let vertexAttrib4f: JSString = "vertexAttrib4f" - @usableFromInline static let vertexAttrib4fv: JSString = "vertexAttrib4fv" - @usableFromInline static let vertexAttribPointer: JSString = "vertexAttribPointer" - @usableFromInline static let viewport: JSString = "viewport" + @usableFromInline static let `Object`: JSString = "Object" + @usableFromInline static let `WebGLActiveInfo`: JSString = "WebGLActiveInfo" + @usableFromInline static let `WebGLBuffer`: JSString = "WebGLBuffer" + @usableFromInline static let `WebGLContextEvent`: JSString = "WebGLContextEvent" + @usableFromInline static let `WebGLFramebuffer`: JSString = "WebGLFramebuffer" + @usableFromInline static let `WebGLObject`: JSString = "WebGLObject" + @usableFromInline static let `WebGLProgram`: JSString = "WebGLProgram" + @usableFromInline static let `WebGLRenderbuffer`: JSString = "WebGLRenderbuffer" + @usableFromInline static let `WebGLRenderingContext`: JSString = "WebGLRenderingContext" + @usableFromInline static let `WebGLShader`: JSString = "WebGLShader" + @usableFromInline static let `WebGLShaderPrecisionFormat`: JSString = "WebGLShaderPrecisionFormat" + @usableFromInline static let `WebGLTexture`: JSString = "WebGLTexture" + @usableFromInline static let `WebGLUniformLocation`: JSString = "WebGLUniformLocation" + @usableFromInline static let `activeTexture`: JSString = "activeTexture" + @usableFromInline static let `alpha`: JSString = "alpha" + @usableFromInline static let `antialias`: JSString = "antialias" + @usableFromInline static let `attachShader`: JSString = "attachShader" + @usableFromInline static let `bindAttribLocation`: JSString = "bindAttribLocation" + @usableFromInline static let `bindBuffer`: JSString = "bindBuffer" + @usableFromInline static let `bindFramebuffer`: JSString = "bindFramebuffer" + @usableFromInline static let `bindRenderbuffer`: JSString = "bindRenderbuffer" + @usableFromInline static let `bindTexture`: JSString = "bindTexture" + @usableFromInline static let `blendColor`: JSString = "blendColor" + @usableFromInline static let `blendEquation`: JSString = "blendEquation" + @usableFromInline static let `blendEquationSeparate`: JSString = "blendEquationSeparate" + @usableFromInline static let `blendFunc`: JSString = "blendFunc" + @usableFromInline static let `blendFuncSeparate`: JSString = "blendFuncSeparate" + @usableFromInline static let `bufferData`: JSString = "bufferData" + @usableFromInline static let `bufferSubData`: JSString = "bufferSubData" + @usableFromInline static let `canvas`: JSString = "canvas" + @usableFromInline static let `checkFramebufferStatus`: JSString = "checkFramebufferStatus" + @usableFromInline static let `clear`: JSString = "clear" + @usableFromInline static let `clearColor`: JSString = "clearColor" + @usableFromInline static let `clearDepth`: JSString = "clearDepth" + @usableFromInline static let `clearStencil`: JSString = "clearStencil" + @usableFromInline static let `colorMask`: JSString = "colorMask" + @usableFromInline static let `compileShader`: JSString = "compileShader" + @usableFromInline static let `compressedTexImage2D`: JSString = "compressedTexImage2D" + @usableFromInline static let `compressedTexSubImage2D`: JSString = "compressedTexSubImage2D" + @usableFromInline static let `copyTexImage2D`: JSString = "copyTexImage2D" + @usableFromInline static let `copyTexSubImage2D`: JSString = "copyTexSubImage2D" + @usableFromInline static let `createBuffer`: JSString = "createBuffer" + @usableFromInline static let `createFramebuffer`: JSString = "createFramebuffer" + @usableFromInline static let `createProgram`: JSString = "createProgram" + @usableFromInline static let `createRenderbuffer`: JSString = "createRenderbuffer" + @usableFromInline static let `createShader`: JSString = "createShader" + @usableFromInline static let `createTexture`: JSString = "createTexture" + @usableFromInline static let `cullFace`: JSString = "cullFace" + @usableFromInline static let `deleteBuffer`: JSString = "deleteBuffer" + @usableFromInline static let `deleteFramebuffer`: JSString = "deleteFramebuffer" + @usableFromInline static let `deleteProgram`: JSString = "deleteProgram" + @usableFromInline static let `deleteRenderbuffer`: JSString = "deleteRenderbuffer" + @usableFromInline static let `deleteShader`: JSString = "deleteShader" + @usableFromInline static let `deleteTexture`: JSString = "deleteTexture" + @usableFromInline static let `depth`: JSString = "depth" + @usableFromInline static let `depthFunc`: JSString = "depthFunc" + @usableFromInline static let `depthMask`: JSString = "depthMask" + @usableFromInline static let `depthRange`: JSString = "depthRange" + @usableFromInline static let `desynchronized`: JSString = "desynchronized" + @usableFromInline static let `detachShader`: JSString = "detachShader" + @usableFromInline static let `disable`: JSString = "disable" + @usableFromInline static let `disableVertexAttribArray`: JSString = "disableVertexAttribArray" + @usableFromInline static let `drawArrays`: JSString = "drawArrays" + @usableFromInline static let `drawElements`: JSString = "drawElements" + @usableFromInline static let `drawingBufferColorSpace`: JSString = "drawingBufferColorSpace" + @usableFromInline static let `drawingBufferHeight`: JSString = "drawingBufferHeight" + @usableFromInline static let `drawingBufferWidth`: JSString = "drawingBufferWidth" + @usableFromInline static let `enable`: JSString = "enable" + @usableFromInline static let `enableVertexAttribArray`: JSString = "enableVertexAttribArray" + @usableFromInline static let `failIfMajorPerformanceCaveat`: JSString = "failIfMajorPerformanceCaveat" + @usableFromInline static let `finish`: JSString = "finish" + @usableFromInline static let `flush`: JSString = "flush" + @usableFromInline static let `framebufferRenderbuffer`: JSString = "framebufferRenderbuffer" + @usableFromInline static let `framebufferTexture2D`: JSString = "framebufferTexture2D" + @usableFromInline static let `frontFace`: JSString = "frontFace" + @usableFromInline static let `generateMipmap`: JSString = "generateMipmap" + @usableFromInline static let `getActiveAttrib`: JSString = "getActiveAttrib" + @usableFromInline static let `getActiveUniform`: JSString = "getActiveUniform" + @usableFromInline static let `getAttachedShaders`: JSString = "getAttachedShaders" + @usableFromInline static let `getAttribLocation`: JSString = "getAttribLocation" + @usableFromInline static let `getBufferParameter`: JSString = "getBufferParameter" + @usableFromInline static let `getContextAttributes`: JSString = "getContextAttributes" + @usableFromInline static let `getError`: JSString = "getError" + @usableFromInline static let `getExtension`: JSString = "getExtension" + @usableFromInline static let `getFramebufferAttachmentParameter`: JSString = "getFramebufferAttachmentParameter" + @usableFromInline static let `getParameter`: JSString = "getParameter" + @usableFromInline static let `getProgramInfoLog`: JSString = "getProgramInfoLog" + @usableFromInline static let `getProgramParameter`: JSString = "getProgramParameter" + @usableFromInline static let `getRenderbufferParameter`: JSString = "getRenderbufferParameter" + @usableFromInline static let `getShaderInfoLog`: JSString = "getShaderInfoLog" + @usableFromInline static let `getShaderParameter`: JSString = "getShaderParameter" + @usableFromInline static let `getShaderPrecisionFormat`: JSString = "getShaderPrecisionFormat" + @usableFromInline static let `getShaderSource`: JSString = "getShaderSource" + @usableFromInline static let `getSupportedExtensions`: JSString = "getSupportedExtensions" + @usableFromInline static let `getTexParameter`: JSString = "getTexParameter" + @usableFromInline static let `getUniform`: JSString = "getUniform" + @usableFromInline static let `getUniformLocation`: JSString = "getUniformLocation" + @usableFromInline static let `getVertexAttrib`: JSString = "getVertexAttrib" + @usableFromInline static let `getVertexAttribOffset`: JSString = "getVertexAttribOffset" + @usableFromInline static let `hint`: JSString = "hint" + @usableFromInline static let `isBuffer`: JSString = "isBuffer" + @usableFromInline static let `isContextLost`: JSString = "isContextLost" + @usableFromInline static let `isEnabled`: JSString = "isEnabled" + @usableFromInline static let `isFramebuffer`: JSString = "isFramebuffer" + @usableFromInline static let `isProgram`: JSString = "isProgram" + @usableFromInline static let `isRenderbuffer`: JSString = "isRenderbuffer" + @usableFromInline static let `isShader`: JSString = "isShader" + @usableFromInline static let `isTexture`: JSString = "isTexture" + @usableFromInline static let `lineWidth`: JSString = "lineWidth" + @usableFromInline static let `linkProgram`: JSString = "linkProgram" + @usableFromInline static let `name`: JSString = "name" + @usableFromInline static let `pixelStorei`: JSString = "pixelStorei" + @usableFromInline static let `polygonOffset`: JSString = "polygonOffset" + @usableFromInline static let `powerPreference`: JSString = "powerPreference" + @usableFromInline static let `precision`: JSString = "precision" + @usableFromInline static let `premultipliedAlpha`: JSString = "premultipliedAlpha" + @usableFromInline static let `preserveDrawingBuffer`: JSString = "preserveDrawingBuffer" + @usableFromInline static let `rangeMax`: JSString = "rangeMax" + @usableFromInline static let `rangeMin`: JSString = "rangeMin" + @usableFromInline static let `readPixels`: JSString = "readPixels" + @usableFromInline static let `renderbufferStorage`: JSString = "renderbufferStorage" + @usableFromInline static let `sampleCoverage`: JSString = "sampleCoverage" + @usableFromInline static let `scissor`: JSString = "scissor" + @usableFromInline static let `shaderSource`: JSString = "shaderSource" + @usableFromInline static let `size`: JSString = "size" + @usableFromInline static let `statusMessage`: JSString = "statusMessage" + @usableFromInline static let `stencil`: JSString = "stencil" + @usableFromInline static let `stencilFunc`: JSString = "stencilFunc" + @usableFromInline static let `stencilFuncSeparate`: JSString = "stencilFuncSeparate" + @usableFromInline static let `stencilMask`: JSString = "stencilMask" + @usableFromInline static let `stencilMaskSeparate`: JSString = "stencilMaskSeparate" + @usableFromInline static let `stencilOp`: JSString = "stencilOp" + @usableFromInline static let `stencilOpSeparate`: JSString = "stencilOpSeparate" + @usableFromInline static let `texImage2D`: JSString = "texImage2D" + @usableFromInline static let `texParameterf`: JSString = "texParameterf" + @usableFromInline static let `texParameteri`: JSString = "texParameteri" + @usableFromInline static let `texSubImage2D`: JSString = "texSubImage2D" + @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `type`: JSString = "type" + @usableFromInline static let `uniform1f`: JSString = "uniform1f" + @usableFromInline static let `uniform1fv`: JSString = "uniform1fv" + @usableFromInline static let `uniform1i`: JSString = "uniform1i" + @usableFromInline static let `uniform1iv`: JSString = "uniform1iv" + @usableFromInline static let `uniform2f`: JSString = "uniform2f" + @usableFromInline static let `uniform2fv`: JSString = "uniform2fv" + @usableFromInline static let `uniform2i`: JSString = "uniform2i" + @usableFromInline static let `uniform2iv`: JSString = "uniform2iv" + @usableFromInline static let `uniform3f`: JSString = "uniform3f" + @usableFromInline static let `uniform3fv`: JSString = "uniform3fv" + @usableFromInline static let `uniform3i`: JSString = "uniform3i" + @usableFromInline static let `uniform3iv`: JSString = "uniform3iv" + @usableFromInline static let `uniform4f`: JSString = "uniform4f" + @usableFromInline static let `uniform4fv`: JSString = "uniform4fv" + @usableFromInline static let `uniform4i`: JSString = "uniform4i" + @usableFromInline static let `uniform4iv`: JSString = "uniform4iv" + @usableFromInline static let `uniformMatrix2fv`: JSString = "uniformMatrix2fv" + @usableFromInline static let `uniformMatrix3fv`: JSString = "uniformMatrix3fv" + @usableFromInline static let `uniformMatrix4fv`: JSString = "uniformMatrix4fv" + @usableFromInline static let `unpackColorSpace`: JSString = "unpackColorSpace" + @usableFromInline static let `useProgram`: JSString = "useProgram" + @usableFromInline static let `validateProgram`: JSString = "validateProgram" + @usableFromInline static let `vertexAttrib1f`: JSString = "vertexAttrib1f" + @usableFromInline static let `vertexAttrib1fv`: JSString = "vertexAttrib1fv" + @usableFromInline static let `vertexAttrib2f`: JSString = "vertexAttrib2f" + @usableFromInline static let `vertexAttrib2fv`: JSString = "vertexAttrib2fv" + @usableFromInline static let `vertexAttrib3f`: JSString = "vertexAttrib3f" + @usableFromInline static let `vertexAttrib3fv`: JSString = "vertexAttrib3fv" + @usableFromInline static let `vertexAttrib4f`: JSString = "vertexAttrib4f" + @usableFromInline static let `vertexAttrib4fv`: JSString = "vertexAttrib4fv" + @usableFromInline static let `vertexAttribPointer`: JSString = "vertexAttribPointer" + @usableFromInline static let `viewport`: JSString = "viewport" } - public protocol Any_Float32List: ConvertibleToJSValue {} extension Float32Array: Any_Float32List {} extension Array: Any_Float32List where Element == GLfloat {} @@ -1744,12 +2043,11 @@ public enum Float32List: JSValueCompatible, Any_Float32List { case float32Array(Float32Array) case seq_of_GLfloat([GLfloat]) - init(_ float32Array: Float32Array) { + public init(_ float32Array: Float32Array) { let val: Float32List = .float32Array(float32Array) self = val } - - init(_ seq_of_GLfloat: [GLfloat]) { + public init(_ seq_of_GLfloat: [GLfloat]) { let val: Float32List = .seq_of_GLfloat(seq_of_GLfloat) self = val } @@ -1760,7 +2058,6 @@ public enum Float32List: JSValueCompatible, Any_Float32List { default: return nil } } - public var seq_of_GLfloat: [GLfloat]? { switch self { case let .seq_of_GLfloat(seq_of_GLfloat): return seq_of_GLfloat @@ -1769,25 +2066,18 @@ public enum Float32List: JSValueCompatible, Any_Float32List { } public static func construct(from value: JSValue) -> Self? { - if let float32Array: Float32Array = value.fromJSValue() { - return .float32Array(float32Array) - } - if let seq_of_GLfloat: [GLfloat] = value.fromJSValue() { - return .seq_of_GLfloat(seq_of_GLfloat) - } + if let float32Array: Float32Array = value.fromJSValue() { return .float32Array(float32Array) } + if let seq_of_GLfloat: [GLfloat] = value.fromJSValue() { return .seq_of_GLfloat(seq_of_GLfloat) } return nil } public var jsValue: JSValue { switch self { - case let .float32Array(float32Array): - return float32Array.jsValue - case let .seq_of_GLfloat(seq_of_GLfloat): - return seq_of_GLfloat.jsValue + case let .float32Array(float32Array): return float32Array.jsValue + case let .seq_of_GLfloat(seq_of_GLfloat): return seq_of_GLfloat.jsValue } } } - public protocol Any_HTMLCanvasElement_or_OffscreenCanvas: ConvertibleToJSValue {} extension HTMLCanvasElement: Any_HTMLCanvasElement_or_OffscreenCanvas {} extension OffscreenCanvas: Any_HTMLCanvasElement_or_OffscreenCanvas {} @@ -1796,12 +2086,11 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan case htmlCanvasElement(HTMLCanvasElement) case offscreenCanvas(OffscreenCanvas) - init(_ htmlCanvasElement: HTMLCanvasElement) { + public init(_ htmlCanvasElement: HTMLCanvasElement) { let val: HTMLCanvasElement_or_OffscreenCanvas = .htmlCanvasElement(htmlCanvasElement) self = val } - - init(_ offscreenCanvas: OffscreenCanvas) { + public init(_ offscreenCanvas: OffscreenCanvas) { let val: HTMLCanvasElement_or_OffscreenCanvas = .offscreenCanvas(offscreenCanvas) self = val } @@ -1812,7 +2101,6 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan default: return nil } } - public var offscreenCanvas: OffscreenCanvas? { switch self { case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas @@ -1824,22 +2112,17 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan if let htmlCanvasElement: HTMLCanvasElement = value.fromJSValue() { return .htmlCanvasElement(htmlCanvasElement) } - if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { - return .offscreenCanvas(offscreenCanvas) - } + if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { return .offscreenCanvas(offscreenCanvas) } return nil } public var jsValue: JSValue { switch self { - case let .htmlCanvasElement(htmlCanvasElement): - return htmlCanvasElement.jsValue - case let .offscreenCanvas(offscreenCanvas): - return offscreenCanvas.jsValue + case let .htmlCanvasElement(htmlCanvasElement): return htmlCanvasElement.jsValue + case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas.jsValue } } } - public protocol Any_Int32List: ConvertibleToJSValue {} extension Int32Array: Any_Int32List {} extension Array: Any_Int32List where Element == GLint {} @@ -1848,12 +2131,11 @@ public enum Int32List: JSValueCompatible, Any_Int32List { case int32Array(Int32Array) case seq_of_GLint([GLint]) - init(_ int32Array: Int32Array) { + public init(_ int32Array: Int32Array) { let val: Int32List = .int32Array(int32Array) self = val } - - init(_ seq_of_GLint: [GLint]) { + public init(_ seq_of_GLint: [GLint]) { let val: Int32List = .seq_of_GLint(seq_of_GLint) self = val } @@ -1864,7 +2146,6 @@ public enum Int32List: JSValueCompatible, Any_Int32List { default: return nil } } - public var seq_of_GLint: [GLint]? { switch self { case let .seq_of_GLint(seq_of_GLint): return seq_of_GLint @@ -1873,25 +2154,18 @@ public enum Int32List: JSValueCompatible, Any_Int32List { } public static func construct(from value: JSValue) -> Self? { - if let int32Array: Int32Array = value.fromJSValue() { - return .int32Array(int32Array) - } - if let seq_of_GLint: [GLint] = value.fromJSValue() { - return .seq_of_GLint(seq_of_GLint) - } + if let int32Array: Int32Array = value.fromJSValue() { return .int32Array(int32Array) } + if let seq_of_GLint: [GLint] = value.fromJSValue() { return .seq_of_GLint(seq_of_GLint) } return nil } public var jsValue: JSValue { switch self { - case let .int32Array(int32Array): - return int32Array.jsValue - case let .seq_of_GLint(seq_of_GLint): - return seq_of_GLint.jsValue + case let .int32Array(int32Array): return int32Array.jsValue + case let .seq_of_GLint(seq_of_GLint): return seq_of_GLint.jsValue } } } - public protocol Any_TexImageSource: ConvertibleToJSValue {} extension HTMLCanvasElement: Any_TexImageSource {} extension HTMLImageElement: Any_TexImageSource {} @@ -1910,37 +2184,31 @@ public enum TexImageSource: JSValueCompatible, Any_TexImageSource { case offscreenCanvas(OffscreenCanvas) case videoFrame(VideoFrame) - init(_ htmlCanvasElement: HTMLCanvasElement) { + public init(_ htmlCanvasElement: HTMLCanvasElement) { let val: TexImageSource = .htmlCanvasElement(htmlCanvasElement) self = val } - - init(_ htmlImageElement: HTMLImageElement) { + public init(_ htmlImageElement: HTMLImageElement) { let val: TexImageSource = .htmlImageElement(htmlImageElement) self = val } - - init(_ htmlVideoElement: HTMLVideoElement) { + public init(_ htmlVideoElement: HTMLVideoElement) { let val: TexImageSource = .htmlVideoElement(htmlVideoElement) self = val } - - init(_ imageBitmap: ImageBitmap) { + public init(_ imageBitmap: ImageBitmap) { let val: TexImageSource = .imageBitmap(imageBitmap) self = val } - - init(_ imageData: ImageData) { + public init(_ imageData: ImageData) { let val: TexImageSource = .imageData(imageData) self = val } - - init(_ offscreenCanvas: OffscreenCanvas) { + public init(_ offscreenCanvas: OffscreenCanvas) { let val: TexImageSource = .offscreenCanvas(offscreenCanvas) self = val } - - init(_ videoFrame: VideoFrame) { + public init(_ videoFrame: VideoFrame) { let val: TexImageSource = .videoFrame(videoFrame) self = val } @@ -1951,42 +2219,36 @@ public enum TexImageSource: JSValueCompatible, Any_TexImageSource { default: return nil } } - public var htmlImageElement: HTMLImageElement? { switch self { case let .htmlImageElement(htmlImageElement): return htmlImageElement default: return nil } } - public var htmlVideoElement: HTMLVideoElement? { switch self { case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement default: return nil } } - public var imageBitmap: ImageBitmap? { switch self { case let .imageBitmap(imageBitmap): return imageBitmap default: return nil } } - public var imageData: ImageData? { switch self { case let .imageData(imageData): return imageData default: return nil } } - public var offscreenCanvas: OffscreenCanvas? { switch self { case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas default: return nil } } - public var videoFrame: VideoFrame? { switch self { case let .videoFrame(videoFrame): return videoFrame @@ -1998,43 +2260,24 @@ public enum TexImageSource: JSValueCompatible, Any_TexImageSource { if let htmlCanvasElement: HTMLCanvasElement = value.fromJSValue() { return .htmlCanvasElement(htmlCanvasElement) } - if let htmlImageElement: HTMLImageElement = value.fromJSValue() { - return .htmlImageElement(htmlImageElement) - } - if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() { - return .htmlVideoElement(htmlVideoElement) - } - if let imageBitmap: ImageBitmap = value.fromJSValue() { - return .imageBitmap(imageBitmap) - } - if let imageData: ImageData = value.fromJSValue() { - return .imageData(imageData) - } - if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { - return .offscreenCanvas(offscreenCanvas) - } - if let videoFrame: VideoFrame = value.fromJSValue() { - return .videoFrame(videoFrame) - } + if let htmlImageElement: HTMLImageElement = value.fromJSValue() { return .htmlImageElement(htmlImageElement) } + if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() { return .htmlVideoElement(htmlVideoElement) } + if let imageBitmap: ImageBitmap = value.fromJSValue() { return .imageBitmap(imageBitmap) } + if let imageData: ImageData = value.fromJSValue() { return .imageData(imageData) } + if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { return .offscreenCanvas(offscreenCanvas) } + if let videoFrame: VideoFrame = value.fromJSValue() { return .videoFrame(videoFrame) } return nil } public var jsValue: JSValue { switch self { - case let .htmlCanvasElement(htmlCanvasElement): - return htmlCanvasElement.jsValue - case let .htmlImageElement(htmlImageElement): - return htmlImageElement.jsValue - case let .htmlVideoElement(htmlVideoElement): - return htmlVideoElement.jsValue - case let .imageBitmap(imageBitmap): - return imageBitmap.jsValue - case let .imageData(imageData): - return imageData.jsValue - case let .offscreenCanvas(offscreenCanvas): - return offscreenCanvas.jsValue - case let .videoFrame(videoFrame): - return videoFrame.jsValue + case let .htmlCanvasElement(htmlCanvasElement): return htmlCanvasElement.jsValue + case let .htmlImageElement(htmlImageElement): return htmlImageElement.jsValue + case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement.jsValue + case let .imageBitmap(imageBitmap): return imageBitmap.jsValue + case let .imageData(imageData): return imageData.jsValue + case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas.jsValue + case let .videoFrame(videoFrame): return videoFrame.jsValue } } } diff --git a/Sources/WebGL2/Generated.swift b/Sources/WebGL2/Generated.swift index 36e4f8a9..58d7cf33 100644 --- a/Sources/WebGL2/Generated.swift +++ b/Sources/WebGL2/Generated.swift @@ -3,1355 +3,2339 @@ import DOM import ECMAScript import JavaScriptBigIntSupport -import JavaScriptEventLoop import JavaScriptKit -import WebAnimations import WebAPIBase +import WebAnimations import WebAudio import WebGL1 +#if canImport(JavaScriptEventLoop) + import JavaScriptEventLoop +#endif +#if canImport(_Concurrency) + import _Concurrency +#endif + public typealias GLint64 = Int64 public typealias GLuint64 = UInt64 -public class WebGL2RenderingContext: JSBridgedClass, WebGLRenderingContextBase, WebGL2RenderingContextBase, WebGL2RenderingContextOverloads { +public class WebGL2RenderingContext: JSBridgedClass, WebGLRenderingContextBase, WebGL2RenderingContextBase, + WebGL2RenderingContextOverloads +{ @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.WebGL2RenderingContext].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } public protocol WebGL2RenderingContextBase: JSBridgedClass {} -public extension WebGL2RenderingContextBase { - @inlinable static var READ_BUFFER: GLenum { 0x0C02 } - - @inlinable static var UNPACK_ROW_LENGTH: GLenum { 0x0CF2 } +extension WebGL2RenderingContextBase { + @inlinable public static var READ_BUFFER: GLenum { 0x0C02 } - @inlinable static var UNPACK_SKIP_ROWS: GLenum { 0x0CF3 } + @inlinable public static var UNPACK_ROW_LENGTH: GLenum { 0x0CF2 } - @inlinable static var UNPACK_SKIP_PIXELS: GLenum { 0x0CF4 } + @inlinable public static var UNPACK_SKIP_ROWS: GLenum { 0x0CF3 } - @inlinable static var PACK_ROW_LENGTH: GLenum { 0x0D02 } + @inlinable public static var UNPACK_SKIP_PIXELS: GLenum { 0x0CF4 } - @inlinable static var PACK_SKIP_ROWS: GLenum { 0x0D03 } + @inlinable public static var PACK_ROW_LENGTH: GLenum { 0x0D02 } - @inlinable static var PACK_SKIP_PIXELS: GLenum { 0x0D04 } + @inlinable public static var PACK_SKIP_ROWS: GLenum { 0x0D03 } - @inlinable static var COLOR: GLenum { 0x1800 } + @inlinable public static var PACK_SKIP_PIXELS: GLenum { 0x0D04 } - @inlinable static var DEPTH: GLenum { 0x1801 } + @inlinable public static var COLOR: GLenum { 0x1800 } - @inlinable static var STENCIL: GLenum { 0x1802 } + @inlinable public static var DEPTH: GLenum { 0x1801 } - @inlinable static var RED: GLenum { 0x1903 } + @inlinable public static var STENCIL: GLenum { 0x1802 } - @inlinable static var RGB8: GLenum { 0x8051 } + @inlinable public static var RED: GLenum { 0x1903 } - @inlinable static var RGBA8: GLenum { 0x8058 } + @inlinable public static var RGB8: GLenum { 0x8051 } - @inlinable static var RGB10_A2: GLenum { 0x8059 } + @inlinable public static var RGBA8: GLenum { 0x8058 } - @inlinable static var TEXTURE_BINDING_3D: GLenum { 0x806A } + @inlinable public static var RGB10_A2: GLenum { 0x8059 } - @inlinable static var UNPACK_SKIP_IMAGES: GLenum { 0x806D } + @inlinable public static var TEXTURE_BINDING_3D: GLenum { 0x806A } - @inlinable static var UNPACK_IMAGE_HEIGHT: GLenum { 0x806E } + @inlinable public static var UNPACK_SKIP_IMAGES: GLenum { 0x806D } - @inlinable static var TEXTURE_3D: GLenum { 0x806F } + @inlinable public static var UNPACK_IMAGE_HEIGHT: GLenum { 0x806E } - @inlinable static var TEXTURE_WRAP_R: GLenum { 0x8072 } + @inlinable public static var TEXTURE_3D: GLenum { 0x806F } - @inlinable static var MAX_3D_TEXTURE_SIZE: GLenum { 0x8073 } + @inlinable public static var TEXTURE_WRAP_R: GLenum { 0x8072 } - @inlinable static var UNSIGNED_INT_2_10_10_10_REV: GLenum { 0x8368 } + @inlinable public static var MAX_3D_TEXTURE_SIZE: GLenum { 0x8073 } - @inlinable static var MAX_ELEMENTS_VERTICES: GLenum { 0x80E8 } + @inlinable public static var UNSIGNED_INT_2_10_10_10_REV: GLenum { 0x8368 } - @inlinable static var MAX_ELEMENTS_INDICES: GLenum { 0x80E9 } + @inlinable public static var MAX_ELEMENTS_VERTICES: GLenum { 0x80E8 } - @inlinable static var TEXTURE_MIN_LOD: GLenum { 0x813A } + @inlinable public static var MAX_ELEMENTS_INDICES: GLenum { 0x80E9 } - @inlinable static var TEXTURE_MAX_LOD: GLenum { 0x813B } + @inlinable public static var TEXTURE_MIN_LOD: GLenum { 0x813A } - @inlinable static var TEXTURE_BASE_LEVEL: GLenum { 0x813C } + @inlinable public static var TEXTURE_MAX_LOD: GLenum { 0x813B } - @inlinable static var TEXTURE_MAX_LEVEL: GLenum { 0x813D } + @inlinable public static var TEXTURE_BASE_LEVEL: GLenum { 0x813C } - @inlinable static var MIN: GLenum { 0x8007 } + @inlinable public static var TEXTURE_MAX_LEVEL: GLenum { 0x813D } - @inlinable static var MAX: GLenum { 0x8008 } + @inlinable public static var MIN: GLenum { 0x8007 } - @inlinable static var DEPTH_COMPONENT24: GLenum { 0x81A6 } + @inlinable public static var MAX: GLenum { 0x8008 } - @inlinable static var MAX_TEXTURE_LOD_BIAS: GLenum { 0x84FD } + @inlinable public static var DEPTH_COMPONENT24: GLenum { 0x81A6 } - @inlinable static var TEXTURE_COMPARE_MODE: GLenum { 0x884C } + @inlinable public static var MAX_TEXTURE_LOD_BIAS: GLenum { 0x84FD } - @inlinable static var TEXTURE_COMPARE_FUNC: GLenum { 0x884D } + @inlinable public static var TEXTURE_COMPARE_MODE: GLenum { 0x884C } - @inlinable static var CURRENT_QUERY: GLenum { 0x8865 } + @inlinable public static var TEXTURE_COMPARE_FUNC: GLenum { 0x884D } - @inlinable static var QUERY_RESULT: GLenum { 0x8866 } + @inlinable public static var CURRENT_QUERY: GLenum { 0x8865 } - @inlinable static var QUERY_RESULT_AVAILABLE: GLenum { 0x8867 } + @inlinable public static var QUERY_RESULT: GLenum { 0x8866 } - @inlinable static var STREAM_READ: GLenum { 0x88E1 } + @inlinable public static var QUERY_RESULT_AVAILABLE: GLenum { 0x8867 } - @inlinable static var STREAM_COPY: GLenum { 0x88E2 } + @inlinable public static var STREAM_READ: GLenum { 0x88E1 } - @inlinable static var STATIC_READ: GLenum { 0x88E5 } + @inlinable public static var STREAM_COPY: GLenum { 0x88E2 } - @inlinable static var STATIC_COPY: GLenum { 0x88E6 } + @inlinable public static var STATIC_READ: GLenum { 0x88E5 } - @inlinable static var DYNAMIC_READ: GLenum { 0x88E9 } + @inlinable public static var STATIC_COPY: GLenum { 0x88E6 } - @inlinable static var DYNAMIC_COPY: GLenum { 0x88EA } + @inlinable public static var DYNAMIC_READ: GLenum { 0x88E9 } - @inlinable static var MAX_DRAW_BUFFERS: GLenum { 0x8824 } + @inlinable public static var DYNAMIC_COPY: GLenum { 0x88EA } - @inlinable static var DRAW_BUFFER0: GLenum { 0x8825 } + @inlinable public static var MAX_DRAW_BUFFERS: GLenum { 0x8824 } - @inlinable static var DRAW_BUFFER1: GLenum { 0x8826 } + @inlinable public static var DRAW_BUFFER0: GLenum { 0x8825 } - @inlinable static var DRAW_BUFFER2: GLenum { 0x8827 } + @inlinable public static var DRAW_BUFFER1: GLenum { 0x8826 } - @inlinable static var DRAW_BUFFER3: GLenum { 0x8828 } + @inlinable public static var DRAW_BUFFER2: GLenum { 0x8827 } - @inlinable static var DRAW_BUFFER4: GLenum { 0x8829 } + @inlinable public static var DRAW_BUFFER3: GLenum { 0x8828 } - @inlinable static var DRAW_BUFFER5: GLenum { 0x882A } + @inlinable public static var DRAW_BUFFER4: GLenum { 0x8829 } - @inlinable static var DRAW_BUFFER6: GLenum { 0x882B } + @inlinable public static var DRAW_BUFFER5: GLenum { 0x882A } - @inlinable static var DRAW_BUFFER7: GLenum { 0x882C } + @inlinable public static var DRAW_BUFFER6: GLenum { 0x882B } - @inlinable static var DRAW_BUFFER8: GLenum { 0x882D } + @inlinable public static var DRAW_BUFFER7: GLenum { 0x882C } - @inlinable static var DRAW_BUFFER9: GLenum { 0x882E } + @inlinable public static var DRAW_BUFFER8: GLenum { 0x882D } - @inlinable static var DRAW_BUFFER10: GLenum { 0x882F } + @inlinable public static var DRAW_BUFFER9: GLenum { 0x882E } - @inlinable static var DRAW_BUFFER11: GLenum { 0x8830 } + @inlinable public static var DRAW_BUFFER10: GLenum { 0x882F } - @inlinable static var DRAW_BUFFER12: GLenum { 0x8831 } + @inlinable public static var DRAW_BUFFER11: GLenum { 0x8830 } - @inlinable static var DRAW_BUFFER13: GLenum { 0x8832 } + @inlinable public static var DRAW_BUFFER12: GLenum { 0x8831 } - @inlinable static var DRAW_BUFFER14: GLenum { 0x8833 } + @inlinable public static var DRAW_BUFFER13: GLenum { 0x8832 } - @inlinable static var DRAW_BUFFER15: GLenum { 0x8834 } + @inlinable public static var DRAW_BUFFER14: GLenum { 0x8833 } - @inlinable static var MAX_FRAGMENT_UNIFORM_COMPONENTS: GLenum { 0x8B49 } + @inlinable public static var DRAW_BUFFER15: GLenum { 0x8834 } - @inlinable static var MAX_VERTEX_UNIFORM_COMPONENTS: GLenum { 0x8B4A } + @inlinable public static var MAX_FRAGMENT_UNIFORM_COMPONENTS: GLenum { 0x8B49 } - @inlinable static var SAMPLER_3D: GLenum { 0x8B5F } + @inlinable public static var MAX_VERTEX_UNIFORM_COMPONENTS: GLenum { 0x8B4A } - @inlinable static var SAMPLER_2D_SHADOW: GLenum { 0x8B62 } + @inlinable public static var SAMPLER_3D: GLenum { 0x8B5F } - @inlinable static var FRAGMENT_SHADER_DERIVATIVE_HINT: GLenum { 0x8B8B } + @inlinable public static var SAMPLER_2D_SHADOW: GLenum { 0x8B62 } - @inlinable static var PIXEL_PACK_BUFFER: GLenum { 0x88EB } + @inlinable public static var FRAGMENT_SHADER_DERIVATIVE_HINT: GLenum { 0x8B8B } - @inlinable static var PIXEL_UNPACK_BUFFER: GLenum { 0x88EC } + @inlinable public static var PIXEL_PACK_BUFFER: GLenum { 0x88EB } - @inlinable static var PIXEL_PACK_BUFFER_BINDING: GLenum { 0x88ED } + @inlinable public static var PIXEL_UNPACK_BUFFER: GLenum { 0x88EC } - @inlinable static var PIXEL_UNPACK_BUFFER_BINDING: GLenum { 0x88EF } + @inlinable public static var PIXEL_PACK_BUFFER_BINDING: GLenum { 0x88ED } - @inlinable static var FLOAT_MAT2x3: GLenum { 0x8B65 } + @inlinable public static var PIXEL_UNPACK_BUFFER_BINDING: GLenum { 0x88EF } - @inlinable static var FLOAT_MAT2x4: GLenum { 0x8B66 } + @inlinable public static var FLOAT_MAT2x3: GLenum { 0x8B65 } - @inlinable static var FLOAT_MAT3x2: GLenum { 0x8B67 } + @inlinable public static var FLOAT_MAT2x4: GLenum { 0x8B66 } - @inlinable static var FLOAT_MAT3x4: GLenum { 0x8B68 } + @inlinable public static var FLOAT_MAT3x2: GLenum { 0x8B67 } - @inlinable static var FLOAT_MAT4x2: GLenum { 0x8B69 } + @inlinable public static var FLOAT_MAT3x4: GLenum { 0x8B68 } - @inlinable static var FLOAT_MAT4x3: GLenum { 0x8B6A } + @inlinable public static var FLOAT_MAT4x2: GLenum { 0x8B69 } - @inlinable static var SRGB: GLenum { 0x8C40 } + @inlinable public static var FLOAT_MAT4x3: GLenum { 0x8B6A } - @inlinable static var SRGB8: GLenum { 0x8C41 } + @inlinable public static var SRGB: GLenum { 0x8C40 } - @inlinable static var SRGB8_ALPHA8: GLenum { 0x8C43 } + @inlinable public static var SRGB8: GLenum { 0x8C41 } - @inlinable static var COMPARE_REF_TO_TEXTURE: GLenum { 0x884E } + @inlinable public static var SRGB8_ALPHA8: GLenum { 0x8C43 } - @inlinable static var RGBA32F: GLenum { 0x8814 } + @inlinable public static var COMPARE_REF_TO_TEXTURE: GLenum { 0x884E } - @inlinable static var RGB32F: GLenum { 0x8815 } + @inlinable public static var RGBA32F: GLenum { 0x8814 } - @inlinable static var RGBA16F: GLenum { 0x881A } + @inlinable public static var RGB32F: GLenum { 0x8815 } - @inlinable static var RGB16F: GLenum { 0x881B } + @inlinable public static var RGBA16F: GLenum { 0x881A } - @inlinable static var VERTEX_ATTRIB_ARRAY_INTEGER: GLenum { 0x88FD } + @inlinable public static var RGB16F: GLenum { 0x881B } - @inlinable static var MAX_ARRAY_TEXTURE_LAYERS: GLenum { 0x88FF } + @inlinable public static var VERTEX_ATTRIB_ARRAY_INTEGER: GLenum { 0x88FD } - @inlinable static var MIN_PROGRAM_TEXEL_OFFSET: GLenum { 0x8904 } + @inlinable public static var MAX_ARRAY_TEXTURE_LAYERS: GLenum { 0x88FF } - @inlinable static var MAX_PROGRAM_TEXEL_OFFSET: GLenum { 0x8905 } + @inlinable public static var MIN_PROGRAM_TEXEL_OFFSET: GLenum { 0x8904 } - @inlinable static var MAX_VARYING_COMPONENTS: GLenum { 0x8B4B } + @inlinable public static var MAX_PROGRAM_TEXEL_OFFSET: GLenum { 0x8905 } - @inlinable static var TEXTURE_2D_ARRAY: GLenum { 0x8C1A } + @inlinable public static var MAX_VARYING_COMPONENTS: GLenum { 0x8B4B } - @inlinable static var TEXTURE_BINDING_2D_ARRAY: GLenum { 0x8C1D } + @inlinable public static var TEXTURE_2D_ARRAY: GLenum { 0x8C1A } - @inlinable static var R11F_G11F_B10F: GLenum { 0x8C3A } + @inlinable public static var TEXTURE_BINDING_2D_ARRAY: GLenum { 0x8C1D } - @inlinable static var UNSIGNED_INT_10F_11F_11F_REV: GLenum { 0x8C3B } + @inlinable public static var R11F_G11F_B10F: GLenum { 0x8C3A } - @inlinable static var RGB9_E5: GLenum { 0x8C3D } + @inlinable public static var UNSIGNED_INT_10F_11F_11F_REV: GLenum { 0x8C3B } - @inlinable static var UNSIGNED_INT_5_9_9_9_REV: GLenum { 0x8C3E } + @inlinable public static var RGB9_E5: GLenum { 0x8C3D } - @inlinable static var TRANSFORM_FEEDBACK_BUFFER_MODE: GLenum { 0x8C7F } + @inlinable public static var UNSIGNED_INT_5_9_9_9_REV: GLenum { 0x8C3E } - @inlinable static var MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: GLenum { 0x8C80 } + @inlinable public static var TRANSFORM_FEEDBACK_BUFFER_MODE: GLenum { 0x8C7F } - @inlinable static var TRANSFORM_FEEDBACK_VARYINGS: GLenum { 0x8C83 } + @inlinable public static var MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: GLenum { 0x8C80 } - @inlinable static var TRANSFORM_FEEDBACK_BUFFER_START: GLenum { 0x8C84 } + @inlinable public static var TRANSFORM_FEEDBACK_VARYINGS: GLenum { 0x8C83 } - @inlinable static var TRANSFORM_FEEDBACK_BUFFER_SIZE: GLenum { 0x8C85 } + @inlinable public static var TRANSFORM_FEEDBACK_BUFFER_START: GLenum { 0x8C84 } - @inlinable static var TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: GLenum { 0x8C88 } + @inlinable public static var TRANSFORM_FEEDBACK_BUFFER_SIZE: GLenum { 0x8C85 } - @inlinable static var RASTERIZER_DISCARD: GLenum { 0x8C89 } + @inlinable public static var TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: GLenum { 0x8C88 } - @inlinable static var MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: GLenum { 0x8C8A } + @inlinable public static var RASTERIZER_DISCARD: GLenum { 0x8C89 } - @inlinable static var MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: GLenum { 0x8C8B } + @inlinable public static var MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: GLenum { 0x8C8A } - @inlinable static var INTERLEAVED_ATTRIBS: GLenum { 0x8C8C } + @inlinable public static var MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: GLenum { 0x8C8B } - @inlinable static var SEPARATE_ATTRIBS: GLenum { 0x8C8D } + @inlinable public static var INTERLEAVED_ATTRIBS: GLenum { 0x8C8C } - @inlinable static var TRANSFORM_FEEDBACK_BUFFER: GLenum { 0x8C8E } + @inlinable public static var SEPARATE_ATTRIBS: GLenum { 0x8C8D } - @inlinable static var TRANSFORM_FEEDBACK_BUFFER_BINDING: GLenum { 0x8C8F } + @inlinable public static var TRANSFORM_FEEDBACK_BUFFER: GLenum { 0x8C8E } - @inlinable static var RGBA32UI: GLenum { 0x8D70 } + @inlinable public static var TRANSFORM_FEEDBACK_BUFFER_BINDING: GLenum { 0x8C8F } - @inlinable static var RGB32UI: GLenum { 0x8D71 } + @inlinable public static var RGBA32UI: GLenum { 0x8D70 } - @inlinable static var RGBA16UI: GLenum { 0x8D76 } + @inlinable public static var RGB32UI: GLenum { 0x8D71 } - @inlinable static var RGB16UI: GLenum { 0x8D77 } + @inlinable public static var RGBA16UI: GLenum { 0x8D76 } - @inlinable static var RGBA8UI: GLenum { 0x8D7C } + @inlinable public static var RGB16UI: GLenum { 0x8D77 } - @inlinable static var RGB8UI: GLenum { 0x8D7D } + @inlinable public static var RGBA8UI: GLenum { 0x8D7C } - @inlinable static var RGBA32I: GLenum { 0x8D82 } + @inlinable public static var RGB8UI: GLenum { 0x8D7D } - @inlinable static var RGB32I: GLenum { 0x8D83 } + @inlinable public static var RGBA32I: GLenum { 0x8D82 } - @inlinable static var RGBA16I: GLenum { 0x8D88 } + @inlinable public static var RGB32I: GLenum { 0x8D83 } - @inlinable static var RGB16I: GLenum { 0x8D89 } + @inlinable public static var RGBA16I: GLenum { 0x8D88 } - @inlinable static var RGBA8I: GLenum { 0x8D8E } + @inlinable public static var RGB16I: GLenum { 0x8D89 } - @inlinable static var RGB8I: GLenum { 0x8D8F } + @inlinable public static var RGBA8I: GLenum { 0x8D8E } - @inlinable static var RED_INTEGER: GLenum { 0x8D94 } + @inlinable public static var RGB8I: GLenum { 0x8D8F } - @inlinable static var RGB_INTEGER: GLenum { 0x8D98 } + @inlinable public static var RED_INTEGER: GLenum { 0x8D94 } - @inlinable static var RGBA_INTEGER: GLenum { 0x8D99 } + @inlinable public static var RGB_INTEGER: GLenum { 0x8D98 } - @inlinable static var SAMPLER_2D_ARRAY: GLenum { 0x8DC1 } + @inlinable public static var RGBA_INTEGER: GLenum { 0x8D99 } - @inlinable static var SAMPLER_2D_ARRAY_SHADOW: GLenum { 0x8DC4 } + @inlinable public static var SAMPLER_2D_ARRAY: GLenum { 0x8DC1 } - @inlinable static var SAMPLER_CUBE_SHADOW: GLenum { 0x8DC5 } + @inlinable public static var SAMPLER_2D_ARRAY_SHADOW: GLenum { 0x8DC4 } - @inlinable static var UNSIGNED_INT_VEC2: GLenum { 0x8DC6 } + @inlinable public static var SAMPLER_CUBE_SHADOW: GLenum { 0x8DC5 } - @inlinable static var UNSIGNED_INT_VEC3: GLenum { 0x8DC7 } + @inlinable public static var UNSIGNED_INT_VEC2: GLenum { 0x8DC6 } - @inlinable static var UNSIGNED_INT_VEC4: GLenum { 0x8DC8 } + @inlinable public static var UNSIGNED_INT_VEC3: GLenum { 0x8DC7 } - @inlinable static var INT_SAMPLER_2D: GLenum { 0x8DCA } + @inlinable public static var UNSIGNED_INT_VEC4: GLenum { 0x8DC8 } - @inlinable static var INT_SAMPLER_3D: GLenum { 0x8DCB } + @inlinable public static var INT_SAMPLER_2D: GLenum { 0x8DCA } - @inlinable static var INT_SAMPLER_CUBE: GLenum { 0x8DCC } + @inlinable public static var INT_SAMPLER_3D: GLenum { 0x8DCB } - @inlinable static var INT_SAMPLER_2D_ARRAY: GLenum { 0x8DCF } + @inlinable public static var INT_SAMPLER_CUBE: GLenum { 0x8DCC } - @inlinable static var UNSIGNED_INT_SAMPLER_2D: GLenum { 0x8DD2 } + @inlinable public static var INT_SAMPLER_2D_ARRAY: GLenum { 0x8DCF } - @inlinable static var UNSIGNED_INT_SAMPLER_3D: GLenum { 0x8DD3 } + @inlinable public static var UNSIGNED_INT_SAMPLER_2D: GLenum { 0x8DD2 } - @inlinable static var UNSIGNED_INT_SAMPLER_CUBE: GLenum { 0x8DD4 } + @inlinable public static var UNSIGNED_INT_SAMPLER_3D: GLenum { 0x8DD3 } - @inlinable static var UNSIGNED_INT_SAMPLER_2D_ARRAY: GLenum { 0x8DD7 } + @inlinable public static var UNSIGNED_INT_SAMPLER_CUBE: GLenum { 0x8DD4 } - @inlinable static var DEPTH_COMPONENT32F: GLenum { 0x8CAC } + @inlinable public static var UNSIGNED_INT_SAMPLER_2D_ARRAY: GLenum { 0x8DD7 } - @inlinable static var DEPTH32F_STENCIL8: GLenum { 0x8CAD } + @inlinable public static var DEPTH_COMPONENT32F: GLenum { 0x8CAC } - @inlinable static var FLOAT_32_UNSIGNED_INT_24_8_REV: GLenum { 0x8DAD } + @inlinable public static var DEPTH32F_STENCIL8: GLenum { 0x8CAD } - @inlinable static var FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: GLenum { 0x8210 } + @inlinable public static var FLOAT_32_UNSIGNED_INT_24_8_REV: GLenum { 0x8DAD } - @inlinable static var FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: GLenum { 0x8211 } + @inlinable public static var FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: GLenum { 0x8210 } - @inlinable static var FRAMEBUFFER_ATTACHMENT_RED_SIZE: GLenum { 0x8212 } + @inlinable public static var FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: GLenum { 0x8211 } - @inlinable static var FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: GLenum { 0x8213 } + @inlinable public static var FRAMEBUFFER_ATTACHMENT_RED_SIZE: GLenum { 0x8212 } - @inlinable static var FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: GLenum { 0x8214 } + @inlinable public static var FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: GLenum { 0x8213 } - @inlinable static var FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: GLenum { 0x8215 } + @inlinable public static var FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: GLenum { 0x8214 } - @inlinable static var FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: GLenum { 0x8216 } + @inlinable public static var FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: GLenum { 0x8215 } - @inlinable static var FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: GLenum { 0x8217 } + @inlinable public static var FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: GLenum { 0x8216 } - @inlinable static var FRAMEBUFFER_DEFAULT: GLenum { 0x8218 } + @inlinable public static var FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: GLenum { 0x8217 } - @inlinable static var UNSIGNED_INT_24_8: GLenum { 0x84FA } + @inlinable public static var FRAMEBUFFER_DEFAULT: GLenum { 0x8218 } - @inlinable static var DEPTH24_STENCIL8: GLenum { 0x88F0 } + @inlinable public static var UNSIGNED_INT_24_8: GLenum { 0x84FA } - @inlinable static var UNSIGNED_NORMALIZED: GLenum { 0x8C17 } + @inlinable public static var DEPTH24_STENCIL8: GLenum { 0x88F0 } - @inlinable static var DRAW_FRAMEBUFFER_BINDING: GLenum { 0x8CA6 } + @inlinable public static var UNSIGNED_NORMALIZED: GLenum { 0x8C17 } - @inlinable static var READ_FRAMEBUFFER: GLenum { 0x8CA8 } + @inlinable public static var DRAW_FRAMEBUFFER_BINDING: GLenum { 0x8CA6 } - @inlinable static var DRAW_FRAMEBUFFER: GLenum { 0x8CA9 } + @inlinable public static var READ_FRAMEBUFFER: GLenum { 0x8CA8 } - @inlinable static var READ_FRAMEBUFFER_BINDING: GLenum { 0x8CAA } + @inlinable public static var DRAW_FRAMEBUFFER: GLenum { 0x8CA9 } - @inlinable static var RENDERBUFFER_SAMPLES: GLenum { 0x8CAB } + @inlinable public static var READ_FRAMEBUFFER_BINDING: GLenum { 0x8CAA } - @inlinable static var FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: GLenum { 0x8CD4 } + @inlinable public static var RENDERBUFFER_SAMPLES: GLenum { 0x8CAB } - @inlinable static var MAX_COLOR_ATTACHMENTS: GLenum { 0x8CDF } + @inlinable public static var FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: GLenum { 0x8CD4 } - @inlinable static var COLOR_ATTACHMENT1: GLenum { 0x8CE1 } + @inlinable public static var MAX_COLOR_ATTACHMENTS: GLenum { 0x8CDF } - @inlinable static var COLOR_ATTACHMENT2: GLenum { 0x8CE2 } + @inlinable public static var COLOR_ATTACHMENT1: GLenum { 0x8CE1 } - @inlinable static var COLOR_ATTACHMENT3: GLenum { 0x8CE3 } + @inlinable public static var COLOR_ATTACHMENT2: GLenum { 0x8CE2 } - @inlinable static var COLOR_ATTACHMENT4: GLenum { 0x8CE4 } + @inlinable public static var COLOR_ATTACHMENT3: GLenum { 0x8CE3 } - @inlinable static var COLOR_ATTACHMENT5: GLenum { 0x8CE5 } + @inlinable public static var COLOR_ATTACHMENT4: GLenum { 0x8CE4 } - @inlinable static var COLOR_ATTACHMENT6: GLenum { 0x8CE6 } + @inlinable public static var COLOR_ATTACHMENT5: GLenum { 0x8CE5 } - @inlinable static var COLOR_ATTACHMENT7: GLenum { 0x8CE7 } + @inlinable public static var COLOR_ATTACHMENT6: GLenum { 0x8CE6 } - @inlinable static var COLOR_ATTACHMENT8: GLenum { 0x8CE8 } + @inlinable public static var COLOR_ATTACHMENT7: GLenum { 0x8CE7 } - @inlinable static var COLOR_ATTACHMENT9: GLenum { 0x8CE9 } + @inlinable public static var COLOR_ATTACHMENT8: GLenum { 0x8CE8 } - @inlinable static var COLOR_ATTACHMENT10: GLenum { 0x8CEA } + @inlinable public static var COLOR_ATTACHMENT9: GLenum { 0x8CE9 } - @inlinable static var COLOR_ATTACHMENT11: GLenum { 0x8CEB } + @inlinable public static var COLOR_ATTACHMENT10: GLenum { 0x8CEA } - @inlinable static var COLOR_ATTACHMENT12: GLenum { 0x8CEC } + @inlinable public static var COLOR_ATTACHMENT11: GLenum { 0x8CEB } - @inlinable static var COLOR_ATTACHMENT13: GLenum { 0x8CED } + @inlinable public static var COLOR_ATTACHMENT12: GLenum { 0x8CEC } - @inlinable static var COLOR_ATTACHMENT14: GLenum { 0x8CEE } + @inlinable public static var COLOR_ATTACHMENT13: GLenum { 0x8CED } - @inlinable static var COLOR_ATTACHMENT15: GLenum { 0x8CEF } + @inlinable public static var COLOR_ATTACHMENT14: GLenum { 0x8CEE } - @inlinable static var FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: GLenum { 0x8D56 } + @inlinable public static var COLOR_ATTACHMENT15: GLenum { 0x8CEF } - @inlinable static var MAX_SAMPLES: GLenum { 0x8D57 } + @inlinable public static var FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: GLenum { 0x8D56 } - @inlinable static var HALF_FLOAT: GLenum { 0x140B } + @inlinable public static var MAX_SAMPLES: GLenum { 0x8D57 } - @inlinable static var RG: GLenum { 0x8227 } + @inlinable public static var HALF_FLOAT: GLenum { 0x140B } - @inlinable static var RG_INTEGER: GLenum { 0x8228 } + @inlinable public static var RG: GLenum { 0x8227 } - @inlinable static var R8: GLenum { 0x8229 } + @inlinable public static var RG_INTEGER: GLenum { 0x8228 } - @inlinable static var RG8: GLenum { 0x822B } + @inlinable public static var R8: GLenum { 0x8229 } - @inlinable static var R16F: GLenum { 0x822D } + @inlinable public static var RG8: GLenum { 0x822B } - @inlinable static var R32F: GLenum { 0x822E } + @inlinable public static var R16F: GLenum { 0x822D } - @inlinable static var RG16F: GLenum { 0x822F } + @inlinable public static var R32F: GLenum { 0x822E } - @inlinable static var RG32F: GLenum { 0x8230 } + @inlinable public static var RG16F: GLenum { 0x822F } - @inlinable static var R8I: GLenum { 0x8231 } + @inlinable public static var RG32F: GLenum { 0x8230 } - @inlinable static var R8UI: GLenum { 0x8232 } + @inlinable public static var R8I: GLenum { 0x8231 } - @inlinable static var R16I: GLenum { 0x8233 } + @inlinable public static var R8UI: GLenum { 0x8232 } - @inlinable static var R16UI: GLenum { 0x8234 } + @inlinable public static var R16I: GLenum { 0x8233 } - @inlinable static var R32I: GLenum { 0x8235 } + @inlinable public static var R16UI: GLenum { 0x8234 } - @inlinable static var R32UI: GLenum { 0x8236 } + @inlinable public static var R32I: GLenum { 0x8235 } - @inlinable static var RG8I: GLenum { 0x8237 } + @inlinable public static var R32UI: GLenum { 0x8236 } - @inlinable static var RG8UI: GLenum { 0x8238 } + @inlinable public static var RG8I: GLenum { 0x8237 } - @inlinable static var RG16I: GLenum { 0x8239 } + @inlinable public static var RG8UI: GLenum { 0x8238 } - @inlinable static var RG16UI: GLenum { 0x823A } + @inlinable public static var RG16I: GLenum { 0x8239 } - @inlinable static var RG32I: GLenum { 0x823B } + @inlinable public static var RG16UI: GLenum { 0x823A } - @inlinable static var RG32UI: GLenum { 0x823C } + @inlinable public static var RG32I: GLenum { 0x823B } - @inlinable static var VERTEX_ARRAY_BINDING: GLenum { 0x85B5 } + @inlinable public static var RG32UI: GLenum { 0x823C } - @inlinable static var R8_SNORM: GLenum { 0x8F94 } + @inlinable public static var VERTEX_ARRAY_BINDING: GLenum { 0x85B5 } - @inlinable static var RG8_SNORM: GLenum { 0x8F95 } + @inlinable public static var R8_SNORM: GLenum { 0x8F94 } - @inlinable static var RGB8_SNORM: GLenum { 0x8F96 } + @inlinable public static var RG8_SNORM: GLenum { 0x8F95 } - @inlinable static var RGBA8_SNORM: GLenum { 0x8F97 } + @inlinable public static var RGB8_SNORM: GLenum { 0x8F96 } - @inlinable static var SIGNED_NORMALIZED: GLenum { 0x8F9C } + @inlinable public static var RGBA8_SNORM: GLenum { 0x8F97 } - @inlinable static var COPY_READ_BUFFER: GLenum { 0x8F36 } + @inlinable public static var SIGNED_NORMALIZED: GLenum { 0x8F9C } - @inlinable static var COPY_WRITE_BUFFER: GLenum { 0x8F37 } + @inlinable public static var COPY_READ_BUFFER: GLenum { 0x8F36 } - @inlinable static var COPY_READ_BUFFER_BINDING: GLenum { 0x8F36 } + @inlinable public static var COPY_WRITE_BUFFER: GLenum { 0x8F37 } - @inlinable static var COPY_WRITE_BUFFER_BINDING: GLenum { 0x8F37 } + @inlinable public static var COPY_READ_BUFFER_BINDING: GLenum { 0x8F36 } - @inlinable static var UNIFORM_BUFFER: GLenum { 0x8A11 } + @inlinable public static var COPY_WRITE_BUFFER_BINDING: GLenum { 0x8F37 } - @inlinable static var UNIFORM_BUFFER_BINDING: GLenum { 0x8A28 } + @inlinable public static var UNIFORM_BUFFER: GLenum { 0x8A11 } - @inlinable static var UNIFORM_BUFFER_START: GLenum { 0x8A29 } + @inlinable public static var UNIFORM_BUFFER_BINDING: GLenum { 0x8A28 } - @inlinable static var UNIFORM_BUFFER_SIZE: GLenum { 0x8A2A } + @inlinable public static var UNIFORM_BUFFER_START: GLenum { 0x8A29 } - @inlinable static var MAX_VERTEX_UNIFORM_BLOCKS: GLenum { 0x8A2B } + @inlinable public static var UNIFORM_BUFFER_SIZE: GLenum { 0x8A2A } - @inlinable static var MAX_FRAGMENT_UNIFORM_BLOCKS: GLenum { 0x8A2D } + @inlinable public static var MAX_VERTEX_UNIFORM_BLOCKS: GLenum { 0x8A2B } - @inlinable static var MAX_COMBINED_UNIFORM_BLOCKS: GLenum { 0x8A2E } + @inlinable public static var MAX_FRAGMENT_UNIFORM_BLOCKS: GLenum { 0x8A2D } - @inlinable static var MAX_UNIFORM_BUFFER_BINDINGS: GLenum { 0x8A2F } + @inlinable public static var MAX_COMBINED_UNIFORM_BLOCKS: GLenum { 0x8A2E } - @inlinable static var MAX_UNIFORM_BLOCK_SIZE: GLenum { 0x8A30 } + @inlinable public static var MAX_UNIFORM_BUFFER_BINDINGS: GLenum { 0x8A2F } - @inlinable static var MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: GLenum { 0x8A31 } + @inlinable public static var MAX_UNIFORM_BLOCK_SIZE: GLenum { 0x8A30 } - @inlinable static var MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: GLenum { 0x8A33 } + @inlinable public static var MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: GLenum { 0x8A31 } - @inlinable static var UNIFORM_BUFFER_OFFSET_ALIGNMENT: GLenum { 0x8A34 } + @inlinable public static var MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: GLenum { 0x8A33 } - @inlinable static var ACTIVE_UNIFORM_BLOCKS: GLenum { 0x8A36 } + @inlinable public static var UNIFORM_BUFFER_OFFSET_ALIGNMENT: GLenum { 0x8A34 } - @inlinable static var UNIFORM_TYPE: GLenum { 0x8A37 } + @inlinable public static var ACTIVE_UNIFORM_BLOCKS: GLenum { 0x8A36 } - @inlinable static var UNIFORM_SIZE: GLenum { 0x8A38 } + @inlinable public static var UNIFORM_TYPE: GLenum { 0x8A37 } - @inlinable static var UNIFORM_BLOCK_INDEX: GLenum { 0x8A3A } + @inlinable public static var UNIFORM_SIZE: GLenum { 0x8A38 } - @inlinable static var UNIFORM_OFFSET: GLenum { 0x8A3B } + @inlinable public static var UNIFORM_BLOCK_INDEX: GLenum { 0x8A3A } - @inlinable static var UNIFORM_ARRAY_STRIDE: GLenum { 0x8A3C } + @inlinable public static var UNIFORM_OFFSET: GLenum { 0x8A3B } - @inlinable static var UNIFORM_MATRIX_STRIDE: GLenum { 0x8A3D } + @inlinable public static var UNIFORM_ARRAY_STRIDE: GLenum { 0x8A3C } - @inlinable static var UNIFORM_IS_ROW_MAJOR: GLenum { 0x8A3E } + @inlinable public static var UNIFORM_MATRIX_STRIDE: GLenum { 0x8A3D } - @inlinable static var UNIFORM_BLOCK_BINDING: GLenum { 0x8A3F } + @inlinable public static var UNIFORM_IS_ROW_MAJOR: GLenum { 0x8A3E } - @inlinable static var UNIFORM_BLOCK_DATA_SIZE: GLenum { 0x8A40 } + @inlinable public static var UNIFORM_BLOCK_BINDING: GLenum { 0x8A3F } - @inlinable static var UNIFORM_BLOCK_ACTIVE_UNIFORMS: GLenum { 0x8A42 } + @inlinable public static var UNIFORM_BLOCK_DATA_SIZE: GLenum { 0x8A40 } - @inlinable static var UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: GLenum { 0x8A43 } + @inlinable public static var UNIFORM_BLOCK_ACTIVE_UNIFORMS: GLenum { 0x8A42 } - @inlinable static var UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: GLenum { 0x8A44 } + @inlinable public static var UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: GLenum { 0x8A43 } - @inlinable static var UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: GLenum { 0x8A46 } + @inlinable public static var UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: GLenum { 0x8A44 } - @inlinable static var INVALID_INDEX: GLenum { 0xFFFF_FFFF } + @inlinable public static var UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: GLenum { 0x8A46 } - @inlinable static var MAX_VERTEX_OUTPUT_COMPONENTS: GLenum { 0x9122 } + @inlinable public static var INVALID_INDEX: GLenum { 0xFFFF_FFFF } - @inlinable static var MAX_FRAGMENT_INPUT_COMPONENTS: GLenum { 0x9125 } + @inlinable public static var MAX_VERTEX_OUTPUT_COMPONENTS: GLenum { 0x9122 } - @inlinable static var MAX_SERVER_WAIT_TIMEOUT: GLenum { 0x9111 } + @inlinable public static var MAX_FRAGMENT_INPUT_COMPONENTS: GLenum { 0x9125 } - @inlinable static var OBJECT_TYPE: GLenum { 0x9112 } + @inlinable public static var MAX_SERVER_WAIT_TIMEOUT: GLenum { 0x9111 } - @inlinable static var SYNC_CONDITION: GLenum { 0x9113 } + @inlinable public static var OBJECT_TYPE: GLenum { 0x9112 } - @inlinable static var SYNC_STATUS: GLenum { 0x9114 } + @inlinable public static var SYNC_CONDITION: GLenum { 0x9113 } - @inlinable static var SYNC_FLAGS: GLenum { 0x9115 } + @inlinable public static var SYNC_STATUS: GLenum { 0x9114 } - @inlinable static var SYNC_FENCE: GLenum { 0x9116 } + @inlinable public static var SYNC_FLAGS: GLenum { 0x9115 } - @inlinable static var SYNC_GPU_COMMANDS_COMPLETE: GLenum { 0x9117 } + @inlinable public static var SYNC_FENCE: GLenum { 0x9116 } - @inlinable static var UNSIGNALED: GLenum { 0x9118 } + @inlinable public static var SYNC_GPU_COMMANDS_COMPLETE: GLenum { 0x9117 } - @inlinable static var SIGNALED: GLenum { 0x9119 } + @inlinable public static var UNSIGNALED: GLenum { 0x9118 } - @inlinable static var ALREADY_SIGNALED: GLenum { 0x911A } + @inlinable public static var SIGNALED: GLenum { 0x9119 } - @inlinable static var TIMEOUT_EXPIRED: GLenum { 0x911B } + @inlinable public static var ALREADY_SIGNALED: GLenum { 0x911A } - @inlinable static var CONDITION_SATISFIED: GLenum { 0x911C } + @inlinable public static var TIMEOUT_EXPIRED: GLenum { 0x911B } - @inlinable static var WAIT_FAILED: GLenum { 0x911D } + @inlinable public static var CONDITION_SATISFIED: GLenum { 0x911C } - @inlinable static var SYNC_FLUSH_COMMANDS_BIT: GLenum { 0x0000_0001 } + @inlinable public static var WAIT_FAILED: GLenum { 0x911D } - @inlinable static var VERTEX_ATTRIB_ARRAY_DIVISOR: GLenum { 0x88FE } + @inlinable public static var SYNC_FLUSH_COMMANDS_BIT: GLenum { 0x0000_0001 } - @inlinable static var ANY_SAMPLES_PASSED: GLenum { 0x8C2F } + @inlinable public static var VERTEX_ATTRIB_ARRAY_DIVISOR: GLenum { 0x88FE } - @inlinable static var ANY_SAMPLES_PASSED_CONSERVATIVE: GLenum { 0x8D6A } + @inlinable public static var ANY_SAMPLES_PASSED: GLenum { 0x8C2F } - @inlinable static var SAMPLER_BINDING: GLenum { 0x8919 } + @inlinable public static var ANY_SAMPLES_PASSED_CONSERVATIVE: GLenum { 0x8D6A } - @inlinable static var RGB10_A2UI: GLenum { 0x906F } + @inlinable public static var SAMPLER_BINDING: GLenum { 0x8919 } - @inlinable static var INT_2_10_10_10_REV: GLenum { 0x8D9F } + @inlinable public static var RGB10_A2UI: GLenum { 0x906F } - @inlinable static var TRANSFORM_FEEDBACK: GLenum { 0x8E22 } + @inlinable public static var INT_2_10_10_10_REV: GLenum { 0x8D9F } - @inlinable static var TRANSFORM_FEEDBACK_PAUSED: GLenum { 0x8E23 } + @inlinable public static var TRANSFORM_FEEDBACK: GLenum { 0x8E22 } - @inlinable static var TRANSFORM_FEEDBACK_ACTIVE: GLenum { 0x8E24 } + @inlinable public static var TRANSFORM_FEEDBACK_PAUSED: GLenum { 0x8E23 } - @inlinable static var TRANSFORM_FEEDBACK_BINDING: GLenum { 0x8E25 } + @inlinable public static var TRANSFORM_FEEDBACK_ACTIVE: GLenum { 0x8E24 } - @inlinable static var TEXTURE_IMMUTABLE_FORMAT: GLenum { 0x912F } + @inlinable public static var TRANSFORM_FEEDBACK_BINDING: GLenum { 0x8E25 } - @inlinable static var MAX_ELEMENT_INDEX: GLenum { 0x8D6B } + @inlinable public static var TEXTURE_IMMUTABLE_FORMAT: GLenum { 0x912F } - @inlinable static var TEXTURE_IMMUTABLE_LEVELS: GLenum { 0x82DF } + @inlinable public static var MAX_ELEMENT_INDEX: GLenum { 0x8D6B } - @inlinable static var TIMEOUT_IGNORED: GLint64 { -1 } + @inlinable public static var TEXTURE_IMMUTABLE_LEVELS: GLenum { 0x82DF } - @inlinable static var MAX_CLIENT_WAIT_TIMEOUT_WEBGL: GLenum { 0x9247 } + @inlinable public static var TIMEOUT_IGNORED: GLint64 { -1 } - @inlinable func copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr) { - let this = jsObject - _ = this[Strings.copyBufferSubData].function!(this: this, arguments: [_toJSValue(readTarget), _toJSValue(writeTarget), _toJSValue(readOffset), _toJSValue(writeOffset), _toJSValue(size)]) - } + @inlinable public static var MAX_CLIENT_WAIT_TIMEOUT_WEBGL: GLenum { 0x9247 } - @inlinable func getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, dstOffset: GLuint? = nil, length: GLuint? = nil) { + @inlinable public func copyBufferSubData( + readTarget: GLenum, + writeTarget: GLenum, + readOffset: GLintptr, + writeOffset: GLintptr, + size: GLsizeiptr + ) { let this = jsObject - _ = this[Strings.getBufferSubData].function!(this: this, arguments: [_toJSValue(target), _toJSValue(srcByteOffset), _toJSValue(dstBuffer), _toJSValue(dstOffset), _toJSValue(length)]) + _ = this[Strings.copyBufferSubData].function!( + this: this, + arguments: [ + _toJSValue(readTarget), _toJSValue(writeTarget), _toJSValue(readOffset), _toJSValue(writeOffset), + _toJSValue(size), + ] + ) } - @inlinable func blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum) { + @inlinable public func getBufferSubData( + target: GLenum, + srcByteOffset: GLintptr, + dstBuffer: ArrayBufferView, + dstOffset: GLuint? = nil, + length: GLuint? = nil + ) { let this = jsObject - _ = this[Strings.blitFramebuffer].function!(this: this, arguments: [_toJSValue(srcX0), _toJSValue(srcY0), _toJSValue(srcX1), _toJSValue(srcY1), _toJSValue(dstX0), _toJSValue(dstY0), _toJSValue(dstX1), _toJSValue(dstY1), _toJSValue(mask), _toJSValue(filter)]) + _ = this[Strings.getBufferSubData].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(srcByteOffset), _toJSValue(dstBuffer), _toJSValue(dstOffset), + _toJSValue(length), + ] + ) } - @inlinable func framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture?, level: GLint, layer: GLint) { + @inlinable public func blitFramebuffer( + srcX0: GLint, + srcY0: GLint, + srcX1: GLint, + srcY1: GLint, + dstX0: GLint, + dstY0: GLint, + dstX1: GLint, + dstY1: GLint, + mask: GLbitfield, + filter: GLenum + ) { let this = jsObject - _ = this[Strings.framebufferTextureLayer].function!(this: this, arguments: [_toJSValue(target), _toJSValue(attachment), _toJSValue(texture), _toJSValue(level), _toJSValue(layer)]) + _ = this[Strings.blitFramebuffer].function!( + this: this, + arguments: [ + _toJSValue(srcX0), _toJSValue(srcY0), _toJSValue(srcX1), _toJSValue(srcY1), _toJSValue(dstX0), + _toJSValue(dstY0), _toJSValue(dstX1), _toJSValue(dstY1), _toJSValue(mask), _toJSValue(filter), + ] + ) } - @inlinable func invalidateFramebuffer(target: GLenum, attachments: [GLenum]) { + @inlinable public func framebufferTextureLayer( + target: GLenum, + attachment: GLenum, + texture: WebGLTexture?, + level: GLint, + layer: GLint + ) { let this = jsObject - _ = this[Strings.invalidateFramebuffer].function!(this: this, arguments: [_toJSValue(target), _toJSValue(attachments)]) + _ = this[Strings.framebufferTextureLayer].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(attachment), _toJSValue(texture), _toJSValue(level), _toJSValue(layer), + ] + ) } - @inlinable func invalidateSubFramebuffer(target: GLenum, attachments: [GLenum], x: GLint, y: GLint, width: GLsizei, height: GLsizei) { + @inlinable public func invalidateFramebuffer(target: GLenum, attachments: [GLenum]) { let this = jsObject - _ = this[Strings.invalidateSubFramebuffer].function!(this: this, arguments: [_toJSValue(target), _toJSValue(attachments), _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)]) + _ = this[Strings.invalidateFramebuffer].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(attachments)] + ) } - @inlinable func readBuffer(src: GLenum) { + @inlinable public func invalidateSubFramebuffer( + target: GLenum, + attachments: [GLenum], + x: GLint, + y: GLint, + width: GLsizei, + height: GLsizei + ) { + let this = jsObject + _ = this[Strings.invalidateSubFramebuffer].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(attachments), _toJSValue(x), _toJSValue(y), _toJSValue(width), + _toJSValue(height), + ] + ) + } + + @inlinable public func readBuffer(src: GLenum) { let this = jsObject _ = this[Strings.readBuffer].function!(this: this, arguments: [_toJSValue(src)]) } - @inlinable func getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum) -> JSValue { - let this = jsObject - return this[Strings.getInternalformatParameter].function!(this: this, arguments: [_toJSValue(target), _toJSValue(internalformat), _toJSValue(pname)]).fromJSValue()! - } - - @inlinable func renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) { - let this = jsObject - _ = this[Strings.renderbufferStorageMultisample].function!(this: this, arguments: [_toJSValue(target), _toJSValue(samples), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height)]) - } - - @inlinable func texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) { - let this = jsObject - _ = this[Strings.texStorage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(levels), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height)]) - } - - @inlinable func texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei) { - let this = jsObject - _ = this[Strings.texStorage3D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(levels), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(depth)]) - } - - @inlinable func texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) { - let this = jsObject - _ = this[Strings.texImage3D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(pboOffset)]) - } - - @inlinable func texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource) { - let this = jsObject - _ = this[Strings.texImage3D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(source)]) - } - - @inlinable func texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView?) { - let this = jsObject - _ = this[Strings.texImage3D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(srcData)]) - } - - @inlinable func texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) { - let this = jsObject - _ = this[Strings.texImage3D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(srcData), _toJSValue(srcOffset)]) - } - - @inlinable func texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) { - let this = jsObject - _ = this[Strings.texSubImage3D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(zoffset), _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(format), _toJSValue(type), _toJSValue(pboOffset)]) - } - - @inlinable func texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: TexImageSource) { - let this = jsObject - _ = this[Strings.texSubImage3D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(zoffset), _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(format), _toJSValue(type), _toJSValue(source)]) - } - - @inlinable func texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView?, srcOffset: GLuint? = nil) { - let this = jsObject - _ = this[Strings.texSubImage3D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(zoffset), _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(format), _toJSValue(type), _toJSValue(srcData), _toJSValue(srcOffset)]) - } - - @inlinable func copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) { - let this = jsObject - _ = this[Strings.copyTexSubImage3D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(zoffset), _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)]) - } - - @inlinable func compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) { - let this = jsObject - _ = this[Strings.compressedTexImage3D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(border), _toJSValue(imageSize), _toJSValue(offset)]) - } - - @inlinable func compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset: GLuint? = nil, srcLengthOverride: GLuint? = nil) { - let this = jsObject - _ = this[Strings.compressedTexImage3D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(border), _toJSValue(srcData), _toJSValue(srcOffset), _toJSValue(srcLengthOverride)]) - } - - @inlinable func compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) { - let this = jsObject - _ = this[Strings.compressedTexSubImage3D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(zoffset), _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(format), _toJSValue(imageSize), _toJSValue(offset)]) - } - - @inlinable func compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset: GLuint? = nil, srcLengthOverride: GLuint? = nil) { - let this = jsObject - _ = this[Strings.compressedTexSubImage3D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(zoffset), _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(format), _toJSValue(srcData), _toJSValue(srcOffset), _toJSValue(srcLengthOverride)]) - } - - @inlinable func getFragDataLocation(program: WebGLProgram, name: String) -> GLint { - let this = jsObject - return this[Strings.getFragDataLocation].function!(this: this, arguments: [_toJSValue(program), _toJSValue(name)]).fromJSValue()! - } - - @inlinable func uniform1ui(location: WebGLUniformLocation?, v0: GLuint) { + @inlinable public func getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum) -> JSValue + { + let this = jsObject + return this[Strings.getInternalformatParameter].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(internalformat), _toJSValue(pname)] + ).fromJSValue()! + } + + @inlinable public func renderbufferStorageMultisample( + target: GLenum, + samples: GLsizei, + internalformat: GLenum, + width: GLsizei, + height: GLsizei + ) { + let this = jsObject + _ = this[Strings.renderbufferStorageMultisample].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(samples), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), + ] + ) + } + + @inlinable public func texStorage2D( + target: GLenum, + levels: GLsizei, + internalformat: GLenum, + width: GLsizei, + height: GLsizei + ) { + let this = jsObject + _ = this[Strings.texStorage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(levels), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), + ] + ) + } + + @inlinable public func texStorage3D( + target: GLenum, + levels: GLsizei, + internalformat: GLenum, + width: GLsizei, + height: GLsizei, + depth: GLsizei + ) { + let this = jsObject + _ = this[Strings.texStorage3D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(levels), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(depth), + ] + ) + } + + @inlinable public func texImage3D( + target: GLenum, + level: GLint, + internalformat: GLint, + width: GLsizei, + height: GLsizei, + depth: GLsizei, + border: GLint, + format: GLenum, + type: GLenum, + pboOffset: GLintptr + ) { + let this = jsObject + _ = this[Strings.texImage3D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(depth), _toJSValue(border), _toJSValue(format), _toJSValue(type), + _toJSValue(pboOffset), + ] + ) + } + + @inlinable public func texImage3D( + target: GLenum, + level: GLint, + internalformat: GLint, + width: GLsizei, + height: GLsizei, + depth: GLsizei, + border: GLint, + format: GLenum, + type: GLenum, + source: TexImageSource + ) { + let this = jsObject + _ = this[Strings.texImage3D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(depth), _toJSValue(border), _toJSValue(format), _toJSValue(type), + _toJSValue(source), + ] + ) + } + + @inlinable public func texImage3D( + target: GLenum, + level: GLint, + internalformat: GLint, + width: GLsizei, + height: GLsizei, + depth: GLsizei, + border: GLint, + format: GLenum, + type: GLenum, + srcData: ArrayBufferView? + ) { + let this = jsObject + _ = this[Strings.texImage3D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(depth), _toJSValue(border), _toJSValue(format), _toJSValue(type), + _toJSValue(srcData), + ] + ) + } + + @inlinable public func texImage3D( + target: GLenum, + level: GLint, + internalformat: GLint, + width: GLsizei, + height: GLsizei, + depth: GLsizei, + border: GLint, + format: GLenum, + type: GLenum, + srcData: ArrayBufferView, + srcOffset: GLuint + ) { + let this = jsObject + _ = this[Strings.texImage3D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(depth), _toJSValue(border), _toJSValue(format), _toJSValue(type), + _toJSValue(srcData), _toJSValue(srcOffset), + ] + ) + } + + @inlinable public func texSubImage3D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + zoffset: GLint, + width: GLsizei, + height: GLsizei, + depth: GLsizei, + format: GLenum, + type: GLenum, + pboOffset: GLintptr + ) { + let this = jsObject + _ = this[Strings.texSubImage3D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(zoffset), + _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(format), _toJSValue(type), + _toJSValue(pboOffset), + ] + ) + } + + @inlinable public func texSubImage3D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + zoffset: GLint, + width: GLsizei, + height: GLsizei, + depth: GLsizei, + format: GLenum, + type: GLenum, + source: TexImageSource + ) { + let this = jsObject + _ = this[Strings.texSubImage3D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(zoffset), + _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(format), _toJSValue(type), + _toJSValue(source), + ] + ) + } + + @inlinable public func texSubImage3D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + zoffset: GLint, + width: GLsizei, + height: GLsizei, + depth: GLsizei, + format: GLenum, + type: GLenum, + srcData: ArrayBufferView?, + srcOffset: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.texSubImage3D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(zoffset), + _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(format), _toJSValue(type), + _toJSValue(srcData), _toJSValue(srcOffset), + ] + ) + } + + @inlinable public func copyTexSubImage3D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + zoffset: GLint, + x: GLint, + y: GLint, + width: GLsizei, + height: GLsizei + ) { + let this = jsObject + _ = this[Strings.copyTexSubImage3D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(zoffset), + _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), + ] + ) + } + + @inlinable public func compressedTexImage3D( + target: GLenum, + level: GLint, + internalformat: GLenum, + width: GLsizei, + height: GLsizei, + depth: GLsizei, + border: GLint, + imageSize: GLsizei, + offset: GLintptr + ) { + let this = jsObject + _ = this[Strings.compressedTexImage3D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(depth), _toJSValue(border), _toJSValue(imageSize), _toJSValue(offset), + ] + ) + } + + @inlinable public func compressedTexImage3D( + target: GLenum, + level: GLint, + internalformat: GLenum, + width: GLsizei, + height: GLsizei, + depth: GLsizei, + border: GLint, + srcData: ArrayBufferView, + srcOffset: GLuint? = nil, + srcLengthOverride: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.compressedTexImage3D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(depth), _toJSValue(border), _toJSValue(srcData), _toJSValue(srcOffset), + _toJSValue(srcLengthOverride), + ] + ) + } + + @inlinable public func compressedTexSubImage3D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + zoffset: GLint, + width: GLsizei, + height: GLsizei, + depth: GLsizei, + format: GLenum, + imageSize: GLsizei, + offset: GLintptr + ) { + let this = jsObject + _ = this[Strings.compressedTexSubImage3D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(zoffset), + _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(format), _toJSValue(imageSize), + _toJSValue(offset), + ] + ) + } + + @inlinable public func compressedTexSubImage3D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + zoffset: GLint, + width: GLsizei, + height: GLsizei, + depth: GLsizei, + format: GLenum, + srcData: ArrayBufferView, + srcOffset: GLuint? = nil, + srcLengthOverride: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.compressedTexSubImage3D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(zoffset), + _toJSValue(width), _toJSValue(height), _toJSValue(depth), _toJSValue(format), _toJSValue(srcData), + _toJSValue(srcOffset), _toJSValue(srcLengthOverride), + ] + ) + } + + @inlinable public func getFragDataLocation(program: WebGLProgram, name: String) -> GLint { + let this = jsObject + return this[Strings.getFragDataLocation].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(name)] + ).fromJSValue()! + } + + @inlinable public func uniform1ui(location: WebGLUniformLocation?, v0: GLuint) { let this = jsObject _ = this[Strings.uniform1ui].function!(this: this, arguments: [_toJSValue(location), _toJSValue(v0)]) } - @inlinable func uniform2ui(location: WebGLUniformLocation?, v0: GLuint, v1: GLuint) { - let this = jsObject - _ = this[Strings.uniform2ui].function!(this: this, arguments: [_toJSValue(location), _toJSValue(v0), _toJSValue(v1)]) - } - - @inlinable func uniform3ui(location: WebGLUniformLocation?, v0: GLuint, v1: GLuint, v2: GLuint) { - let this = jsObject - _ = this[Strings.uniform3ui].function!(this: this, arguments: [_toJSValue(location), _toJSValue(v0), _toJSValue(v1), _toJSValue(v2)]) - } - - @inlinable func uniform4ui(location: WebGLUniformLocation?, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint) { - let this = jsObject - _ = this[Strings.uniform4ui].function!(this: this, arguments: [_toJSValue(location), _toJSValue(v0), _toJSValue(v1), _toJSValue(v2), _toJSValue(v3)]) - } - - @inlinable func uniform1uiv(location: WebGLUniformLocation?, data: Uint32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniform1uiv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniform2uiv(location: WebGLUniformLocation?, data: Uint32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniform2uiv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniform3uiv(location: WebGLUniformLocation?, data: Uint32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniform3uiv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniform4uiv(location: WebGLUniformLocation?, data: Uint32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniform4uiv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniformMatrix3x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniformMatrix3x2fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniformMatrix4x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniformMatrix4x2fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniformMatrix2x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniformMatrix2x3fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniformMatrix4x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniformMatrix4x3fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniformMatrix2x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { + @inlinable public func uniform2ui(location: WebGLUniformLocation?, v0: GLuint, v1: GLuint) { let this = jsObject - _ = this[Strings.uniformMatrix2x4fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) + _ = this[Strings.uniform2ui].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(v0), _toJSValue(v1)] + ) } - @inlinable func uniformMatrix3x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { + @inlinable public func uniform3ui(location: WebGLUniformLocation?, v0: GLuint, v1: GLuint, v2: GLuint) { let this = jsObject - _ = this[Strings.uniformMatrix3x4fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) + _ = this[Strings.uniform3ui].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(v0), _toJSValue(v1), _toJSValue(v2)] + ) } - @inlinable func vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint) { + @inlinable public func uniform4ui(location: WebGLUniformLocation?, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint) { let this = jsObject - _ = this[Strings.vertexAttribI4i].function!(this: this, arguments: [_toJSValue(index), _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)]) - } - - @inlinable func vertexAttribI4iv(index: GLuint, values: Int32List) { + _ = this[Strings.uniform4ui].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(v0), _toJSValue(v1), _toJSValue(v2), _toJSValue(v3)] + ) + } + + @inlinable public func uniform1uiv( + location: WebGLUniformLocation?, + data: Uint32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniform1uiv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)] + ) + } + + @inlinable public func uniform2uiv( + location: WebGLUniformLocation?, + data: Uint32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniform2uiv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)] + ) + } + + @inlinable public func uniform3uiv( + location: WebGLUniformLocation?, + data: Uint32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniform3uiv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)] + ) + } + + @inlinable public func uniform4uiv( + location: WebGLUniformLocation?, + data: Uint32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniform4uiv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)] + ) + } + + @inlinable public func uniformMatrix3x2fv( + location: WebGLUniformLocation?, + transpose: GLboolean, + data: Float32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniformMatrix3x2fv].function!( + this: this, + arguments: [ + _toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), + _toJSValue(srcLength), + ] + ) + } + + @inlinable public func uniformMatrix4x2fv( + location: WebGLUniformLocation?, + transpose: GLboolean, + data: Float32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniformMatrix4x2fv].function!( + this: this, + arguments: [ + _toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), + _toJSValue(srcLength), + ] + ) + } + + @inlinable public func uniformMatrix2x3fv( + location: WebGLUniformLocation?, + transpose: GLboolean, + data: Float32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniformMatrix2x3fv].function!( + this: this, + arguments: [ + _toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), + _toJSValue(srcLength), + ] + ) + } + + @inlinable public func uniformMatrix4x3fv( + location: WebGLUniformLocation?, + transpose: GLboolean, + data: Float32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniformMatrix4x3fv].function!( + this: this, + arguments: [ + _toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), + _toJSValue(srcLength), + ] + ) + } + + @inlinable public func uniformMatrix2x4fv( + location: WebGLUniformLocation?, + transpose: GLboolean, + data: Float32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniformMatrix2x4fv].function!( + this: this, + arguments: [ + _toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), + _toJSValue(srcLength), + ] + ) + } + + @inlinable public func uniformMatrix3x4fv( + location: WebGLUniformLocation?, + transpose: GLboolean, + data: Float32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniformMatrix3x4fv].function!( + this: this, + arguments: [ + _toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), + _toJSValue(srcLength), + ] + ) + } + + @inlinable public func vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint) { + let this = jsObject + _ = this[Strings.vertexAttribI4i].function!( + this: this, + arguments: [_toJSValue(index), _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)] + ) + } + + @inlinable public func vertexAttribI4iv(index: GLuint, values: Int32List) { let this = jsObject _ = this[Strings.vertexAttribI4iv].function!(this: this, arguments: [_toJSValue(index), _toJSValue(values)]) } - @inlinable func vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint) { + @inlinable public func vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint) { let this = jsObject - _ = this[Strings.vertexAttribI4ui].function!(this: this, arguments: [_toJSValue(index), _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)]) + _ = this[Strings.vertexAttribI4ui].function!( + this: this, + arguments: [_toJSValue(index), _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)] + ) } - @inlinable func vertexAttribI4uiv(index: GLuint, values: Uint32List) { + @inlinable public func vertexAttribI4uiv(index: GLuint, values: Uint32List) { let this = jsObject _ = this[Strings.vertexAttribI4uiv].function!(this: this, arguments: [_toJSValue(index), _toJSValue(values)]) } - @inlinable func vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr) { + @inlinable public func vertexAttribIPointer( + index: GLuint, + size: GLint, + type: GLenum, + stride: GLsizei, + offset: GLintptr + ) { let this = jsObject - _ = this[Strings.vertexAttribIPointer].function!(this: this, arguments: [_toJSValue(index), _toJSValue(size), _toJSValue(type), _toJSValue(stride), _toJSValue(offset)]) + _ = this[Strings.vertexAttribIPointer].function!( + this: this, + arguments: [_toJSValue(index), _toJSValue(size), _toJSValue(type), _toJSValue(stride), _toJSValue(offset)] + ) } - @inlinable func vertexAttribDivisor(index: GLuint, divisor: GLuint) { + @inlinable public func vertexAttribDivisor(index: GLuint, divisor: GLuint) { let this = jsObject - _ = this[Strings.vertexAttribDivisor].function!(this: this, arguments: [_toJSValue(index), _toJSValue(divisor)]) + _ = this[Strings.vertexAttribDivisor].function!( + this: this, + arguments: [_toJSValue(index), _toJSValue(divisor)] + ) } - @inlinable func drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei) { + @inlinable public func drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei) { let this = jsObject - _ = this[Strings.drawArraysInstanced].function!(this: this, arguments: [_toJSValue(mode), _toJSValue(first), _toJSValue(count), _toJSValue(instanceCount)]) + _ = this[Strings.drawArraysInstanced].function!( + this: this, + arguments: [_toJSValue(mode), _toJSValue(first), _toJSValue(count), _toJSValue(instanceCount)] + ) } - @inlinable func drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei) { + @inlinable public func drawElementsInstanced( + mode: GLenum, + count: GLsizei, + type: GLenum, + offset: GLintptr, + instanceCount: GLsizei + ) { let this = jsObject - _ = this[Strings.drawElementsInstanced].function!(this: this, arguments: [_toJSValue(mode), _toJSValue(count), _toJSValue(type), _toJSValue(offset), _toJSValue(instanceCount)]) + _ = this[Strings.drawElementsInstanced].function!( + this: this, + arguments: [ + _toJSValue(mode), _toJSValue(count), _toJSValue(type), _toJSValue(offset), _toJSValue(instanceCount), + ] + ) } - @inlinable func drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr) { + @inlinable public func drawRangeElements( + mode: GLenum, + start: GLuint, + end: GLuint, + count: GLsizei, + type: GLenum, + offset: GLintptr + ) { let this = jsObject - _ = this[Strings.drawRangeElements].function!(this: this, arguments: [_toJSValue(mode), _toJSValue(start), _toJSValue(end), _toJSValue(count), _toJSValue(type), _toJSValue(offset)]) + _ = this[Strings.drawRangeElements].function!( + this: this, + arguments: [ + _toJSValue(mode), _toJSValue(start), _toJSValue(end), _toJSValue(count), _toJSValue(type), + _toJSValue(offset), + ] + ) } - @inlinable func drawBuffers(buffers: [GLenum]) { + @inlinable public func drawBuffers(buffers: [GLenum]) { let this = jsObject _ = this[Strings.drawBuffers].function!(this: this, arguments: [_toJSValue(buffers)]) } - @inlinable func clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset: GLuint? = nil) { + @inlinable public func clearBufferfv( + buffer: GLenum, + drawbuffer: GLint, + values: Float32List, + srcOffset: GLuint? = nil + ) { let this = jsObject - _ = this[Strings.clearBufferfv].function!(this: this, arguments: [_toJSValue(buffer), _toJSValue(drawbuffer), _toJSValue(values), _toJSValue(srcOffset)]) + _ = this[Strings.clearBufferfv].function!( + this: this, + arguments: [_toJSValue(buffer), _toJSValue(drawbuffer), _toJSValue(values), _toJSValue(srcOffset)] + ) } - @inlinable func clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset: GLuint? = nil) { + @inlinable public func clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset: GLuint? = nil) + { let this = jsObject - _ = this[Strings.clearBufferiv].function!(this: this, arguments: [_toJSValue(buffer), _toJSValue(drawbuffer), _toJSValue(values), _toJSValue(srcOffset)]) + _ = this[Strings.clearBufferiv].function!( + this: this, + arguments: [_toJSValue(buffer), _toJSValue(drawbuffer), _toJSValue(values), _toJSValue(srcOffset)] + ) } - @inlinable func clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset: GLuint? = nil) { + @inlinable public func clearBufferuiv( + buffer: GLenum, + drawbuffer: GLint, + values: Uint32List, + srcOffset: GLuint? = nil + ) { let this = jsObject - _ = this[Strings.clearBufferuiv].function!(this: this, arguments: [_toJSValue(buffer), _toJSValue(drawbuffer), _toJSValue(values), _toJSValue(srcOffset)]) + _ = this[Strings.clearBufferuiv].function!( + this: this, + arguments: [_toJSValue(buffer), _toJSValue(drawbuffer), _toJSValue(values), _toJSValue(srcOffset)] + ) } - @inlinable func clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint) { + @inlinable public func clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint) { let this = jsObject - _ = this[Strings.clearBufferfi].function!(this: this, arguments: [_toJSValue(buffer), _toJSValue(drawbuffer), _toJSValue(depth), _toJSValue(stencil)]) + _ = this[Strings.clearBufferfi].function!( + this: this, + arguments: [_toJSValue(buffer), _toJSValue(drawbuffer), _toJSValue(depth), _toJSValue(stencil)] + ) } - @inlinable func createQuery() -> WebGLQuery? { + @inlinable public func createQuery() -> WebGLQuery? { let this = jsObject return this[Strings.createQuery].function!(this: this, arguments: []).fromJSValue() } - @inlinable func deleteQuery(query: WebGLQuery?) { + @inlinable public func deleteQuery(query: WebGLQuery?) { let this = jsObject _ = this[Strings.deleteQuery].function!(this: this, arguments: [_toJSValue(query)]) } - @inlinable func isQuery(query: WebGLQuery?) -> GLboolean { + @inlinable public func isQuery(query: WebGLQuery?) -> GLboolean { let this = jsObject return this[Strings.isQuery].function!(this: this, arguments: [_toJSValue(query)]).fromJSValue()! } - @inlinable func beginQuery(target: GLenum, query: WebGLQuery) { + @inlinable public func beginQuery(target: GLenum, query: WebGLQuery) { let this = jsObject _ = this[Strings.beginQuery].function!(this: this, arguments: [_toJSValue(target), _toJSValue(query)]) } - @inlinable func endQuery(target: GLenum) { + @inlinable public func endQuery(target: GLenum) { let this = jsObject _ = this[Strings.endQuery].function!(this: this, arguments: [_toJSValue(target)]) } - @inlinable func getQuery(target: GLenum, pname: GLenum) -> WebGLQuery? { + @inlinable public func getQuery(target: GLenum, pname: GLenum) -> WebGLQuery? { let this = jsObject - return this[Strings.getQuery].function!(this: this, arguments: [_toJSValue(target), _toJSValue(pname)]).fromJSValue() + return this[Strings.getQuery].function!(this: this, arguments: [_toJSValue(target), _toJSValue(pname)]) + .fromJSValue() } - @inlinable func getQueryParameter(query: WebGLQuery, pname: GLenum) -> JSValue { + @inlinable public func getQueryParameter(query: WebGLQuery, pname: GLenum) -> JSValue { let this = jsObject - return this[Strings.getQueryParameter].function!(this: this, arguments: [_toJSValue(query), _toJSValue(pname)]).fromJSValue()! + return this[Strings.getQueryParameter].function!(this: this, arguments: [_toJSValue(query), _toJSValue(pname)]) + .fromJSValue()! } - @inlinable func createSampler() -> WebGLSampler? { + @inlinable public func createSampler() -> WebGLSampler? { let this = jsObject return this[Strings.createSampler].function!(this: this, arguments: []).fromJSValue() } - @inlinable func deleteSampler(sampler: WebGLSampler?) { + @inlinable public func deleteSampler(sampler: WebGLSampler?) { let this = jsObject _ = this[Strings.deleteSampler].function!(this: this, arguments: [_toJSValue(sampler)]) } - @inlinable func isSampler(sampler: WebGLSampler?) -> GLboolean { + @inlinable public func isSampler(sampler: WebGLSampler?) -> GLboolean { let this = jsObject return this[Strings.isSampler].function!(this: this, arguments: [_toJSValue(sampler)]).fromJSValue()! } - @inlinable func bindSampler(unit: GLuint, sampler: WebGLSampler?) { + @inlinable public func bindSampler(unit: GLuint, sampler: WebGLSampler?) { let this = jsObject _ = this[Strings.bindSampler].function!(this: this, arguments: [_toJSValue(unit), _toJSValue(sampler)]) } - @inlinable func samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint) { + @inlinable public func samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint) { let this = jsObject - _ = this[Strings.samplerParameteri].function!(this: this, arguments: [_toJSValue(sampler), _toJSValue(pname), _toJSValue(param)]) + _ = this[Strings.samplerParameteri].function!( + this: this, + arguments: [_toJSValue(sampler), _toJSValue(pname), _toJSValue(param)] + ) } - @inlinable func samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat) { + @inlinable public func samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat) { let this = jsObject - _ = this[Strings.samplerParameterf].function!(this: this, arguments: [_toJSValue(sampler), _toJSValue(pname), _toJSValue(param)]) + _ = this[Strings.samplerParameterf].function!( + this: this, + arguments: [_toJSValue(sampler), _toJSValue(pname), _toJSValue(param)] + ) } - @inlinable func getSamplerParameter(sampler: WebGLSampler, pname: GLenum) -> JSValue { + @inlinable public func getSamplerParameter(sampler: WebGLSampler, pname: GLenum) -> JSValue { let this = jsObject - return this[Strings.getSamplerParameter].function!(this: this, arguments: [_toJSValue(sampler), _toJSValue(pname)]).fromJSValue()! + return this[Strings.getSamplerParameter].function!( + this: this, + arguments: [_toJSValue(sampler), _toJSValue(pname)] + ).fromJSValue()! } - @inlinable func fenceSync(condition: GLenum, flags: GLbitfield) -> WebGLSync? { + @inlinable public func fenceSync(condition: GLenum, flags: GLbitfield) -> WebGLSync? { let this = jsObject - return this[Strings.fenceSync].function!(this: this, arguments: [_toJSValue(condition), _toJSValue(flags)]).fromJSValue() + return this[Strings.fenceSync].function!(this: this, arguments: [_toJSValue(condition), _toJSValue(flags)]) + .fromJSValue() } - @inlinable func isSync(sync: WebGLSync?) -> GLboolean { + @inlinable public func isSync(sync: WebGLSync?) -> GLboolean { let this = jsObject return this[Strings.isSync].function!(this: this, arguments: [_toJSValue(sync)]).fromJSValue()! } - @inlinable func deleteSync(sync: WebGLSync?) { + @inlinable public func deleteSync(sync: WebGLSync?) { let this = jsObject _ = this[Strings.deleteSync].function!(this: this, arguments: [_toJSValue(sync)]) } - @inlinable func clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64) -> GLenum { + @inlinable public func clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64) -> GLenum { let this = jsObject - return this[Strings.clientWaitSync].function!(this: this, arguments: [_toJSValue(sync), _toJSValue(flags), _toJSValue(timeout)]).fromJSValue()! + return this[Strings.clientWaitSync].function!( + this: this, + arguments: [_toJSValue(sync), _toJSValue(flags), _toJSValue(timeout)] + ).fromJSValue()! } - @inlinable func waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64) { + @inlinable public func waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64) { let this = jsObject - _ = this[Strings.waitSync].function!(this: this, arguments: [_toJSValue(sync), _toJSValue(flags), _toJSValue(timeout)]) + _ = this[Strings.waitSync].function!( + this: this, + arguments: [_toJSValue(sync), _toJSValue(flags), _toJSValue(timeout)] + ) } - @inlinable func getSyncParameter(sync: WebGLSync, pname: GLenum) -> JSValue { + @inlinable public func getSyncParameter(sync: WebGLSync, pname: GLenum) -> JSValue { let this = jsObject - return this[Strings.getSyncParameter].function!(this: this, arguments: [_toJSValue(sync), _toJSValue(pname)]).fromJSValue()! + return this[Strings.getSyncParameter].function!(this: this, arguments: [_toJSValue(sync), _toJSValue(pname)]) + .fromJSValue()! } - @inlinable func createTransformFeedback() -> WebGLTransformFeedback? { + @inlinable public func createTransformFeedback() -> WebGLTransformFeedback? { let this = jsObject return this[Strings.createTransformFeedback].function!(this: this, arguments: []).fromJSValue() } - @inlinable func deleteTransformFeedback(tf: WebGLTransformFeedback?) { + @inlinable public func deleteTransformFeedback(tf: WebGLTransformFeedback?) { let this = jsObject _ = this[Strings.deleteTransformFeedback].function!(this: this, arguments: [_toJSValue(tf)]) } - @inlinable func isTransformFeedback(tf: WebGLTransformFeedback?) -> GLboolean { + @inlinable public func isTransformFeedback(tf: WebGLTransformFeedback?) -> GLboolean { let this = jsObject return this[Strings.isTransformFeedback].function!(this: this, arguments: [_toJSValue(tf)]).fromJSValue()! } - @inlinable func bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback?) { + @inlinable public func bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback?) { let this = jsObject _ = this[Strings.bindTransformFeedback].function!(this: this, arguments: [_toJSValue(target), _toJSValue(tf)]) } - @inlinable func beginTransformFeedback(primitiveMode: GLenum) { + @inlinable public func beginTransformFeedback(primitiveMode: GLenum) { let this = jsObject _ = this[Strings.beginTransformFeedback].function!(this: this, arguments: [_toJSValue(primitiveMode)]) } - @inlinable func endTransformFeedback() { + @inlinable public func endTransformFeedback() { let this = jsObject _ = this[Strings.endTransformFeedback].function!(this: this, arguments: []) } - @inlinable func transformFeedbackVaryings(program: WebGLProgram, varyings: [String], bufferMode: GLenum) { + @inlinable public func transformFeedbackVaryings(program: WebGLProgram, varyings: [String], bufferMode: GLenum) { let this = jsObject - _ = this[Strings.transformFeedbackVaryings].function!(this: this, arguments: [_toJSValue(program), _toJSValue(varyings), _toJSValue(bufferMode)]) + _ = this[Strings.transformFeedbackVaryings].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(varyings), _toJSValue(bufferMode)] + ) } - @inlinable func getTransformFeedbackVarying(program: WebGLProgram, index: GLuint) -> WebGLActiveInfo? { + @inlinable public func getTransformFeedbackVarying(program: WebGLProgram, index: GLuint) -> WebGLActiveInfo? { let this = jsObject - return this[Strings.getTransformFeedbackVarying].function!(this: this, arguments: [_toJSValue(program), _toJSValue(index)]).fromJSValue() + return this[Strings.getTransformFeedbackVarying].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(index)] + ).fromJSValue() } - @inlinable func pauseTransformFeedback() { + @inlinable public func pauseTransformFeedback() { let this = jsObject _ = this[Strings.pauseTransformFeedback].function!(this: this, arguments: []) } - @inlinable func resumeTransformFeedback() { + @inlinable public func resumeTransformFeedback() { let this = jsObject _ = this[Strings.resumeTransformFeedback].function!(this: this, arguments: []) } - @inlinable func bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer?) { + @inlinable public func bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer?) { let this = jsObject - _ = this[Strings.bindBufferBase].function!(this: this, arguments: [_toJSValue(target), _toJSValue(index), _toJSValue(buffer)]) + _ = this[Strings.bindBufferBase].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(index), _toJSValue(buffer)] + ) } - @inlinable func bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer?, offset: GLintptr, size: GLsizeiptr) { + @inlinable public func bindBufferRange( + target: GLenum, + index: GLuint, + buffer: WebGLBuffer?, + offset: GLintptr, + size: GLsizeiptr + ) { let this = jsObject - _ = this[Strings.bindBufferRange].function!(this: this, arguments: [_toJSValue(target), _toJSValue(index), _toJSValue(buffer), _toJSValue(offset), _toJSValue(size)]) + _ = this[Strings.bindBufferRange].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(index), _toJSValue(buffer), _toJSValue(offset), _toJSValue(size), + ] + ) } - @inlinable func getIndexedParameter(target: GLenum, index: GLuint) -> JSValue { + @inlinable public func getIndexedParameter(target: GLenum, index: GLuint) -> JSValue { let this = jsObject - return this[Strings.getIndexedParameter].function!(this: this, arguments: [_toJSValue(target), _toJSValue(index)]).fromJSValue()! + return this[Strings.getIndexedParameter].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(index)] + ).fromJSValue()! } - @inlinable func getUniformIndices(program: WebGLProgram, uniformNames: [String]) -> [GLuint]? { + @inlinable public func getUniformIndices(program: WebGLProgram, uniformNames: [String]) -> [GLuint]? { let this = jsObject - return this[Strings.getUniformIndices].function!(this: this, arguments: [_toJSValue(program), _toJSValue(uniformNames)]).fromJSValue() + return this[Strings.getUniformIndices].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(uniformNames)] + ).fromJSValue() } - @inlinable func getActiveUniforms(program: WebGLProgram, uniformIndices: [GLuint], pname: GLenum) -> JSValue { + @inlinable public func getActiveUniforms(program: WebGLProgram, uniformIndices: [GLuint], pname: GLenum) -> JSValue + { let this = jsObject - return this[Strings.getActiveUniforms].function!(this: this, arguments: [_toJSValue(program), _toJSValue(uniformIndices), _toJSValue(pname)]).fromJSValue()! + return this[Strings.getActiveUniforms].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(uniformIndices), _toJSValue(pname)] + ).fromJSValue()! } - @inlinable func getUniformBlockIndex(program: WebGLProgram, uniformBlockName: String) -> GLuint { + @inlinable public func getUniformBlockIndex(program: WebGLProgram, uniformBlockName: String) -> GLuint { let this = jsObject - return this[Strings.getUniformBlockIndex].function!(this: this, arguments: [_toJSValue(program), _toJSValue(uniformBlockName)]).fromJSValue()! + return this[Strings.getUniformBlockIndex].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(uniformBlockName)] + ).fromJSValue()! } - @inlinable func getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum) -> JSValue { + @inlinable public func getActiveUniformBlockParameter( + program: WebGLProgram, + uniformBlockIndex: GLuint, + pname: GLenum + ) -> JSValue { let this = jsObject - return this[Strings.getActiveUniformBlockParameter].function!(this: this, arguments: [_toJSValue(program), _toJSValue(uniformBlockIndex), _toJSValue(pname)]).fromJSValue()! + return this[Strings.getActiveUniformBlockParameter].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(uniformBlockIndex), _toJSValue(pname)] + ).fromJSValue()! } - @inlinable func getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint) -> String? { + @inlinable public func getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint) -> String? { let this = jsObject - return this[Strings.getActiveUniformBlockName].function!(this: this, arguments: [_toJSValue(program), _toJSValue(uniformBlockIndex)]).fromJSValue() + return this[Strings.getActiveUniformBlockName].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(uniformBlockIndex)] + ).fromJSValue() } - @inlinable func uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint) { + @inlinable public func uniformBlockBinding( + program: WebGLProgram, + uniformBlockIndex: GLuint, + uniformBlockBinding: GLuint + ) { let this = jsObject - _ = this[Strings.uniformBlockBinding].function!(this: this, arguments: [_toJSValue(program), _toJSValue(uniformBlockIndex), _toJSValue(uniformBlockBinding)]) + _ = this[Strings.uniformBlockBinding].function!( + this: this, + arguments: [_toJSValue(program), _toJSValue(uniformBlockIndex), _toJSValue(uniformBlockBinding)] + ) } - @inlinable func createVertexArray() -> WebGLVertexArrayObject? { + @inlinable public func createVertexArray() -> WebGLVertexArrayObject? { let this = jsObject return this[Strings.createVertexArray].function!(this: this, arguments: []).fromJSValue() } - @inlinable func deleteVertexArray(vertexArray: WebGLVertexArrayObject?) { + @inlinable public func deleteVertexArray(vertexArray: WebGLVertexArrayObject?) { let this = jsObject _ = this[Strings.deleteVertexArray].function!(this: this, arguments: [_toJSValue(vertexArray)]) } - @inlinable func isVertexArray(vertexArray: WebGLVertexArrayObject?) -> GLboolean { + @inlinable public func isVertexArray(vertexArray: WebGLVertexArrayObject?) -> GLboolean { let this = jsObject return this[Strings.isVertexArray].function!(this: this, arguments: [_toJSValue(vertexArray)]).fromJSValue()! } - @inlinable func bindVertexArray(array: WebGLVertexArrayObject?) { + @inlinable public func bindVertexArray(array: WebGLVertexArrayObject?) { let this = jsObject _ = this[Strings.bindVertexArray].function!(this: this, arguments: [_toJSValue(array)]) } } - public protocol WebGL2RenderingContextOverloads: JSBridgedClass {} -public extension WebGL2RenderingContextOverloads { - @inlinable func bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) { - let this = jsObject - _ = this[Strings.bufferData].function!(this: this, arguments: [_toJSValue(target), _toJSValue(size), _toJSValue(usage)]) - } - - @inlinable func bufferData(target: GLenum, srcData: AllowSharedBufferSource?, usage: GLenum) { - let this = jsObject - _ = this[Strings.bufferData].function!(this: this, arguments: [_toJSValue(target), _toJSValue(srcData), _toJSValue(usage)]) - } - - @inlinable func bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: AllowSharedBufferSource) { - let this = jsObject - _ = this[Strings.bufferSubData].function!(this: this, arguments: [_toJSValue(target), _toJSValue(dstByteOffset), _toJSValue(srcData)]) - } - - @inlinable func bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: GLuint, length: GLuint? = nil) { - let this = jsObject - _ = this[Strings.bufferData].function!(this: this, arguments: [_toJSValue(target), _toJSValue(srcData), _toJSValue(usage), _toJSValue(srcOffset), _toJSValue(length)]) - } - - @inlinable func bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: GLuint, length: GLuint? = nil) { - let this = jsObject - _ = this[Strings.bufferSubData].function!(this: this, arguments: [_toJSValue(target), _toJSValue(dstByteOffset), _toJSValue(srcData), _toJSValue(srcOffset), _toJSValue(length)]) - } - - @inlinable func texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView?) { - let this = jsObject - _ = this[Strings.texImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(pixels)]) - } - - @inlinable func texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) { - let this = jsObject - _ = this[Strings.texImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(format), _toJSValue(type), _toJSValue(source)]) - } - - @inlinable func texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView?) { - let this = jsObject - _ = this[Strings.texSubImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(pixels)]) - } - - @inlinable func texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) { - let this = jsObject - _ = this[Strings.texSubImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(format), _toJSValue(type), _toJSValue(source)]) - } - - @inlinable func texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) { - let this = jsObject - _ = this[Strings.texImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(pboOffset)]) - } - - @inlinable func texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource) { - let this = jsObject - _ = this[Strings.texImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(source)]) - } - - @inlinable func texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) { - let this = jsObject - _ = this[Strings.texImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(srcData), _toJSValue(srcOffset)]) - } - - @inlinable func texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) { - let this = jsObject - _ = this[Strings.texSubImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(pboOffset)]) - } - - @inlinable func texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: TexImageSource) { - let this = jsObject - _ = this[Strings.texSubImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(source)]) - } - - @inlinable func texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) { - let this = jsObject - _ = this[Strings.texSubImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(srcData), _toJSValue(srcOffset)]) - } - - @inlinable func compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) { - let this = jsObject - _ = this[Strings.compressedTexImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(border), _toJSValue(imageSize), _toJSValue(offset)]) - } - - @inlinable func compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset: GLuint? = nil, srcLengthOverride: GLuint? = nil) { - let this = jsObject - _ = this[Strings.compressedTexImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), _toJSValue(height), _toJSValue(border), _toJSValue(srcData), _toJSValue(srcOffset), _toJSValue(srcLengthOverride)]) - } - - @inlinable func compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) { - let this = jsObject - _ = this[Strings.compressedTexSubImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), _toJSValue(height), _toJSValue(format), _toJSValue(imageSize), _toJSValue(offset)]) - } - - @inlinable func compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset: GLuint? = nil, srcLengthOverride: GLuint? = nil) { - let this = jsObject - _ = this[Strings.compressedTexSubImage2D].function!(this: this, arguments: [_toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), _toJSValue(height), _toJSValue(format), _toJSValue(srcData), _toJSValue(srcOffset), _toJSValue(srcLengthOverride)]) - } - - @inlinable func uniform1fv(location: WebGLUniformLocation?, data: Float32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniform1fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniform2fv(location: WebGLUniformLocation?, data: Float32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniform2fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniform3fv(location: WebGLUniformLocation?, data: Float32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniform3fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniform4fv(location: WebGLUniformLocation?, data: Float32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniform4fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniform1iv(location: WebGLUniformLocation?, data: Int32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniform1iv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniform2iv(location: WebGLUniformLocation?, data: Int32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniform2iv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniform3iv(location: WebGLUniformLocation?, data: Int32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniform3iv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniform4iv(location: WebGLUniformLocation?, data: Int32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniform4iv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniformMatrix2fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniformMatrix3fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, srcOffset: GLuint? = nil, srcLength: GLuint? = nil) { - let this = jsObject - _ = this[Strings.uniformMatrix4fv].function!(this: this, arguments: [_toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)]) - } - - @inlinable func readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView?) { - let this = jsObject - _ = this[Strings.readPixels].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(dstData)]) - } - - @inlinable func readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr) { - let this = jsObject - _ = this[Strings.readPixels].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(offset)]) - } - - @inlinable func readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView, dstOffset: GLuint) { - let this = jsObject - _ = this[Strings.readPixels].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(dstData), _toJSValue(dstOffset)]) +extension WebGL2RenderingContextOverloads { + @inlinable public func bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) { + let this = jsObject + _ = this[Strings.bufferData].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(size), _toJSValue(usage)] + ) + } + + @inlinable public func bufferData(target: GLenum, srcData: AllowSharedBufferSource?, usage: GLenum) { + let this = jsObject + _ = this[Strings.bufferData].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(srcData), _toJSValue(usage)] + ) + } + + @inlinable public func bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: AllowSharedBufferSource) { + let this = jsObject + _ = this[Strings.bufferSubData].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(dstByteOffset), _toJSValue(srcData)] + ) + } + + @inlinable public func bufferData( + target: GLenum, + srcData: ArrayBufferView, + usage: GLenum, + srcOffset: GLuint, + length: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.bufferData].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(srcData), _toJSValue(usage), _toJSValue(srcOffset), _toJSValue(length), + ] + ) + } + + @inlinable public func bufferSubData( + target: GLenum, + dstByteOffset: GLintptr, + srcData: ArrayBufferView, + srcOffset: GLuint, + length: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.bufferSubData].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(dstByteOffset), _toJSValue(srcData), _toJSValue(srcOffset), + _toJSValue(length), + ] + ) + } + + @inlinable public func texImage2D( + target: GLenum, + level: GLint, + internalformat: GLint, + width: GLsizei, + height: GLsizei, + border: GLint, + format: GLenum, + type: GLenum, + pixels: ArrayBufferView? + ) { + let this = jsObject + _ = this[Strings.texImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(pixels), + ] + ) + } + + @inlinable public func texImage2D( + target: GLenum, + level: GLint, + internalformat: GLint, + format: GLenum, + type: GLenum, + source: TexImageSource + ) { + let this = jsObject + _ = this[Strings.texImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(format), _toJSValue(type), + _toJSValue(source), + ] + ) + } + + @inlinable public func texSubImage2D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + width: GLsizei, + height: GLsizei, + format: GLenum, + type: GLenum, + pixels: ArrayBufferView? + ) { + let this = jsObject + _ = this[Strings.texSubImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), + _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(pixels), + ] + ) + } + + @inlinable public func texSubImage2D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + format: GLenum, + type: GLenum, + source: TexImageSource + ) { + let this = jsObject + _ = this[Strings.texSubImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(format), + _toJSValue(type), _toJSValue(source), + ] + ) + } + + @inlinable public func texImage2D( + target: GLenum, + level: GLint, + internalformat: GLint, + width: GLsizei, + height: GLsizei, + border: GLint, + format: GLenum, + type: GLenum, + pboOffset: GLintptr + ) { + let this = jsObject + _ = this[Strings.texImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(pboOffset), + ] + ) + } + + @inlinable public func texImage2D( + target: GLenum, + level: GLint, + internalformat: GLint, + width: GLsizei, + height: GLsizei, + border: GLint, + format: GLenum, + type: GLenum, + source: TexImageSource + ) { + let this = jsObject + _ = this[Strings.texImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(source), + ] + ) + } + + @inlinable public func texImage2D( + target: GLenum, + level: GLint, + internalformat: GLint, + width: GLsizei, + height: GLsizei, + border: GLint, + format: GLenum, + type: GLenum, + srcData: ArrayBufferView, + srcOffset: GLuint + ) { + let this = jsObject + _ = this[Strings.texImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(border), _toJSValue(format), _toJSValue(type), _toJSValue(srcData), + _toJSValue(srcOffset), + ] + ) + } + + @inlinable public func texSubImage2D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + width: GLsizei, + height: GLsizei, + format: GLenum, + type: GLenum, + pboOffset: GLintptr + ) { + let this = jsObject + _ = this[Strings.texSubImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), + _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(pboOffset), + ] + ) + } + + @inlinable public func texSubImage2D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + width: GLsizei, + height: GLsizei, + format: GLenum, + type: GLenum, + source: TexImageSource + ) { + let this = jsObject + _ = this[Strings.texSubImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), + _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(source), + ] + ) + } + + @inlinable public func texSubImage2D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + width: GLsizei, + height: GLsizei, + format: GLenum, + type: GLenum, + srcData: ArrayBufferView, + srcOffset: GLuint + ) { + let this = jsObject + _ = this[Strings.texSubImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), + _toJSValue(height), _toJSValue(format), _toJSValue(type), _toJSValue(srcData), _toJSValue(srcOffset), + ] + ) + } + + @inlinable public func compressedTexImage2D( + target: GLenum, + level: GLint, + internalformat: GLenum, + width: GLsizei, + height: GLsizei, + border: GLint, + imageSize: GLsizei, + offset: GLintptr + ) { + let this = jsObject + _ = this[Strings.compressedTexImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(border), _toJSValue(imageSize), _toJSValue(offset), + ] + ) + } + + @inlinable public func compressedTexImage2D( + target: GLenum, + level: GLint, + internalformat: GLenum, + width: GLsizei, + height: GLsizei, + border: GLint, + srcData: ArrayBufferView, + srcOffset: GLuint? = nil, + srcLengthOverride: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.compressedTexImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(internalformat), _toJSValue(width), + _toJSValue(height), _toJSValue(border), _toJSValue(srcData), _toJSValue(srcOffset), + _toJSValue(srcLengthOverride), + ] + ) + } + + @inlinable public func compressedTexSubImage2D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + width: GLsizei, + height: GLsizei, + format: GLenum, + imageSize: GLsizei, + offset: GLintptr + ) { + let this = jsObject + _ = this[Strings.compressedTexSubImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), + _toJSValue(height), _toJSValue(format), _toJSValue(imageSize), _toJSValue(offset), + ] + ) + } + + @inlinable public func compressedTexSubImage2D( + target: GLenum, + level: GLint, + xoffset: GLint, + yoffset: GLint, + width: GLsizei, + height: GLsizei, + format: GLenum, + srcData: ArrayBufferView, + srcOffset: GLuint? = nil, + srcLengthOverride: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.compressedTexSubImage2D].function!( + this: this, + arguments: [ + _toJSValue(target), _toJSValue(level), _toJSValue(xoffset), _toJSValue(yoffset), _toJSValue(width), + _toJSValue(height), _toJSValue(format), _toJSValue(srcData), _toJSValue(srcOffset), + _toJSValue(srcLengthOverride), + ] + ) + } + + @inlinable public func uniform1fv( + location: WebGLUniformLocation?, + data: Float32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniform1fv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)] + ) + } + + @inlinable public func uniform2fv( + location: WebGLUniformLocation?, + data: Float32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniform2fv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)] + ) + } + + @inlinable public func uniform3fv( + location: WebGLUniformLocation?, + data: Float32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniform3fv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)] + ) + } + + @inlinable public func uniform4fv( + location: WebGLUniformLocation?, + data: Float32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniform4fv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)] + ) + } + + @inlinable public func uniform1iv( + location: WebGLUniformLocation?, + data: Int32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniform1iv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)] + ) + } + + @inlinable public func uniform2iv( + location: WebGLUniformLocation?, + data: Int32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniform2iv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)] + ) + } + + @inlinable public func uniform3iv( + location: WebGLUniformLocation?, + data: Int32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniform3iv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)] + ) + } + + @inlinable public func uniform4iv( + location: WebGLUniformLocation?, + data: Int32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniform4iv].function!( + this: this, + arguments: [_toJSValue(location), _toJSValue(data), _toJSValue(srcOffset), _toJSValue(srcLength)] + ) + } + + @inlinable public func uniformMatrix2fv( + location: WebGLUniformLocation?, + transpose: GLboolean, + data: Float32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniformMatrix2fv].function!( + this: this, + arguments: [ + _toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), + _toJSValue(srcLength), + ] + ) + } + + @inlinable public func uniformMatrix3fv( + location: WebGLUniformLocation?, + transpose: GLboolean, + data: Float32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniformMatrix3fv].function!( + this: this, + arguments: [ + _toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), + _toJSValue(srcLength), + ] + ) + } + + @inlinable public func uniformMatrix4fv( + location: WebGLUniformLocation?, + transpose: GLboolean, + data: Float32List, + srcOffset: GLuint? = nil, + srcLength: GLuint? = nil + ) { + let this = jsObject + _ = this[Strings.uniformMatrix4fv].function!( + this: this, + arguments: [ + _toJSValue(location), _toJSValue(transpose), _toJSValue(data), _toJSValue(srcOffset), + _toJSValue(srcLength), + ] + ) + } + + @inlinable public func readPixels( + x: GLint, + y: GLint, + width: GLsizei, + height: GLsizei, + format: GLenum, + type: GLenum, + dstData: ArrayBufferView? + ) { + let this = jsObject + _ = this[Strings.readPixels].function!( + this: this, + arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), _toJSValue(format), + _toJSValue(type), _toJSValue(dstData), + ] + ) + } + + @inlinable public func readPixels( + x: GLint, + y: GLint, + width: GLsizei, + height: GLsizei, + format: GLenum, + type: GLenum, + offset: GLintptr + ) { + let this = jsObject + _ = this[Strings.readPixels].function!( + this: this, + arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), _toJSValue(format), + _toJSValue(type), _toJSValue(offset), + ] + ) + } + + @inlinable public func readPixels( + x: GLint, + y: GLint, + width: GLsizei, + height: GLsizei, + format: GLenum, + type: GLenum, + dstData: ArrayBufferView, + dstOffset: GLuint + ) { + let this = jsObject + _ = this[Strings.readPixels].function!( + this: this, + arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), _toJSValue(format), + _toJSValue(type), _toJSValue(dstData), _toJSValue(dstOffset), + ] + ) } } - public class WebGLQuery: WebGLObject { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WebGLQuery].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.WebGLQuery].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class WebGLSampler: WebGLObject { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WebGLSampler].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.WebGLSampler].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class WebGLSync: WebGLObject { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WebGLSync].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.WebGLSync].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class WebGLTransformFeedback: WebGLObject { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WebGLTransformFeedback].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.WebGLTransformFeedback].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } public class WebGLVertexArrayObject: WebGLObject { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WebGLVertexArrayObject].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.WebGLVertexArrayObject].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let WebGL2RenderingContext: JSString = "WebGL2RenderingContext" - @usableFromInline static let WebGLQuery: JSString = "WebGLQuery" - @usableFromInline static let WebGLSampler: JSString = "WebGLSampler" - @usableFromInline static let WebGLSync: JSString = "WebGLSync" - @usableFromInline static let WebGLTransformFeedback: JSString = "WebGLTransformFeedback" - @usableFromInline static let WebGLVertexArrayObject: JSString = "WebGLVertexArrayObject" - @usableFromInline static let beginQuery: JSString = "beginQuery" - @usableFromInline static let beginTransformFeedback: JSString = "beginTransformFeedback" - @usableFromInline static let bindBufferBase: JSString = "bindBufferBase" - @usableFromInline static let bindBufferRange: JSString = "bindBufferRange" - @usableFromInline static let bindSampler: JSString = "bindSampler" - @usableFromInline static let bindTransformFeedback: JSString = "bindTransformFeedback" - @usableFromInline static let bindVertexArray: JSString = "bindVertexArray" - @usableFromInline static let blitFramebuffer: JSString = "blitFramebuffer" - @usableFromInline static let bufferData: JSString = "bufferData" - @usableFromInline static let bufferSubData: JSString = "bufferSubData" - @usableFromInline static let clearBufferfi: JSString = "clearBufferfi" - @usableFromInline static let clearBufferfv: JSString = "clearBufferfv" - @usableFromInline static let clearBufferiv: JSString = "clearBufferiv" - @usableFromInline static let clearBufferuiv: JSString = "clearBufferuiv" - @usableFromInline static let clientWaitSync: JSString = "clientWaitSync" - @usableFromInline static let compressedTexImage2D: JSString = "compressedTexImage2D" - @usableFromInline static let compressedTexImage3D: JSString = "compressedTexImage3D" - @usableFromInline static let compressedTexSubImage2D: JSString = "compressedTexSubImage2D" - @usableFromInline static let compressedTexSubImage3D: JSString = "compressedTexSubImage3D" - @usableFromInline static let copyBufferSubData: JSString = "copyBufferSubData" - @usableFromInline static let copyTexSubImage3D: JSString = "copyTexSubImage3D" - @usableFromInline static let createQuery: JSString = "createQuery" - @usableFromInline static let createSampler: JSString = "createSampler" - @usableFromInline static let createTransformFeedback: JSString = "createTransformFeedback" - @usableFromInline static let createVertexArray: JSString = "createVertexArray" - @usableFromInline static let deleteQuery: JSString = "deleteQuery" - @usableFromInline static let deleteSampler: JSString = "deleteSampler" - @usableFromInline static let deleteSync: JSString = "deleteSync" - @usableFromInline static let deleteTransformFeedback: JSString = "deleteTransformFeedback" - @usableFromInline static let deleteVertexArray: JSString = "deleteVertexArray" - @usableFromInline static let drawArraysInstanced: JSString = "drawArraysInstanced" - @usableFromInline static let drawBuffers: JSString = "drawBuffers" - @usableFromInline static let drawElementsInstanced: JSString = "drawElementsInstanced" - @usableFromInline static let drawRangeElements: JSString = "drawRangeElements" - @usableFromInline static let endQuery: JSString = "endQuery" - @usableFromInline static let endTransformFeedback: JSString = "endTransformFeedback" - @usableFromInline static let fenceSync: JSString = "fenceSync" - @usableFromInline static let framebufferTextureLayer: JSString = "framebufferTextureLayer" - @usableFromInline static let getActiveUniformBlockName: JSString = "getActiveUniformBlockName" - @usableFromInline static let getActiveUniformBlockParameter: JSString = "getActiveUniformBlockParameter" - @usableFromInline static let getActiveUniforms: JSString = "getActiveUniforms" - @usableFromInline static let getBufferSubData: JSString = "getBufferSubData" - @usableFromInline static let getFragDataLocation: JSString = "getFragDataLocation" - @usableFromInline static let getIndexedParameter: JSString = "getIndexedParameter" - @usableFromInline static let getInternalformatParameter: JSString = "getInternalformatParameter" - @usableFromInline static let getQuery: JSString = "getQuery" - @usableFromInline static let getQueryParameter: JSString = "getQueryParameter" - @usableFromInline static let getSamplerParameter: JSString = "getSamplerParameter" - @usableFromInline static let getSyncParameter: JSString = "getSyncParameter" - @usableFromInline static let getTransformFeedbackVarying: JSString = "getTransformFeedbackVarying" - @usableFromInline static let getUniformBlockIndex: JSString = "getUniformBlockIndex" - @usableFromInline static let getUniformIndices: JSString = "getUniformIndices" - @usableFromInline static let invalidateFramebuffer: JSString = "invalidateFramebuffer" - @usableFromInline static let invalidateSubFramebuffer: JSString = "invalidateSubFramebuffer" - @usableFromInline static let isQuery: JSString = "isQuery" - @usableFromInline static let isSampler: JSString = "isSampler" - @usableFromInline static let isSync: JSString = "isSync" - @usableFromInline static let isTransformFeedback: JSString = "isTransformFeedback" - @usableFromInline static let isVertexArray: JSString = "isVertexArray" - @usableFromInline static let pauseTransformFeedback: JSString = "pauseTransformFeedback" - @usableFromInline static let readBuffer: JSString = "readBuffer" - @usableFromInline static let readPixels: JSString = "readPixels" - @usableFromInline static let renderbufferStorageMultisample: JSString = "renderbufferStorageMultisample" - @usableFromInline static let resumeTransformFeedback: JSString = "resumeTransformFeedback" - @usableFromInline static let samplerParameterf: JSString = "samplerParameterf" - @usableFromInline static let samplerParameteri: JSString = "samplerParameteri" - @usableFromInline static let texImage2D: JSString = "texImage2D" - @usableFromInline static let texImage3D: JSString = "texImage3D" - @usableFromInline static let texStorage2D: JSString = "texStorage2D" - @usableFromInline static let texStorage3D: JSString = "texStorage3D" - @usableFromInline static let texSubImage2D: JSString = "texSubImage2D" - @usableFromInline static let texSubImage3D: JSString = "texSubImage3D" - @usableFromInline static let toString: JSString = "toString" - @usableFromInline static let transformFeedbackVaryings: JSString = "transformFeedbackVaryings" - @usableFromInline static let uniform1fv: JSString = "uniform1fv" - @usableFromInline static let uniform1iv: JSString = "uniform1iv" - @usableFromInline static let uniform1ui: JSString = "uniform1ui" - @usableFromInline static let uniform1uiv: JSString = "uniform1uiv" - @usableFromInline static let uniform2fv: JSString = "uniform2fv" - @usableFromInline static let uniform2iv: JSString = "uniform2iv" - @usableFromInline static let uniform2ui: JSString = "uniform2ui" - @usableFromInline static let uniform2uiv: JSString = "uniform2uiv" - @usableFromInline static let uniform3fv: JSString = "uniform3fv" - @usableFromInline static let uniform3iv: JSString = "uniform3iv" - @usableFromInline static let uniform3ui: JSString = "uniform3ui" - @usableFromInline static let uniform3uiv: JSString = "uniform3uiv" - @usableFromInline static let uniform4fv: JSString = "uniform4fv" - @usableFromInline static let uniform4iv: JSString = "uniform4iv" - @usableFromInline static let uniform4ui: JSString = "uniform4ui" - @usableFromInline static let uniform4uiv: JSString = "uniform4uiv" - @usableFromInline static let uniformBlockBinding: JSString = "uniformBlockBinding" - @usableFromInline static let uniformMatrix2fv: JSString = "uniformMatrix2fv" - @usableFromInline static let uniformMatrix2x3fv: JSString = "uniformMatrix2x3fv" - @usableFromInline static let uniformMatrix2x4fv: JSString = "uniformMatrix2x4fv" - @usableFromInline static let uniformMatrix3fv: JSString = "uniformMatrix3fv" - @usableFromInline static let uniformMatrix3x2fv: JSString = "uniformMatrix3x2fv" - @usableFromInline static let uniformMatrix3x4fv: JSString = "uniformMatrix3x4fv" - @usableFromInline static let uniformMatrix4fv: JSString = "uniformMatrix4fv" - @usableFromInline static let uniformMatrix4x2fv: JSString = "uniformMatrix4x2fv" - @usableFromInline static let uniformMatrix4x3fv: JSString = "uniformMatrix4x3fv" - @usableFromInline static let vertexAttribDivisor: JSString = "vertexAttribDivisor" - @usableFromInline static let vertexAttribI4i: JSString = "vertexAttribI4i" - @usableFromInline static let vertexAttribI4iv: JSString = "vertexAttribI4iv" - @usableFromInline static let vertexAttribI4ui: JSString = "vertexAttribI4ui" - @usableFromInline static let vertexAttribI4uiv: JSString = "vertexAttribI4uiv" - @usableFromInline static let vertexAttribIPointer: JSString = "vertexAttribIPointer" - @usableFromInline static let waitSync: JSString = "waitSync" + @usableFromInline static let `WebGL2RenderingContext`: JSString = "WebGL2RenderingContext" + @usableFromInline static let `WebGLQuery`: JSString = "WebGLQuery" + @usableFromInline static let `WebGLSampler`: JSString = "WebGLSampler" + @usableFromInline static let `WebGLSync`: JSString = "WebGLSync" + @usableFromInline static let `WebGLTransformFeedback`: JSString = "WebGLTransformFeedback" + @usableFromInline static let `WebGLVertexArrayObject`: JSString = "WebGLVertexArrayObject" + @usableFromInline static let `beginQuery`: JSString = "beginQuery" + @usableFromInline static let `beginTransformFeedback`: JSString = "beginTransformFeedback" + @usableFromInline static let `bindBufferBase`: JSString = "bindBufferBase" + @usableFromInline static let `bindBufferRange`: JSString = "bindBufferRange" + @usableFromInline static let `bindSampler`: JSString = "bindSampler" + @usableFromInline static let `bindTransformFeedback`: JSString = "bindTransformFeedback" + @usableFromInline static let `bindVertexArray`: JSString = "bindVertexArray" + @usableFromInline static let `blitFramebuffer`: JSString = "blitFramebuffer" + @usableFromInline static let `bufferData`: JSString = "bufferData" + @usableFromInline static let `bufferSubData`: JSString = "bufferSubData" + @usableFromInline static let `clearBufferfi`: JSString = "clearBufferfi" + @usableFromInline static let `clearBufferfv`: JSString = "clearBufferfv" + @usableFromInline static let `clearBufferiv`: JSString = "clearBufferiv" + @usableFromInline static let `clearBufferuiv`: JSString = "clearBufferuiv" + @usableFromInline static let `clientWaitSync`: JSString = "clientWaitSync" + @usableFromInline static let `compressedTexImage2D`: JSString = "compressedTexImage2D" + @usableFromInline static let `compressedTexImage3D`: JSString = "compressedTexImage3D" + @usableFromInline static let `compressedTexSubImage2D`: JSString = "compressedTexSubImage2D" + @usableFromInline static let `compressedTexSubImage3D`: JSString = "compressedTexSubImage3D" + @usableFromInline static let `copyBufferSubData`: JSString = "copyBufferSubData" + @usableFromInline static let `copyTexSubImage3D`: JSString = "copyTexSubImage3D" + @usableFromInline static let `createQuery`: JSString = "createQuery" + @usableFromInline static let `createSampler`: JSString = "createSampler" + @usableFromInline static let `createTransformFeedback`: JSString = "createTransformFeedback" + @usableFromInline static let `createVertexArray`: JSString = "createVertexArray" + @usableFromInline static let `deleteQuery`: JSString = "deleteQuery" + @usableFromInline static let `deleteSampler`: JSString = "deleteSampler" + @usableFromInline static let `deleteSync`: JSString = "deleteSync" + @usableFromInline static let `deleteTransformFeedback`: JSString = "deleteTransformFeedback" + @usableFromInline static let `deleteVertexArray`: JSString = "deleteVertexArray" + @usableFromInline static let `drawArraysInstanced`: JSString = "drawArraysInstanced" + @usableFromInline static let `drawBuffers`: JSString = "drawBuffers" + @usableFromInline static let `drawElementsInstanced`: JSString = "drawElementsInstanced" + @usableFromInline static let `drawRangeElements`: JSString = "drawRangeElements" + @usableFromInline static let `endQuery`: JSString = "endQuery" + @usableFromInline static let `endTransformFeedback`: JSString = "endTransformFeedback" + @usableFromInline static let `fenceSync`: JSString = "fenceSync" + @usableFromInline static let `framebufferTextureLayer`: JSString = "framebufferTextureLayer" + @usableFromInline static let `getActiveUniformBlockName`: JSString = "getActiveUniformBlockName" + @usableFromInline static let `getActiveUniformBlockParameter`: JSString = "getActiveUniformBlockParameter" + @usableFromInline static let `getActiveUniforms`: JSString = "getActiveUniforms" + @usableFromInline static let `getBufferSubData`: JSString = "getBufferSubData" + @usableFromInline static let `getFragDataLocation`: JSString = "getFragDataLocation" + @usableFromInline static let `getIndexedParameter`: JSString = "getIndexedParameter" + @usableFromInline static let `getInternalformatParameter`: JSString = "getInternalformatParameter" + @usableFromInline static let `getQuery`: JSString = "getQuery" + @usableFromInline static let `getQueryParameter`: JSString = "getQueryParameter" + @usableFromInline static let `getSamplerParameter`: JSString = "getSamplerParameter" + @usableFromInline static let `getSyncParameter`: JSString = "getSyncParameter" + @usableFromInline static let `getTransformFeedbackVarying`: JSString = "getTransformFeedbackVarying" + @usableFromInline static let `getUniformBlockIndex`: JSString = "getUniformBlockIndex" + @usableFromInline static let `getUniformIndices`: JSString = "getUniformIndices" + @usableFromInline static let `invalidateFramebuffer`: JSString = "invalidateFramebuffer" + @usableFromInline static let `invalidateSubFramebuffer`: JSString = "invalidateSubFramebuffer" + @usableFromInline static let `isQuery`: JSString = "isQuery" + @usableFromInline static let `isSampler`: JSString = "isSampler" + @usableFromInline static let `isSync`: JSString = "isSync" + @usableFromInline static let `isTransformFeedback`: JSString = "isTransformFeedback" + @usableFromInline static let `isVertexArray`: JSString = "isVertexArray" + @usableFromInline static let `pauseTransformFeedback`: JSString = "pauseTransformFeedback" + @usableFromInline static let `readBuffer`: JSString = "readBuffer" + @usableFromInline static let `readPixels`: JSString = "readPixels" + @usableFromInline static let `renderbufferStorageMultisample`: JSString = "renderbufferStorageMultisample" + @usableFromInline static let `resumeTransformFeedback`: JSString = "resumeTransformFeedback" + @usableFromInline static let `samplerParameterf`: JSString = "samplerParameterf" + @usableFromInline static let `samplerParameteri`: JSString = "samplerParameteri" + @usableFromInline static let `texImage2D`: JSString = "texImage2D" + @usableFromInline static let `texImage3D`: JSString = "texImage3D" + @usableFromInline static let `texStorage2D`: JSString = "texStorage2D" + @usableFromInline static let `texStorage3D`: JSString = "texStorage3D" + @usableFromInline static let `texSubImage2D`: JSString = "texSubImage2D" + @usableFromInline static let `texSubImage3D`: JSString = "texSubImage3D" + @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `transformFeedbackVaryings`: JSString = "transformFeedbackVaryings" + @usableFromInline static let `uniform1fv`: JSString = "uniform1fv" + @usableFromInline static let `uniform1iv`: JSString = "uniform1iv" + @usableFromInline static let `uniform1ui`: JSString = "uniform1ui" + @usableFromInline static let `uniform1uiv`: JSString = "uniform1uiv" + @usableFromInline static let `uniform2fv`: JSString = "uniform2fv" + @usableFromInline static let `uniform2iv`: JSString = "uniform2iv" + @usableFromInline static let `uniform2ui`: JSString = "uniform2ui" + @usableFromInline static let `uniform2uiv`: JSString = "uniform2uiv" + @usableFromInline static let `uniform3fv`: JSString = "uniform3fv" + @usableFromInline static let `uniform3iv`: JSString = "uniform3iv" + @usableFromInline static let `uniform3ui`: JSString = "uniform3ui" + @usableFromInline static let `uniform3uiv`: JSString = "uniform3uiv" + @usableFromInline static let `uniform4fv`: JSString = "uniform4fv" + @usableFromInline static let `uniform4iv`: JSString = "uniform4iv" + @usableFromInline static let `uniform4ui`: JSString = "uniform4ui" + @usableFromInline static let `uniform4uiv`: JSString = "uniform4uiv" + @usableFromInline static let `uniformBlockBinding`: JSString = "uniformBlockBinding" + @usableFromInline static let `uniformMatrix2fv`: JSString = "uniformMatrix2fv" + @usableFromInline static let `uniformMatrix2x3fv`: JSString = "uniformMatrix2x3fv" + @usableFromInline static let `uniformMatrix2x4fv`: JSString = "uniformMatrix2x4fv" + @usableFromInline static let `uniformMatrix3fv`: JSString = "uniformMatrix3fv" + @usableFromInline static let `uniformMatrix3x2fv`: JSString = "uniformMatrix3x2fv" + @usableFromInline static let `uniformMatrix3x4fv`: JSString = "uniformMatrix3x4fv" + @usableFromInline static let `uniformMatrix4fv`: JSString = "uniformMatrix4fv" + @usableFromInline static let `uniformMatrix4x2fv`: JSString = "uniformMatrix4x2fv" + @usableFromInline static let `uniformMatrix4x3fv`: JSString = "uniformMatrix4x3fv" + @usableFromInline static let `vertexAttribDivisor`: JSString = "vertexAttribDivisor" + @usableFromInline static let `vertexAttribI4i`: JSString = "vertexAttribI4i" + @usableFromInline static let `vertexAttribI4iv`: JSString = "vertexAttribI4iv" + @usableFromInline static let `vertexAttribI4ui`: JSString = "vertexAttribI4ui" + @usableFromInline static let `vertexAttribI4uiv`: JSString = "vertexAttribI4uiv" + @usableFromInline static let `vertexAttribIPointer`: JSString = "vertexAttribIPointer" + @usableFromInline static let `waitSync`: JSString = "waitSync" } - public protocol Any_Uint32List: ConvertibleToJSValue {} extension Uint32Array: Any_Uint32List {} extension Array: Any_Uint32List where Element == GLuint {} @@ -1360,12 +2344,11 @@ public enum Uint32List: JSValueCompatible, Any_Uint32List { case uint32Array(Uint32Array) case seq_of_GLuint([GLuint]) - init(_ uint32Array: Uint32Array) { + public init(_ uint32Array: Uint32Array) { let val: Uint32List = .uint32Array(uint32Array) self = val } - - init(_ seq_of_GLuint: [GLuint]) { + public init(_ seq_of_GLuint: [GLuint]) { let val: Uint32List = .seq_of_GLuint(seq_of_GLuint) self = val } @@ -1376,7 +2359,6 @@ public enum Uint32List: JSValueCompatible, Any_Uint32List { default: return nil } } - public var seq_of_GLuint: [GLuint]? { switch self { case let .seq_of_GLuint(seq_of_GLuint): return seq_of_GLuint @@ -1385,21 +2367,15 @@ public enum Uint32List: JSValueCompatible, Any_Uint32List { } public static func construct(from value: JSValue) -> Self? { - if let uint32Array: Uint32Array = value.fromJSValue() { - return .uint32Array(uint32Array) - } - if let seq_of_GLuint: [GLuint] = value.fromJSValue() { - return .seq_of_GLuint(seq_of_GLuint) - } + if let uint32Array: Uint32Array = value.fromJSValue() { return .uint32Array(uint32Array) } + if let seq_of_GLuint: [GLuint] = value.fromJSValue() { return .seq_of_GLuint(seq_of_GLuint) } return nil } public var jsValue: JSValue { switch self { - case let .uint32Array(uint32Array): - return uint32Array.jsValue - case let .seq_of_GLuint(seq_of_GLuint): - return seq_of_GLuint.jsValue + case let .uint32Array(uint32Array): return uint32Array.jsValue + case let .seq_of_GLuint(seq_of_GLuint): return seq_of_GLuint.jsValue } } } diff --git a/Sources/WebGPU/Generated.swift b/Sources/WebGPU/Generated.swift index 7b9be4f3..4ebb9ddc 100644 --- a/Sources/WebGPU/Generated.swift +++ b/Sources/WebGPU/Generated.swift @@ -3,42 +3,52 @@ import DOM import ECMAScript import JavaScriptBigIntSupport -import JavaScriptEventLoop import JavaScriptKit -import WebAnimations import WebAPIBase +import WebAnimations import WebAudio import WebGL1 +#if canImport(JavaScriptEventLoop) + import JavaScriptEventLoop +#endif +#if canImport(_Concurrency) + import _Concurrency +#endif + public class GPU: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPU].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _wgslLanguageFeatures = ReadonlyAttribute(jsObject: jsObject, name: Strings.wgslLanguageFeatures) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func requestAdapter(options: GPURequestAdapterOptions? = nil) -> JSPromise { + @inlinable final public func requestAdapter(options: GPURequestAdapterOptions? = nil) -> JSPromise { let this = jsObject return this[Strings.requestAdapter].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func requestAdapter(options: GPURequestAdapterOptions? = nil) async throws -> GPUAdapter? { - let this = jsObject - let _promise: JSPromise = this[Strings.requestAdapter].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue() - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func requestAdapter( + options: GPURequestAdapterOptions? = nil + ) async throws(JSException) -> GPUAdapter? { + let this = jsObject + let _promise: JSPromise = this[Strings.requestAdapter].function!( + this: this, + arguments: [_toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue() + } + #endif - @inlinable public func getPreferredCanvasFormat() -> GPUTextureFormat { + @inlinable final public func getPreferredCanvasFormat() -> GPUTextureFormat { let this = jsObject return this[Strings.getPreferredCanvasFormat].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var wgslLanguageFeatures: WGSLLanguageFeatures + @inlinable public var wgslLanguageFeatures: WGSLLanguageFeatures { + jsObject[Strings.wgslLanguageFeatures].fromJSValue()! + } } public class GPUAdapter: JSBridgedClass { @@ -46,45 +56,50 @@ public class GPUAdapter: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _features = ReadonlyAttribute(jsObject: jsObject, name: Strings.features) - _limits = ReadonlyAttribute(jsObject: jsObject, name: Strings.limits) - _isFallbackAdapter = ReadonlyAttribute(jsObject: jsObject, name: Strings.isFallbackAdapter) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var features: GPUSupportedFeatures + @inlinable public var features: GPUSupportedFeatures { jsObject[Strings.features].fromJSValue()! } - @ReadonlyAttribute - public var limits: GPUSupportedLimits + @inlinable public var limits: GPUSupportedLimits { jsObject[Strings.limits].fromJSValue()! } - @ReadonlyAttribute - public var isFallbackAdapter: Bool + @inlinable public var isFallbackAdapter: Bool { jsObject[Strings.isFallbackAdapter].fromJSValue()! } - @inlinable public func requestDevice(descriptor: GPUDeviceDescriptor? = nil) -> JSPromise { + @inlinable final public func requestDevice(descriptor: GPUDeviceDescriptor? = nil) -> JSPromise { let this = jsObject return this[Strings.requestDevice].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func requestDevice(descriptor: GPUDeviceDescriptor? = nil) async throws -> GPUDevice { - let this = jsObject - let _promise: JSPromise = this[Strings.requestDevice].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - - @inlinable public func requestAdapterInfo(unmaskHints: [String]? = nil) -> JSPromise { - let this = jsObject - return this[Strings.requestAdapterInfo].function!(this: this, arguments: [_toJSValue(unmaskHints)]).fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func requestDevice( + descriptor: GPUDeviceDescriptor? = nil + ) async throws(JSException) -> GPUDevice { + let this = jsObject + let _promise: JSPromise = this[Strings.requestDevice].function!( + this: this, + arguments: [_toJSValue(descriptor)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func requestAdapterInfo(unmaskHints: [String]? = nil) async throws -> GPUAdapterInfo { + @inlinable final public func requestAdapterInfo(unmaskHints: [String]? = nil) -> JSPromise { let this = jsObject - let _promise: JSPromise = this[Strings.requestAdapterInfo].function!(this: this, arguments: [_toJSValue(unmaskHints)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + return this[Strings.requestAdapterInfo].function!(this: this, arguments: [_toJSValue(unmaskHints)]) + .fromJSValue()! + } + + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func requestAdapterInfo( + unmaskHints: [String]? = nil + ) async throws(JSException) -> GPUAdapterInfo { + let this = jsObject + let _promise: JSPromise = this[Strings.requestAdapterInfo].function!( + this: this, + arguments: [_toJSValue(unmaskHints)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } public class GPUAdapterInfo: JSBridgedClass { @@ -92,25 +107,15 @@ public class GPUAdapterInfo: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _vendor = ReadonlyAttribute(jsObject: jsObject, name: Strings.vendor) - _architecture = ReadonlyAttribute(jsObject: jsObject, name: Strings.architecture) - _device = ReadonlyAttribute(jsObject: jsObject, name: Strings.device) - _description = ReadonlyAttribute(jsObject: jsObject, name: Strings.description) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var vendor: String + @inlinable public var vendor: String { jsObject[Strings.vendor].fromJSValue()! } - @ReadonlyAttribute - public var architecture: String + @inlinable public var architecture: String { jsObject[Strings.architecture].fromJSValue()! } - @ReadonlyAttribute - public var device: String + @inlinable public var device: String { jsObject[Strings.device].fromJSValue()! } - @ReadonlyAttribute - public var description: String + @inlinable public var description: String { jsObject[Strings.description].fromJSValue()! } } public enum GPUAddressMode: JSString, JSValueCompatible { @@ -119,116 +124,117 @@ public enum GPUAddressMode: JSString, JSValueCompatible { case mirrorRepeat = "mirror-repeat" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum GPUAutoLayoutMode: JSString, JSValueCompatible { case auto = "auto" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class GPUBindGroup: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUBindGroup].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } -public class GPUBindGroupDescriptor: BridgedDictionary { - public convenience init(layout: GPUBindGroupLayout, entries: [GPUBindGroupEntry]) { +open class GPUBindGroupDescriptor: GPUObjectDescriptorBase { + + public convenience init(label: String? = nil, layout: GPUBindGroupLayout, entries: [GPUBindGroupEntry]) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.layout] = _toJSValue(layout) object[Strings.entries] = _toJSValue(entries) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _layout = ReadWriteAttribute(jsObject: object, name: Strings.layout) - _entries = ReadWriteAttribute(jsObject: object, name: Strings.entries) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var layout: GPUBindGroupLayout + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var entries: [GPUBindGroupEntry] + @inlinable public var layout: GPUBindGroupLayout { + get { jsObject[Strings.layout].fromJSValue()! } + set { jsObject[Strings.layout] = _toJSValue(newValue) } + } + @inlinable public var entries: [GPUBindGroupEntry] { + get { jsObject[Strings.entries].fromJSValue()! } + set { jsObject[Strings.entries] = _toJSValue(newValue) } + } } +open class GPUBindGroupEntry: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUBindGroupEntry: BridgedDictionary { public convenience init(binding: GPUIndex32, resource: GPUBindingResource) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.binding] = _toJSValue(binding) object[Strings.resource] = _toJSValue(resource) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _binding = ReadWriteAttribute(jsObject: object, name: Strings.binding) - _resource = ReadWriteAttribute(jsObject: object, name: Strings.resource) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var binding: GPUIndex32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var resource: GPUBindingResource + @inlinable public var binding: GPUIndex32 { + get { jsObject[Strings.binding].fromJSValue()! } + set { jsObject[Strings.binding] = _toJSValue(newValue) } + } + @inlinable public var resource: GPUBindingResource { + get { jsObject[Strings.resource].fromJSValue()! } + set { jsObject[Strings.resource] = _toJSValue(newValue) } + } } - public class GPUBindGroupLayout: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUBindGroupLayout].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } -public class GPUBindGroupLayoutDescriptor: BridgedDictionary { - public convenience init(entries: [GPUBindGroupLayoutEntry]) { +open class GPUBindGroupLayoutDescriptor: GPUObjectDescriptorBase { + + public convenience init(label: String? = nil, entries: [GPUBindGroupLayoutEntry]) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.entries] = _toJSValue(entries) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _entries = ReadWriteAttribute(jsObject: object, name: Strings.entries) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var entries: [GPUBindGroupLayoutEntry] + @inlinable public var entries: [GPUBindGroupLayoutEntry] { + get { jsObject[Strings.entries].fromJSValue()! } + set { jsObject[Strings.entries] = _toJSValue(newValue) } + } } +open class GPUBindGroupLayoutEntry: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUBindGroupLayoutEntry: BridgedDictionary { - public convenience init(binding: GPUIndex32, visibility: GPUShaderStageFlags, buffer: GPUBufferBindingLayout, sampler: GPUSamplerBindingLayout, texture: GPUTextureBindingLayout, storageTexture: GPUStorageTextureBindingLayout, externalTexture: GPUExternalTextureBindingLayout) { + public convenience init( + binding: GPUIndex32, + visibility: GPUShaderStageFlags, + buffer: GPUBufferBindingLayout? = nil, + sampler: GPUSamplerBindingLayout? = nil, + texture: GPUTextureBindingLayout? = nil, + storageTexture: GPUStorageTextureBindingLayout? = nil, + externalTexture: GPUExternalTextureBindingLayout? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.binding] = _toJSValue(binding) object[Strings.visibility] = _toJSValue(visibility) @@ -237,81 +243,103 @@ public class GPUBindGroupLayoutEntry: BridgedDictionary { object[Strings.texture] = _toJSValue(texture) object[Strings.storageTexture] = _toJSValue(storageTexture) object[Strings.externalTexture] = _toJSValue(externalTexture) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _binding = ReadWriteAttribute(jsObject: object, name: Strings.binding) - _visibility = ReadWriteAttribute(jsObject: object, name: Strings.visibility) - _buffer = ReadWriteAttribute(jsObject: object, name: Strings.buffer) - _sampler = ReadWriteAttribute(jsObject: object, name: Strings.sampler) - _texture = ReadWriteAttribute(jsObject: object, name: Strings.texture) - _storageTexture = ReadWriteAttribute(jsObject: object, name: Strings.storageTexture) - _externalTexture = ReadWriteAttribute(jsObject: object, name: Strings.externalTexture) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var binding: GPUIndex32 - - @ReadWriteAttribute - public var visibility: GPUShaderStageFlags - - @ReadWriteAttribute - public var buffer: GPUBufferBindingLayout - - @ReadWriteAttribute - public var sampler: GPUSamplerBindingLayout - - @ReadWriteAttribute - public var texture: GPUTextureBindingLayout - - @ReadWriteAttribute - public var storageTexture: GPUStorageTextureBindingLayout + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var externalTexture: GPUExternalTextureBindingLayout + @inlinable public var binding: GPUIndex32 { + get { jsObject[Strings.binding].fromJSValue()! } + set { jsObject[Strings.binding] = _toJSValue(newValue) } + } + @inlinable public var visibility: GPUShaderStageFlags { + get { jsObject[Strings.visibility].fromJSValue()! } + set { jsObject[Strings.visibility] = _toJSValue(newValue) } + } + @inlinable public var buffer: GPUBufferBindingLayout { + get { jsObject[Strings.buffer].fromJSValue()! } + set { jsObject[Strings.buffer] = _toJSValue(newValue) } + } + @inlinable public var sampler: GPUSamplerBindingLayout { + get { jsObject[Strings.sampler].fromJSValue()! } + set { jsObject[Strings.sampler] = _toJSValue(newValue) } + } + @inlinable public var texture: GPUTextureBindingLayout { + get { jsObject[Strings.texture].fromJSValue()! } + set { jsObject[Strings.texture] = _toJSValue(newValue) } + } + @inlinable public var storageTexture: GPUStorageTextureBindingLayout { + get { jsObject[Strings.storageTexture].fromJSValue()! } + set { jsObject[Strings.storageTexture] = _toJSValue(newValue) } + } + @inlinable public var externalTexture: GPUExternalTextureBindingLayout { + get { jsObject[Strings.externalTexture].fromJSValue()! } + set { jsObject[Strings.externalTexture] = _toJSValue(newValue) } + } } - public protocol GPUBindingCommandsMixin: JSBridgedClass {} -public extension GPUBindingCommandsMixin { - @inlinable func setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup?, dynamicOffsets: [GPUBufferDynamicOffset]? = nil) { +extension GPUBindingCommandsMixin { + @inlinable public func setBindGroup( + index: GPUIndex32, + bindGroup: GPUBindGroup?, + dynamicOffsets: [GPUBufferDynamicOffset]? = nil + ) { let this = jsObject - _ = this[Strings.setBindGroup].function!(this: this, arguments: [_toJSValue(index), _toJSValue(bindGroup), _toJSValue(dynamicOffsets)]) - } - - @inlinable func setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup?, dynamicOffsetsData: Uint32Array, dynamicOffsetsDataStart: GPUSize64, dynamicOffsetsDataLength: GPUSize32) { + _ = this[Strings.setBindGroup].function!( + this: this, + arguments: [_toJSValue(index), _toJSValue(bindGroup), _toJSValue(dynamicOffsets)] + ) + } + + @inlinable public func setBindGroup( + index: GPUIndex32, + bindGroup: GPUBindGroup?, + dynamicOffsetsData: Uint32Array, + dynamicOffsetsDataStart: GPUSize64, + dynamicOffsetsDataLength: GPUSize32 + ) { let this = jsObject - _ = this[Strings.setBindGroup].function!(this: this, arguments: [_toJSValue(index), _toJSValue(bindGroup), _toJSValue(dynamicOffsetsData), _toJSValue(dynamicOffsetsDataStart), _toJSValue(dynamicOffsetsDataLength)]) + _ = this[Strings.setBindGroup].function!( + this: this, + arguments: [ + _toJSValue(index), _toJSValue(bindGroup), _toJSValue(dynamicOffsetsData), + _toJSValue(dynamicOffsetsDataStart), _toJSValue(dynamicOffsetsDataLength), + ] + ) } } +open class GPUBlendComponent: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUBlendComponent: BridgedDictionary { - public convenience init(operation: GPUBlendOperation, srcFactor: GPUBlendFactor, dstFactor: GPUBlendFactor) { + public convenience init( + operation: GPUBlendOperation? = nil, + srcFactor: GPUBlendFactor? = nil, + dstFactor: GPUBlendFactor? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.operation] = _toJSValue(operation) object[Strings.srcFactor] = _toJSValue(srcFactor) object[Strings.dstFactor] = _toJSValue(dstFactor) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _operation = ReadWriteAttribute(jsObject: object, name: Strings.operation) - _srcFactor = ReadWriteAttribute(jsObject: object, name: Strings.srcFactor) - _dstFactor = ReadWriteAttribute(jsObject: object, name: Strings.dstFactor) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var operation: GPUBlendOperation + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var srcFactor: GPUBlendFactor - - @ReadWriteAttribute - public var dstFactor: GPUBlendFactor + @inlinable public var operation: GPUBlendOperation { + get { jsObject[Strings.operation].fromJSValue()! } + set { jsObject[Strings.operation] = _toJSValue(newValue) } + } + @inlinable public var srcFactor: GPUBlendFactor { + get { jsObject[Strings.srcFactor].fromJSValue()! } + set { jsObject[Strings.srcFactor] = _toJSValue(newValue) } + } + @inlinable public var dstFactor: GPUBlendFactor { + get { jsObject[Strings.dstFactor].fromJSValue()! } + set { jsObject[Strings.dstFactor] = _toJSValue(newValue) } + } } - public enum GPUBlendFactor: JSString, JSValueCompatible { case zero = "zero" case one = "one" @@ -328,19 +356,14 @@ public enum GPUBlendFactor: JSString, JSValueCompatible { case oneMinusConstant = "one-minus-constant" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum GPUBlendOperation: JSString, JSValueCompatible { case add = "add" case subtract = "subtract" @@ -349,209 +372,213 @@ public enum GPUBlendOperation: JSString, JSValueCompatible { case max = "max" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GPUBlendState: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUBlendState: BridgedDictionary { public convenience init(color: GPUBlendComponent, alpha: GPUBlendComponent) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.color] = _toJSValue(color) object[Strings.alpha] = _toJSValue(alpha) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _color = ReadWriteAttribute(jsObject: object, name: Strings.color) - _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var color: GPUBlendComponent + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var alpha: GPUBlendComponent + @inlinable public var color: GPUBlendComponent { + get { jsObject[Strings.color].fromJSValue()! } + set { jsObject[Strings.color] = _toJSValue(newValue) } + } + @inlinable public var alpha: GPUBlendComponent { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } } - public class GPUBuffer: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUBuffer].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) - _usage = ReadonlyAttribute(jsObject: jsObject, name: Strings.usage) - _mapState = ReadonlyAttribute(jsObject: jsObject, name: Strings.mapState) - self.jsObject = jsObject - } - - @ReadonlyAttribute - public var size: GPUSize64Out + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var usage: GPUFlagsConstant + @inlinable public var size: GPUSize64Out { jsObject[Strings.size].fromJSValue()! } - @ReadonlyAttribute - public var mapState: GPUBufferMapState + @inlinable public var usage: GPUFlagsConstant { jsObject[Strings.usage].fromJSValue()! } - @inlinable public func mapAsync(mode: GPUMapModeFlags, offset: GPUSize64? = nil, size: GPUSize64? = nil) -> JSPromise { - let this = jsObject - return this[Strings.mapAsync].function!(this: this, arguments: [_toJSValue(mode), _toJSValue(offset), _toJSValue(size)]).fromJSValue()! - } + @inlinable public var mapState: GPUBufferMapState { jsObject[Strings.mapState].fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func mapAsync(mode: GPUMapModeFlags, offset: GPUSize64? = nil, size: GPUSize64? = nil) async throws { + @inlinable final public func mapAsync( + mode: GPUMapModeFlags, + offset: GPUSize64? = nil, + size: GPUSize64? = nil + ) -> JSPromise { let this = jsObject - let _promise: JSPromise = this[Strings.mapAsync].function!(this: this, arguments: [_toJSValue(mode), _toJSValue(offset), _toJSValue(size)]).fromJSValue()! - _ = try await _promise.value - } + return this[Strings.mapAsync].function!( + this: this, + arguments: [_toJSValue(mode), _toJSValue(offset), _toJSValue(size)] + ).fromJSValue()! + } + + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func mapAsync( + mode: GPUMapModeFlags, + offset: GPUSize64? = nil, + size: GPUSize64? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.mapAsync].function!( + this: this, + arguments: [_toJSValue(mode), _toJSValue(offset), _toJSValue(size)] + ).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func getMappedRange(offset: GPUSize64? = nil, size: GPUSize64? = nil) -> ArrayBuffer { + @inlinable final public func getMappedRange(offset: GPUSize64? = nil, size: GPUSize64? = nil) -> ArrayBuffer { let this = jsObject - return this[Strings.getMappedRange].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(size)]).fromJSValue()! + return this[Strings.getMappedRange].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(size)]) + .fromJSValue()! } - @inlinable public func unmap() { + @inlinable final public func unmap() { let this = jsObject _ = this[Strings.unmap].function!(this: this, arguments: []) } - @inlinable public func destroy() { + @inlinable final public func destroy() { let this = jsObject _ = this[Strings.destroy].function!(this: this, arguments: []) } } -public class GPUBufferBinding: BridgedDictionary { - public convenience init(buffer: GPUBuffer, offset: GPUSize64, size: GPUSize64) { +open class GPUBufferBinding: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(buffer: GPUBuffer, offset: GPUSize64? = nil, size: GPUSize64? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.buffer] = _toJSValue(buffer) object[Strings.offset] = _toJSValue(offset) object[Strings.size] = _toJSValue(size) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _buffer = ReadWriteAttribute(jsObject: object, name: Strings.buffer) - _offset = ReadWriteAttribute(jsObject: object, name: Strings.offset) - _size = ReadWriteAttribute(jsObject: object, name: Strings.size) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var buffer: GPUBuffer + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var offset: GPUSize64 - - @ReadWriteAttribute - public var size: GPUSize64 + @inlinable public var buffer: GPUBuffer { + get { jsObject[Strings.buffer].fromJSValue()! } + set { jsObject[Strings.buffer] = _toJSValue(newValue) } + } + @inlinable public var offset: GPUSize64 { + get { jsObject[Strings.offset].fromJSValue()! } + set { jsObject[Strings.offset] = _toJSValue(newValue) } + } + @inlinable public var size: GPUSize64 { + get { jsObject[Strings.size].fromJSValue()! } + set { jsObject[Strings.size] = _toJSValue(newValue) } + } } +open class GPUBufferBindingLayout: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUBufferBindingLayout: BridgedDictionary { - public convenience init(type: GPUBufferBindingType, hasDynamicOffset: Bool, minBindingSize: GPUSize64) { + public convenience init( + type: GPUBufferBindingType? = nil, + hasDynamicOffset: Bool? = nil, + minBindingSize: GPUSize64? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.hasDynamicOffset] = _toJSValue(hasDynamicOffset) object[Strings.minBindingSize] = _toJSValue(minBindingSize) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _hasDynamicOffset = ReadWriteAttribute(jsObject: object, name: Strings.hasDynamicOffset) - _minBindingSize = ReadWriteAttribute(jsObject: object, name: Strings.minBindingSize) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: GPUBufferBindingType + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var hasDynamicOffset: Bool - - @ReadWriteAttribute - public var minBindingSize: GPUSize64 + @inlinable public var type: GPUBufferBindingType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var hasDynamicOffset: Bool { + get { jsObject[Strings.hasDynamicOffset].fromJSValue()! } + set { jsObject[Strings.hasDynamicOffset] = _toJSValue(newValue) } + } + @inlinable public var minBindingSize: GPUSize64 { + get { jsObject[Strings.minBindingSize].fromJSValue()! } + set { jsObject[Strings.minBindingSize] = _toJSValue(newValue) } + } } - public enum GPUBufferBindingType: JSString, JSValueCompatible { case uniform = "uniform" case storage = "storage" case readOnlyStorage = "read-only-storage" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GPUBufferDescriptor: GPUObjectDescriptorBase { -public class GPUBufferDescriptor: BridgedDictionary { - public convenience init(size: GPUSize64, usage: GPUBufferUsageFlags, mappedAtCreation: Bool) { + public convenience init( + label: String? = nil, + size: GPUSize64, + usage: GPUBufferUsageFlags, + mappedAtCreation: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.size] = _toJSValue(size) object[Strings.usage] = _toJSValue(usage) object[Strings.mappedAtCreation] = _toJSValue(mappedAtCreation) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _size = ReadWriteAttribute(jsObject: object, name: Strings.size) - _usage = ReadWriteAttribute(jsObject: object, name: Strings.usage) - _mappedAtCreation = ReadWriteAttribute(jsObject: object, name: Strings.mappedAtCreation) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var size: GPUSize64 - - @ReadWriteAttribute - public var usage: GPUBufferUsageFlags + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var mappedAtCreation: Bool + @inlinable public var size: GPUSize64 { + get { jsObject[Strings.size].fromJSValue()! } + set { jsObject[Strings.size] = _toJSValue(newValue) } + } + @inlinable public var usage: GPUBufferUsageFlags { + get { jsObject[Strings.usage].fromJSValue()! } + set { jsObject[Strings.usage] = _toJSValue(newValue) } + } + @inlinable public var mappedAtCreation: Bool { + get { jsObject[Strings.mappedAtCreation].fromJSValue()! } + set { jsObject[Strings.mappedAtCreation] = _toJSValue(newValue) } + } } - public enum GPUBufferMapState: JSString, JSValueCompatible { case unmapped = "unmapped" case pending = "pending" case mapped = "mapped" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum GPUBufferUsage { - @inlinable public static var jsObject: JSObject { - JSObject.global[Strings.GPUBufferUsage].object! - } + @inlinable public static var jsObject: JSObject { JSObject.global[Strings.GPUBufferUsage].object! } public static let MAP_READ: GPUFlagsConstant = 0x0001 @@ -573,27 +600,30 @@ public enum GPUBufferUsage { public static let QUERY_RESOLVE: GPUFlagsConstant = 0x0200 } - public enum GPUCanvasAlphaMode: JSString, JSValueCompatible { case opaque = "opaque" case premultiplied = "premultiplied" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GPUCanvasConfiguration: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUCanvasConfiguration: BridgedDictionary { - public convenience init(device: GPUDevice, format: GPUTextureFormat, usage: GPUTextureUsageFlags, viewFormats: [GPUTextureFormat], colorSpace: PredefinedColorSpace, alphaMode: GPUCanvasAlphaMode) { + public convenience init( + device: GPUDevice, + format: GPUTextureFormat, + usage: GPUTextureUsageFlags? = nil, + viewFormats: [GPUTextureFormat]? = nil, + colorSpace: PredefinedColorSpace? = nil, + alphaMode: GPUCanvasAlphaMode? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.device] = _toJSValue(device) object[Strings.format] = _toJSValue(format) @@ -601,128 +631,124 @@ public class GPUCanvasConfiguration: BridgedDictionary { object[Strings.viewFormats] = _toJSValue(viewFormats) object[Strings.colorSpace] = _toJSValue(colorSpace) object[Strings.alphaMode] = _toJSValue(alphaMode) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _device = ReadWriteAttribute(jsObject: object, name: Strings.device) - _format = ReadWriteAttribute(jsObject: object, name: Strings.format) - _usage = ReadWriteAttribute(jsObject: object, name: Strings.usage) - _viewFormats = ReadWriteAttribute(jsObject: object, name: Strings.viewFormats) - _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) - _alphaMode = ReadWriteAttribute(jsObject: object, name: Strings.alphaMode) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var device: GPUDevice - - @ReadWriteAttribute - public var format: GPUTextureFormat - - @ReadWriteAttribute - public var usage: GPUTextureUsageFlags - - @ReadWriteAttribute - public var viewFormats: [GPUTextureFormat] + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var colorSpace: PredefinedColorSpace - - @ReadWriteAttribute - public var alphaMode: GPUCanvasAlphaMode + @inlinable public var device: GPUDevice { + get { jsObject[Strings.device].fromJSValue()! } + set { jsObject[Strings.device] = _toJSValue(newValue) } + } + @inlinable public var format: GPUTextureFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } + @inlinable public var usage: GPUTextureUsageFlags { + get { jsObject[Strings.usage].fromJSValue()! } + set { jsObject[Strings.usage] = _toJSValue(newValue) } + } + @inlinable public var viewFormats: [GPUTextureFormat] { + get { jsObject[Strings.viewFormats].fromJSValue()! } + set { jsObject[Strings.viewFormats] = _toJSValue(newValue) } + } + @inlinable public var colorSpace: PredefinedColorSpace { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } + @inlinable public var alphaMode: GPUCanvasAlphaMode { + get { jsObject[Strings.alphaMode].fromJSValue()! } + set { jsObject[Strings.alphaMode] = _toJSValue(newValue) } + } } - public class GPUCanvasContext: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUCanvasContext].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _canvas = ReadonlyAttribute(jsObject: jsObject, name: Strings.canvas) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var canvas: HTMLCanvasElement_or_OffscreenCanvas + @inlinable public var canvas: HTMLCanvasElement_or_OffscreenCanvas { jsObject[Strings.canvas].fromJSValue()! } - @inlinable public func configure(configuration: GPUCanvasConfiguration) { + @inlinable final public func configure(configuration: GPUCanvasConfiguration) { let this = jsObject _ = this[Strings.configure].function!(this: this, arguments: [_toJSValue(configuration)]) } - @inlinable public func unconfigure() { + @inlinable final public func unconfigure() { let this = jsObject _ = this[Strings.unconfigure].function!(this: this, arguments: []) } - @inlinable public func getCurrentTexture() -> GPUTexture { + @inlinable final public func getCurrentTexture() -> GPUTexture { let this = jsObject return this[Strings.getCurrentTexture].function!(this: this, arguments: []).fromJSValue()! } } -public class GPUColorDict: BridgedDictionary { +open class GPUColorDict: JSDictionaryCompatible { + public let jsObject: JSObject + public convenience init(r: Double, g: Double, b: Double, a: Double) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.r] = _toJSValue(r) object[Strings.g] = _toJSValue(g) object[Strings.b] = _toJSValue(b) object[Strings.a] = _toJSValue(a) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _r = ReadWriteAttribute(jsObject: object, name: Strings.r) - _g = ReadWriteAttribute(jsObject: object, name: Strings.g) - _b = ReadWriteAttribute(jsObject: object, name: Strings.b) - _a = ReadWriteAttribute(jsObject: object, name: Strings.a) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var r: Double - - @ReadWriteAttribute - public var g: Double - - @ReadWriteAttribute - public var b: Double + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var a: Double + @inlinable public var r: Double { + get { jsObject[Strings.r].fromJSValue()! } + set { jsObject[Strings.r] = _toJSValue(newValue) } + } + @inlinable public var g: Double { + get { jsObject[Strings.g].fromJSValue()! } + set { jsObject[Strings.g] = _toJSValue(newValue) } + } + @inlinable public var b: Double { + get { jsObject[Strings.b].fromJSValue()! } + set { jsObject[Strings.b] = _toJSValue(newValue) } + } + @inlinable public var a: Double { + get { jsObject[Strings.a].fromJSValue()! } + set { jsObject[Strings.a] = _toJSValue(newValue) } + } } +open class GPUColorTargetState: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUColorTargetState: BridgedDictionary { - public convenience init(format: GPUTextureFormat, blend: GPUBlendState, writeMask: GPUColorWriteFlags) { + public convenience init(format: GPUTextureFormat, blend: GPUBlendState? = nil, writeMask: GPUColorWriteFlags? = nil) + { let object = JSObject.global[Strings.Object].function!.new() object[Strings.format] = _toJSValue(format) object[Strings.blend] = _toJSValue(blend) object[Strings.writeMask] = _toJSValue(writeMask) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _format = ReadWriteAttribute(jsObject: object, name: Strings.format) - _blend = ReadWriteAttribute(jsObject: object, name: Strings.blend) - _writeMask = ReadWriteAttribute(jsObject: object, name: Strings.writeMask) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var format: GPUTextureFormat + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var blend: GPUBlendState - - @ReadWriteAttribute - public var writeMask: GPUColorWriteFlags + @inlinable public var format: GPUTextureFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } + @inlinable public var blend: GPUBlendState { + get { jsObject[Strings.blend].fromJSValue()! } + set { jsObject[Strings.blend] = _toJSValue(newValue) } + } + @inlinable public var writeMask: GPUColorWriteFlags { + get { jsObject[Strings.writeMask].fromJSValue()! } + set { jsObject[Strings.writeMask] = _toJSValue(newValue) } + } } - public enum GPUColorWrite { - @inlinable public static var jsObject: JSObject { - JSObject.global[Strings.GPUColorWrite].object! - } + @inlinable public static var jsObject: JSObject { JSObject.global[Strings.GPUColorWrite].object! } public static let RED: GPUFlagsConstant = 0x1 @@ -734,104 +760,151 @@ public enum GPUColorWrite { public static let ALL: GPUFlagsConstant = 0xF } - public class GPUCommandBuffer: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUCommandBuffer].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } -public class GPUCommandBufferDescriptor: BridgedDictionary { - public convenience init() { +open class GPUCommandBufferDescriptor: GPUObjectDescriptorBase { + + public convenience init(label: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - super.init(unsafelyWrapping: object) - } -} + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } +} public class GPUCommandEncoder: JSBridgedClass, GPUObjectBase, GPUCommandsMixin, GPUDebugCommandsMixin { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUCommandEncoder].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func beginRenderPass(descriptor: GPURenderPassDescriptor) -> GPURenderPassEncoder { + @inlinable final public func beginRenderPass(descriptor: GPURenderPassDescriptor) -> GPURenderPassEncoder { let this = jsObject return this[Strings.beginRenderPass].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! } - @inlinable public func beginComputePass(descriptor: GPUComputePassDescriptor? = nil) -> GPUComputePassEncoder { + @inlinable final public func beginComputePass(descriptor: GPUComputePassDescriptor? = nil) -> GPUComputePassEncoder + { let this = jsObject return this[Strings.beginComputePass].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! } - @inlinable public func copyBufferToBuffer(source: GPUBuffer, sourceOffset: GPUSize64, destination: GPUBuffer, destinationOffset: GPUSize64, size: GPUSize64) { + @inlinable final public func copyBufferToBuffer( + source: GPUBuffer, + sourceOffset: GPUSize64, + destination: GPUBuffer, + destinationOffset: GPUSize64, + size: GPUSize64 + ) { let this = jsObject - _ = this[Strings.copyBufferToBuffer].function!(this: this, arguments: [_toJSValue(source), _toJSValue(sourceOffset), _toJSValue(destination), _toJSValue(destinationOffset), _toJSValue(size)]) - } - - @inlinable public func copyBufferToTexture(source: GPUImageCopyBuffer, destination: GPUImageCopyTexture, copySize: GPUExtent3D) { + _ = this[Strings.copyBufferToBuffer].function!( + this: this, + arguments: [ + _toJSValue(source), _toJSValue(sourceOffset), _toJSValue(destination), _toJSValue(destinationOffset), + _toJSValue(size), + ] + ) + } + + @inlinable final public func copyBufferToTexture( + source: GPUImageCopyBuffer, + destination: GPUImageCopyTexture, + copySize: GPUExtent3D + ) { let this = jsObject - _ = this[Strings.copyBufferToTexture].function!(this: this, arguments: [_toJSValue(source), _toJSValue(destination), _toJSValue(copySize)]) + _ = this[Strings.copyBufferToTexture].function!( + this: this, + arguments: [_toJSValue(source), _toJSValue(destination), _toJSValue(copySize)] + ) } - @inlinable public func copyTextureToBuffer(source: GPUImageCopyTexture, destination: GPUImageCopyBuffer, copySize: GPUExtent3D) { + @inlinable final public func copyTextureToBuffer( + source: GPUImageCopyTexture, + destination: GPUImageCopyBuffer, + copySize: GPUExtent3D + ) { let this = jsObject - _ = this[Strings.copyTextureToBuffer].function!(this: this, arguments: [_toJSValue(source), _toJSValue(destination), _toJSValue(copySize)]) + _ = this[Strings.copyTextureToBuffer].function!( + this: this, + arguments: [_toJSValue(source), _toJSValue(destination), _toJSValue(copySize)] + ) } - @inlinable public func copyTextureToTexture(source: GPUImageCopyTexture, destination: GPUImageCopyTexture, copySize: GPUExtent3D) { + @inlinable final public func copyTextureToTexture( + source: GPUImageCopyTexture, + destination: GPUImageCopyTexture, + copySize: GPUExtent3D + ) { let this = jsObject - _ = this[Strings.copyTextureToTexture].function!(this: this, arguments: [_toJSValue(source), _toJSValue(destination), _toJSValue(copySize)]) + _ = this[Strings.copyTextureToTexture].function!( + this: this, + arguments: [_toJSValue(source), _toJSValue(destination), _toJSValue(copySize)] + ) } - @inlinable public func clearBuffer(buffer: GPUBuffer, offset: GPUSize64? = nil, size: GPUSize64? = nil) { + @inlinable final public func clearBuffer(buffer: GPUBuffer, offset: GPUSize64? = nil, size: GPUSize64? = nil) { let this = jsObject - _ = this[Strings.clearBuffer].function!(this: this, arguments: [_toJSValue(buffer), _toJSValue(offset), _toJSValue(size)]) + _ = this[Strings.clearBuffer].function!( + this: this, + arguments: [_toJSValue(buffer), _toJSValue(offset), _toJSValue(size)] + ) } - @inlinable public func writeTimestamp(querySet: GPUQuerySet, queryIndex: GPUSize32) { + @inlinable final public func writeTimestamp(querySet: GPUQuerySet, queryIndex: GPUSize32) { let this = jsObject - _ = this[Strings.writeTimestamp].function!(this: this, arguments: [_toJSValue(querySet), _toJSValue(queryIndex)]) - } - - @inlinable public func resolveQuerySet(querySet: GPUQuerySet, firstQuery: GPUSize32, queryCount: GPUSize32, destination: GPUBuffer, destinationOffset: GPUSize64) { + _ = this[Strings.writeTimestamp].function!( + this: this, + arguments: [_toJSValue(querySet), _toJSValue(queryIndex)] + ) + } + + @inlinable final public func resolveQuerySet( + querySet: GPUQuerySet, + firstQuery: GPUSize32, + queryCount: GPUSize32, + destination: GPUBuffer, + destinationOffset: GPUSize64 + ) { let this = jsObject - _ = this[Strings.resolveQuerySet].function!(this: this, arguments: [_toJSValue(querySet), _toJSValue(firstQuery), _toJSValue(queryCount), _toJSValue(destination), _toJSValue(destinationOffset)]) + _ = this[Strings.resolveQuerySet].function!( + this: this, + arguments: [ + _toJSValue(querySet), _toJSValue(firstQuery), _toJSValue(queryCount), _toJSValue(destination), + _toJSValue(destinationOffset), + ] + ) } - @inlinable public func finish(descriptor: GPUCommandBufferDescriptor? = nil) -> GPUCommandBuffer { + @inlinable final public func finish(descriptor: GPUCommandBufferDescriptor? = nil) -> GPUCommandBuffer { let this = jsObject return this[Strings.finish].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! } } -public class GPUCommandEncoderDescriptor: BridgedDictionary { - public convenience init() { +open class GPUCommandEncoderDescriptor: GPUObjectDescriptorBase { + + public convenience init(label: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - super.init(unsafelyWrapping: object) - } -} + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } +} public protocol GPUCommandsMixin: JSBridgedClass {} -public extension GPUCommandsMixin {} - +extension GPUCommandsMixin {} public enum GPUCompareFunction: JSString, JSValueCompatible { case never = "never" case less = "less" @@ -843,31 +916,22 @@ public enum GPUCompareFunction: JSString, JSValueCompatible { case always = "always" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class GPUCompilationInfo: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUCompilationInfo].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _messages = ReadonlyAttribute(jsObject: jsObject, name: Strings.messages) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var messages: [GPUCompilationMessage] + @inlinable public var messages: [GPUCompilationMessage] { jsObject[Strings.messages].fromJSValue()! } } public class GPUCompilationMessage: JSBridgedClass { @@ -875,33 +939,19 @@ public class GPUCompilationMessage: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _message = ReadonlyAttribute(jsObject: jsObject, name: Strings.message) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _lineNum = ReadonlyAttribute(jsObject: jsObject, name: Strings.lineNum) - _linePos = ReadonlyAttribute(jsObject: jsObject, name: Strings.linePos) - _offset = ReadonlyAttribute(jsObject: jsObject, name: Strings.offset) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var message: String + @inlinable public var message: String { jsObject[Strings.message].fromJSValue()! } - @ReadonlyAttribute - public var type: GPUCompilationMessageType + @inlinable public var type: GPUCompilationMessageType { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var lineNum: UInt64 + @inlinable public var lineNum: UInt64 { jsObject[Strings.lineNum].fromJSValue()! } - @ReadonlyAttribute - public var linePos: UInt64 + @inlinable public var linePos: UInt64 { jsObject[Strings.linePos].fromJSValue()! } - @ReadonlyAttribute - public var offset: UInt64 + @inlinable public var offset: UInt64 { jsObject[Strings.offset].fromJSValue()! } - @ReadonlyAttribute - public var length: UInt64 + @inlinable public var length: UInt64 { jsObject[Strings.length].fromJSValue()! } } public enum GPUCompilationMessageType: JSString, JSValueCompatible { @@ -910,156 +960,174 @@ public enum GPUCompilationMessageType: JSString, JSValueCompatible { case info = "info" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GPUComputePassDescriptor: GPUObjectDescriptorBase { -public class GPUComputePassDescriptor: BridgedDictionary { - public convenience init(timestampWrites: GPUComputePassTimestampWrites) { + public convenience init(label: String? = nil, timestampWrites: GPUComputePassTimestampWrites? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.timestampWrites] = _toJSValue(timestampWrites) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _timestampWrites = ReadWriteAttribute(jsObject: object, name: Strings.timestampWrites) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var timestampWrites: GPUComputePassTimestampWrites + @inlinable public var timestampWrites: GPUComputePassTimestampWrites { + get { jsObject[Strings.timestampWrites].fromJSValue()! } + set { jsObject[Strings.timestampWrites] = _toJSValue(newValue) } + } } - -public class GPUComputePassEncoder: JSBridgedClass, GPUObjectBase, GPUCommandsMixin, GPUDebugCommandsMixin, GPUBindingCommandsMixin { +public class GPUComputePassEncoder: JSBridgedClass, GPUObjectBase, GPUCommandsMixin, GPUDebugCommandsMixin, + GPUBindingCommandsMixin +{ @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUComputePassEncoder].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func setPipeline(pipeline: GPUComputePipeline) { + @inlinable final public func setPipeline(pipeline: GPUComputePipeline) { let this = jsObject _ = this[Strings.setPipeline].function!(this: this, arguments: [_toJSValue(pipeline)]) } - @inlinable public func dispatchWorkgroups(workgroupCountX: GPUSize32, workgroupCountY: GPUSize32? = nil, workgroupCountZ: GPUSize32? = nil) { + @inlinable final public func dispatchWorkgroups( + workgroupCountX: GPUSize32, + workgroupCountY: GPUSize32? = nil, + workgroupCountZ: GPUSize32? = nil + ) { let this = jsObject - _ = this[Strings.dispatchWorkgroups].function!(this: this, arguments: [_toJSValue(workgroupCountX), _toJSValue(workgroupCountY), _toJSValue(workgroupCountZ)]) + _ = this[Strings.dispatchWorkgroups].function!( + this: this, + arguments: [_toJSValue(workgroupCountX), _toJSValue(workgroupCountY), _toJSValue(workgroupCountZ)] + ) } - @inlinable public func dispatchWorkgroupsIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64) { + @inlinable final public func dispatchWorkgroupsIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64) { let this = jsObject - _ = this[Strings.dispatchWorkgroupsIndirect].function!(this: this, arguments: [_toJSValue(indirectBuffer), _toJSValue(indirectOffset)]) + _ = this[Strings.dispatchWorkgroupsIndirect].function!( + this: this, + arguments: [_toJSValue(indirectBuffer), _toJSValue(indirectOffset)] + ) } - @inlinable public func end() { + @inlinable final public func end() { let this = jsObject _ = this[Strings.end].function!(this: this, arguments: []) } } -public class GPUComputePassTimestampWrites: BridgedDictionary { - public convenience init(querySet: GPUQuerySet, beginningOfPassWriteIndex: GPUSize32, endOfPassWriteIndex: GPUSize32) { +open class GPUComputePassTimestampWrites: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + querySet: GPUQuerySet, + beginningOfPassWriteIndex: GPUSize32? = nil, + endOfPassWriteIndex: GPUSize32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.querySet] = _toJSValue(querySet) object[Strings.beginningOfPassWriteIndex] = _toJSValue(beginningOfPassWriteIndex) object[Strings.endOfPassWriteIndex] = _toJSValue(endOfPassWriteIndex) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _querySet = ReadWriteAttribute(jsObject: object, name: Strings.querySet) - _beginningOfPassWriteIndex = ReadWriteAttribute(jsObject: object, name: Strings.beginningOfPassWriteIndex) - _endOfPassWriteIndex = ReadWriteAttribute(jsObject: object, name: Strings.endOfPassWriteIndex) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var querySet: GPUQuerySet - - @ReadWriteAttribute - public var beginningOfPassWriteIndex: GPUSize32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var endOfPassWriteIndex: GPUSize32 + @inlinable public var querySet: GPUQuerySet { + get { jsObject[Strings.querySet].fromJSValue()! } + set { jsObject[Strings.querySet] = _toJSValue(newValue) } + } + @inlinable public var beginningOfPassWriteIndex: GPUSize32 { + get { jsObject[Strings.beginningOfPassWriteIndex].fromJSValue()! } + set { jsObject[Strings.beginningOfPassWriteIndex] = _toJSValue(newValue) } + } + @inlinable public var endOfPassWriteIndex: GPUSize32 { + get { jsObject[Strings.endOfPassWriteIndex].fromJSValue()! } + set { jsObject[Strings.endOfPassWriteIndex] = _toJSValue(newValue) } + } } - public class GPUComputePipeline: JSBridgedClass, GPUObjectBase, GPUPipelineBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUComputePipeline].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } -public class GPUComputePipelineDescriptor: BridgedDictionary { - public convenience init(compute: GPUProgrammableStage) { +open class GPUComputePipelineDescriptor: GPUPipelineDescriptorBase { + + public convenience init(layout: GPUAutoLayoutMode_or_GPUPipelineLayout, compute: GPUProgrammableStage) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.layout] = _toJSValue(layout) object[Strings.compute] = _toJSValue(compute) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _compute = ReadWriteAttribute(jsObject: object, name: Strings.compute) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var compute: GPUProgrammableStage + @inlinable public var compute: GPUProgrammableStage { + get { jsObject[Strings.compute].fromJSValue()! } + set { jsObject[Strings.compute] = _toJSValue(newValue) } + } } - public enum GPUCullMode: JSString, JSValueCompatible { case none = "none" case front = "front" case back = "back" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol GPUDebugCommandsMixin: JSBridgedClass {} -public extension GPUDebugCommandsMixin { - @inlinable func pushDebugGroup(groupLabel: String) { +extension GPUDebugCommandsMixin { + @inlinable public func pushDebugGroup(groupLabel: String) { let this = jsObject _ = this[Strings.pushDebugGroup].function!(this: this, arguments: [_toJSValue(groupLabel)]) } - @inlinable func popDebugGroup() { + @inlinable public func popDebugGroup() { let this = jsObject _ = this[Strings.popDebugGroup].function!(this: this, arguments: []) } - @inlinable func insertDebugMarker(markerLabel: String) { + @inlinable public func insertDebugMarker(markerLabel: String) { let this = jsObject _ = this[Strings.insertDebugMarker].function!(this: this, arguments: [_toJSValue(markerLabel)]) } } +open class GPUDepthStencilState: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUDepthStencilState: BridgedDictionary { - public convenience init(format: GPUTextureFormat, depthWriteEnabled: Bool, depthCompare: GPUCompareFunction, stencilFront: GPUStencilFaceState, stencilBack: GPUStencilFaceState, stencilReadMask: GPUStencilValue, stencilWriteMask: GPUStencilValue, depthBias: GPUDepthBias, depthBiasSlopeScale: Float, depthBiasClamp: Float) { + public convenience init( + format: GPUTextureFormat, + depthWriteEnabled: Bool, + depthCompare: GPUCompareFunction, + stencilFront: GPUStencilFaceState? = nil, + stencilBack: GPUStencilFaceState? = nil, + stencilReadMask: GPUStencilValue? = nil, + stencilWriteMask: GPUStencilValue? = nil, + depthBias: GPUDepthBias? = nil, + depthBiasSlopeScale: Float? = nil, + depthBiasClamp: Float? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.format] = _toJSValue(format) object[Strings.depthWriteEnabled] = _toJSValue(depthWriteEnabled) @@ -1071,235 +1139,265 @@ public class GPUDepthStencilState: BridgedDictionary { object[Strings.depthBias] = _toJSValue(depthBias) object[Strings.depthBiasSlopeScale] = _toJSValue(depthBiasSlopeScale) object[Strings.depthBiasClamp] = _toJSValue(depthBiasClamp) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _format = ReadWriteAttribute(jsObject: object, name: Strings.format) - _depthWriteEnabled = ReadWriteAttribute(jsObject: object, name: Strings.depthWriteEnabled) - _depthCompare = ReadWriteAttribute(jsObject: object, name: Strings.depthCompare) - _stencilFront = ReadWriteAttribute(jsObject: object, name: Strings.stencilFront) - _stencilBack = ReadWriteAttribute(jsObject: object, name: Strings.stencilBack) - _stencilReadMask = ReadWriteAttribute(jsObject: object, name: Strings.stencilReadMask) - _stencilWriteMask = ReadWriteAttribute(jsObject: object, name: Strings.stencilWriteMask) - _depthBias = ReadWriteAttribute(jsObject: object, name: Strings.depthBias) - _depthBiasSlopeScale = ReadWriteAttribute(jsObject: object, name: Strings.depthBiasSlopeScale) - _depthBiasClamp = ReadWriteAttribute(jsObject: object, name: Strings.depthBiasClamp) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var format: GPUTextureFormat - - @ReadWriteAttribute - public var depthWriteEnabled: Bool - - @ReadWriteAttribute - public var depthCompare: GPUCompareFunction - - @ReadWriteAttribute - public var stencilFront: GPUStencilFaceState - - @ReadWriteAttribute - public var stencilBack: GPUStencilFaceState - - @ReadWriteAttribute - public var stencilReadMask: GPUStencilValue - - @ReadWriteAttribute - public var stencilWriteMask: GPUStencilValue - - @ReadWriteAttribute - public var depthBias: GPUDepthBias + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var depthBiasSlopeScale: Float - - @ReadWriteAttribute - public var depthBiasClamp: Float + @inlinable public var format: GPUTextureFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } + @inlinable public var depthWriteEnabled: Bool { + get { jsObject[Strings.depthWriteEnabled].fromJSValue()! } + set { jsObject[Strings.depthWriteEnabled] = _toJSValue(newValue) } + } + @inlinable public var depthCompare: GPUCompareFunction { + get { jsObject[Strings.depthCompare].fromJSValue()! } + set { jsObject[Strings.depthCompare] = _toJSValue(newValue) } + } + @inlinable public var stencilFront: GPUStencilFaceState { + get { jsObject[Strings.stencilFront].fromJSValue()! } + set { jsObject[Strings.stencilFront] = _toJSValue(newValue) } + } + @inlinable public var stencilBack: GPUStencilFaceState { + get { jsObject[Strings.stencilBack].fromJSValue()! } + set { jsObject[Strings.stencilBack] = _toJSValue(newValue) } + } + @inlinable public var stencilReadMask: GPUStencilValue { + get { jsObject[Strings.stencilReadMask].fromJSValue()! } + set { jsObject[Strings.stencilReadMask] = _toJSValue(newValue) } + } + @inlinable public var stencilWriteMask: GPUStencilValue { + get { jsObject[Strings.stencilWriteMask].fromJSValue()! } + set { jsObject[Strings.stencilWriteMask] = _toJSValue(newValue) } + } + @inlinable public var depthBias: GPUDepthBias { + get { jsObject[Strings.depthBias].fromJSValue()! } + set { jsObject[Strings.depthBias] = _toJSValue(newValue) } + } + @inlinable public var depthBiasSlopeScale: Float { + get { jsObject[Strings.depthBiasSlopeScale].fromJSValue()! } + set { jsObject[Strings.depthBiasSlopeScale] = _toJSValue(newValue) } + } + @inlinable public var depthBiasClamp: Float { + get { jsObject[Strings.depthBiasClamp].fromJSValue()! } + set { jsObject[Strings.depthBiasClamp] = _toJSValue(newValue) } + } } - public class GPUDevice: EventTarget, GPUObjectBase { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.GPUDevice].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.GPUDevice].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _features = ReadonlyAttribute(jsObject: jsObject, name: Strings.features) - _limits = ReadonlyAttribute(jsObject: jsObject, name: Strings.limits) - _queue = ReadonlyAttribute(jsObject: jsObject, name: Strings.queue) - _lost = ReadonlyAttribute(jsObject: jsObject, name: Strings.lost) - _onuncapturederror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onuncapturederror) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var features: GPUSupportedFeatures + @inlinable public var features: GPUSupportedFeatures { jsObject[Strings.features].fromJSValue()! } - @ReadonlyAttribute - public var limits: GPUSupportedLimits + @inlinable public var limits: GPUSupportedLimits { jsObject[Strings.limits].fromJSValue()! } - @ReadonlyAttribute - public var queue: GPUQueue + @inlinable public var queue: GPUQueue { jsObject[Strings.queue].fromJSValue()! } - @inlinable public func destroy() { + @inlinable final public func destroy() { let this = jsObject _ = this[Strings.destroy].function!(this: this, arguments: []) } - @inlinable public func createBuffer(descriptor: GPUBufferDescriptor) -> GPUBuffer { + @inlinable final public func createBuffer(descriptor: GPUBufferDescriptor) -> GPUBuffer { let this = jsObject return this[Strings.createBuffer].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! } - @inlinable public func createTexture(descriptor: GPUTextureDescriptor) -> GPUTexture { + @inlinable final public func createTexture(descriptor: GPUTextureDescriptor) -> GPUTexture { let this = jsObject return this[Strings.createTexture].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! } - @inlinable public func createSampler(descriptor: GPUSamplerDescriptor? = nil) -> GPUSampler { + @inlinable final public func createSampler(descriptor: GPUSamplerDescriptor? = nil) -> GPUSampler { let this = jsObject return this[Strings.createSampler].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! } - @inlinable public func importExternalTexture(descriptor: GPUExternalTextureDescriptor) -> GPUExternalTexture { + @inlinable final public func importExternalTexture(descriptor: GPUExternalTextureDescriptor) -> GPUExternalTexture { let this = jsObject - return this[Strings.importExternalTexture].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! + return this[Strings.importExternalTexture].function!(this: this, arguments: [_toJSValue(descriptor)]) + .fromJSValue()! } - @inlinable public func createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor) -> GPUBindGroupLayout { + @inlinable final public func createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor) -> GPUBindGroupLayout { let this = jsObject - return this[Strings.createBindGroupLayout].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! + return this[Strings.createBindGroupLayout].function!(this: this, arguments: [_toJSValue(descriptor)]) + .fromJSValue()! } - @inlinable public func createPipelineLayout(descriptor: GPUPipelineLayoutDescriptor) -> GPUPipelineLayout { + @inlinable final public func createPipelineLayout(descriptor: GPUPipelineLayoutDescriptor) -> GPUPipelineLayout { let this = jsObject - return this[Strings.createPipelineLayout].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! + return this[Strings.createPipelineLayout].function!(this: this, arguments: [_toJSValue(descriptor)]) + .fromJSValue()! } - @inlinable public func createBindGroup(descriptor: GPUBindGroupDescriptor) -> GPUBindGroup { + @inlinable final public func createBindGroup(descriptor: GPUBindGroupDescriptor) -> GPUBindGroup { let this = jsObject return this[Strings.createBindGroup].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! } - @inlinable public func createShaderModule(descriptor: GPUShaderModuleDescriptor) -> GPUShaderModule { - let this = jsObject - return this[Strings.createShaderModule].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! - } - - @inlinable public func createComputePipeline(descriptor: GPUComputePipelineDescriptor) -> GPUComputePipeline { + @inlinable final public func createShaderModule(descriptor: GPUShaderModuleDescriptor) -> GPUShaderModule { let this = jsObject - return this[Strings.createComputePipeline].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! + return this[Strings.createShaderModule].function!(this: this, arguments: [_toJSValue(descriptor)]) + .fromJSValue()! } - @inlinable public func createRenderPipeline(descriptor: GPURenderPipelineDescriptor) -> GPURenderPipeline { + @inlinable final public func createComputePipeline(descriptor: GPUComputePipelineDescriptor) -> GPUComputePipeline { let this = jsObject - return this[Strings.createRenderPipeline].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! + return this[Strings.createComputePipeline].function!(this: this, arguments: [_toJSValue(descriptor)]) + .fromJSValue()! } - @inlinable public func createComputePipelineAsync(descriptor: GPUComputePipelineDescriptor) -> JSPromise { + @inlinable final public func createRenderPipeline(descriptor: GPURenderPipelineDescriptor) -> GPURenderPipeline { let this = jsObject - return this[Strings.createComputePipelineAsync].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! + return this[Strings.createRenderPipeline].function!(this: this, arguments: [_toJSValue(descriptor)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func createComputePipelineAsync(descriptor: GPUComputePipelineDescriptor) async throws -> GPUComputePipeline { + @inlinable final public func createComputePipelineAsync(descriptor: GPUComputePipelineDescriptor) -> JSPromise { let this = jsObject - let _promise: JSPromise = this[Strings.createComputePipelineAsync].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - - @inlinable public func createRenderPipelineAsync(descriptor: GPURenderPipelineDescriptor) -> JSPromise { - let this = jsObject - return this[Strings.createRenderPipelineAsync].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! - } + return this[Strings.createComputePipelineAsync].function!(this: this, arguments: [_toJSValue(descriptor)]) + .fromJSValue()! + } + + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable + final public func createComputePipelineAsync( + descriptor: GPUComputePipelineDescriptor + ) async throws(JSException) -> GPUComputePipeline { + let this = jsObject + let _promise: JSPromise = this[Strings.createComputePipelineAsync].function!( + this: this, + arguments: [_toJSValue(descriptor)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func createRenderPipelineAsync(descriptor: GPURenderPipelineDescriptor) async throws -> GPURenderPipeline { + @inlinable final public func createRenderPipelineAsync(descriptor: GPURenderPipelineDescriptor) -> JSPromise { let this = jsObject - let _promise: JSPromise = this[Strings.createRenderPipelineAsync].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + return this[Strings.createRenderPipelineAsync].function!(this: this, arguments: [_toJSValue(descriptor)]) + .fromJSValue()! + } + + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable + final public func createRenderPipelineAsync( + descriptor: GPURenderPipelineDescriptor + ) async throws(JSException) -> GPURenderPipeline { + let this = jsObject + let _promise: JSPromise = this[Strings.createRenderPipelineAsync].function!( + this: this, + arguments: [_toJSValue(descriptor)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func createCommandEncoder(descriptor: GPUCommandEncoderDescriptor? = nil) -> GPUCommandEncoder { + @inlinable final public func createCommandEncoder( + descriptor: GPUCommandEncoderDescriptor? = nil + ) -> GPUCommandEncoder { let this = jsObject - return this[Strings.createCommandEncoder].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! + return this[Strings.createCommandEncoder].function!(this: this, arguments: [_toJSValue(descriptor)]) + .fromJSValue()! } - @inlinable public func createRenderBundleEncoder(descriptor: GPURenderBundleEncoderDescriptor) -> GPURenderBundleEncoder { + @inlinable final public func createRenderBundleEncoder( + descriptor: GPURenderBundleEncoderDescriptor + ) -> GPURenderBundleEncoder { let this = jsObject - return this[Strings.createRenderBundleEncoder].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! + return this[Strings.createRenderBundleEncoder].function!(this: this, arguments: [_toJSValue(descriptor)]) + .fromJSValue()! } - @inlinable public func createQuerySet(descriptor: GPUQuerySetDescriptor) -> GPUQuerySet { + @inlinable final public func createQuerySet(descriptor: GPUQuerySetDescriptor) -> GPUQuerySet { let this = jsObject return this[Strings.createQuerySet].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! } - @ReadonlyAttribute - public var lost: JSPromise + @inlinable public var lost: JSPromise { jsObject[Strings.lost].fromJSValue()! } - @inlinable public func pushErrorScope(filter: GPUErrorFilter) { + @inlinable final public func pushErrorScope(filter: GPUErrorFilter) { let this = jsObject _ = this[Strings.pushErrorScope].function!(this: this, arguments: [_toJSValue(filter)]) } - @inlinable public func popErrorScope() -> JSPromise { + @inlinable final public func popErrorScope() -> JSPromise { let this = jsObject return this[Strings.popErrorScope].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func popErrorScope() async throws -> GPUError? { - let this = jsObject - let _promise: JSPromise = this[Strings.popErrorScope].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue() - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func popErrorScope() + async throws(JSException) -> GPUError? + { + let this = jsObject + let _promise: JSPromise = this[Strings.popErrorScope].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue() + } + #endif - @ClosureAttribute1Optional - public var onuncapturederror: EventHandler + @inlinable public var onuncapturederror: EventHandler { + get { + guard let function = jsObject[Strings.onuncapturederror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onuncapturederror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onuncapturederror] = .null + } + } + } } -public class GPUDeviceDescriptor: BridgedDictionary { - public convenience init(requiredFeatures: [GPUFeatureName], requiredLimits: [String: GPUSize64], defaultQueue: GPUQueueDescriptor) { +open class GPUDeviceDescriptor: GPUObjectDescriptorBase { + + public convenience init( + label: String? = nil, + requiredFeatures: [GPUFeatureName]? = nil, + requiredLimits: JSObject? = nil, + defaultQueue: GPUQueueDescriptor? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.requiredFeatures] = _toJSValue(requiredFeatures) object[Strings.requiredLimits] = _toJSValue(requiredLimits) object[Strings.defaultQueue] = _toJSValue(defaultQueue) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _requiredFeatures = ReadWriteAttribute(jsObject: object, name: Strings.requiredFeatures) - _requiredLimits = ReadWriteAttribute(jsObject: object, name: Strings.requiredLimits) - _defaultQueue = ReadWriteAttribute(jsObject: object, name: Strings.defaultQueue) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var requiredFeatures: [GPUFeatureName] - - @ReadWriteAttribute - public var requiredLimits: [String: GPUSize64] + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var defaultQueue: GPUQueueDescriptor + @inlinable public var requiredFeatures: [GPUFeatureName] { + get { jsObject[Strings.requiredFeatures].fromJSValue()! } + set { jsObject[Strings.requiredFeatures] = _toJSValue(newValue) } + } + @inlinable public var requiredLimits: JSObject { + get { jsObject[Strings.requiredLimits].fromJSValue()! } + set { jsObject[Strings.requiredLimits] = _toJSValue(newValue) } + } + @inlinable public var defaultQueue: GPUQueueDescriptor { + get { jsObject[Strings.defaultQueue].fromJSValue()! } + set { jsObject[Strings.defaultQueue] = _toJSValue(newValue) } + } } - public class GPUDeviceLostInfo: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUDeviceLostInfo].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _reason = ReadonlyAttribute(jsObject: jsObject, name: Strings.reason) - _message = ReadonlyAttribute(jsObject: jsObject, name: Strings.message) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var reason: GPUDeviceLostReason + @inlinable public var reason: GPUDeviceLostReason { jsObject[Strings.reason].fromJSValue()! } - @ReadonlyAttribute - public var message: String + @inlinable public var message: String { jsObject[Strings.message].fromJSValue()! } } public enum GPUDeviceLostReason: JSString, JSValueCompatible { @@ -1307,31 +1405,22 @@ public enum GPUDeviceLostReason: JSString, JSValueCompatible { case destroyed = "destroyed" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class GPUError: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUError].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _message = ReadonlyAttribute(jsObject: jsObject, name: Strings.message) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var message: String + @inlinable public var message: String { jsObject[Strings.message].fromJSValue()! } } public enum GPUErrorFilter: JSString, JSValueCompatible { @@ -1340,88 +1429,92 @@ public enum GPUErrorFilter: JSString, JSValueCompatible { case `internal` = "internal" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GPUExtent3DDict: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUExtent3DDict: BridgedDictionary { - public convenience init(width: GPUIntegerCoordinate, height: GPUIntegerCoordinate, depthOrArrayLayers: GPUIntegerCoordinate) { + public convenience init( + width: GPUIntegerCoordinate, + height: GPUIntegerCoordinate? = nil, + depthOrArrayLayers: GPUIntegerCoordinate? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) object[Strings.depthOrArrayLayers] = _toJSValue(depthOrArrayLayers) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _width = ReadWriteAttribute(jsObject: object, name: Strings.width) - _height = ReadWriteAttribute(jsObject: object, name: Strings.height) - _depthOrArrayLayers = ReadWriteAttribute(jsObject: object, name: Strings.depthOrArrayLayers) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var width: GPUIntegerCoordinate - - @ReadWriteAttribute - public var height: GPUIntegerCoordinate + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var depthOrArrayLayers: GPUIntegerCoordinate + @inlinable public var width: GPUIntegerCoordinate { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + @inlinable public var height: GPUIntegerCoordinate { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } + @inlinable public var depthOrArrayLayers: GPUIntegerCoordinate { + get { jsObject[Strings.depthOrArrayLayers].fromJSValue()! } + set { jsObject[Strings.depthOrArrayLayers] = _toJSValue(newValue) } + } } - public class GPUExternalTexture: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUExternalTexture].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } -public class GPUExternalTextureBindingLayout: BridgedDictionary { +open class GPUExternalTextureBindingLayout: JSDictionaryCompatible { + public let jsObject: JSObject + public convenience init() { let object = JSObject.global[Strings.Object].function!.new() self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + } +open class GPUExternalTextureDescriptor: GPUObjectDescriptorBase { -public class GPUExternalTextureDescriptor: BridgedDictionary { - public convenience init(source: HTMLVideoElement_or_VideoFrame, colorSpace: PredefinedColorSpace) { + public convenience init( + label: String? = nil, + source: HTMLVideoElement_or_VideoFrame, + colorSpace: PredefinedColorSpace? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.source] = _toJSValue(source) object[Strings.colorSpace] = _toJSValue(colorSpace) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _source = ReadWriteAttribute(jsObject: object, name: Strings.source) - _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var source: HTMLVideoElement_or_VideoFrame + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var colorSpace: PredefinedColorSpace + @inlinable public var source: HTMLVideoElement_or_VideoFrame { + get { jsObject[Strings.source].fromJSValue()! } + set { jsObject[Strings.source] = _toJSValue(newValue) } + } + @inlinable public var colorSpace: PredefinedColorSpace { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } } - public enum GPUFeatureName: JSString, JSValueCompatible { case depthClipControl = "depth-clip-control" case depth32floatStencil8 = "depth32float-stencil8" @@ -1436,215 +1529,228 @@ public enum GPUFeatureName: JSString, JSValueCompatible { case float32Filterable = "float32-filterable" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum GPUFilterMode: JSString, JSValueCompatible { case nearest = "nearest" case linear = "linear" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GPUFragmentState: GPUProgrammableStage { -public class GPUFragmentState: BridgedDictionary { - public convenience init(targets: [GPUColorTargetState?]) { + public convenience init( + module: GPUShaderModule, + entryPoint: String, + constants: JSObject? = nil, + targets: [GPUColorTargetState?] + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.module] = _toJSValue(module) + object[Strings.entryPoint] = _toJSValue(entryPoint) + object[Strings.constants] = _toJSValue(constants) object[Strings.targets] = _toJSValue(targets) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _targets = ReadWriteAttribute(jsObject: object, name: Strings.targets) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var targets: [GPUColorTargetState?] + @inlinable public var targets: [GPUColorTargetState?] { + get { jsObject[Strings.targets].fromJSValue()! } + set { jsObject[Strings.targets] = _toJSValue(newValue) } + } } - public enum GPUFrontFace: JSString, JSValueCompatible { case ccw = "ccw" case cw = "cw" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GPUImageCopyBuffer: GPUImageDataLayout { -public class GPUImageCopyBuffer: BridgedDictionary { - public convenience init(buffer: GPUBuffer) { + public convenience init( + offset: GPUSize64? = nil, + bytesPerRow: GPUSize32? = nil, + rowsPerImage: GPUSize32? = nil, + buffer: GPUBuffer + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.offset] = _toJSValue(offset) + object[Strings.bytesPerRow] = _toJSValue(bytesPerRow) + object[Strings.rowsPerImage] = _toJSValue(rowsPerImage) object[Strings.buffer] = _toJSValue(buffer) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _buffer = ReadWriteAttribute(jsObject: object, name: Strings.buffer) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var buffer: GPUBuffer + @inlinable public var buffer: GPUBuffer { + get { jsObject[Strings.buffer].fromJSValue()! } + set { jsObject[Strings.buffer] = _toJSValue(newValue) } + } } +open class GPUImageCopyExternalImage: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUImageCopyExternalImage: BridgedDictionary { - public convenience init(source: GPUImageCopyExternalImageSource, origin: GPUOrigin2D, flipY: Bool) { + public convenience init(source: GPUImageCopyExternalImageSource, origin: GPUOrigin2D? = nil, flipY: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.source] = _toJSValue(source) object[Strings.origin] = _toJSValue(origin) object[Strings.flipY] = _toJSValue(flipY) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _source = ReadWriteAttribute(jsObject: object, name: Strings.source) - _origin = ReadWriteAttribute(jsObject: object, name: Strings.origin) - _flipY = ReadWriteAttribute(jsObject: object, name: Strings.flipY) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var source: GPUImageCopyExternalImageSource + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var origin: GPUOrigin2D - - @ReadWriteAttribute - public var flipY: Bool + @inlinable public var source: GPUImageCopyExternalImageSource { + get { jsObject[Strings.source].fromJSValue()! } + set { jsObject[Strings.source] = _toJSValue(newValue) } + } + @inlinable public var origin: GPUOrigin2D { + get { jsObject[Strings.origin].fromJSValue()! } + set { jsObject[Strings.origin] = _toJSValue(newValue) } + } + @inlinable public var flipY: Bool { + get { jsObject[Strings.flipY].fromJSValue()! } + set { jsObject[Strings.flipY] = _toJSValue(newValue) } + } } +open class GPUImageCopyTexture: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUImageCopyTexture: BridgedDictionary { - public convenience init(texture: GPUTexture, mipLevel: GPUIntegerCoordinate, origin: GPUOrigin3D, aspect: GPUTextureAspect) { + public convenience init( + texture: GPUTexture, + mipLevel: GPUIntegerCoordinate? = nil, + origin: GPUOrigin3D? = nil, + aspect: GPUTextureAspect? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.texture] = _toJSValue(texture) object[Strings.mipLevel] = _toJSValue(mipLevel) object[Strings.origin] = _toJSValue(origin) object[Strings.aspect] = _toJSValue(aspect) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _texture = ReadWriteAttribute(jsObject: object, name: Strings.texture) - _mipLevel = ReadWriteAttribute(jsObject: object, name: Strings.mipLevel) - _origin = ReadWriteAttribute(jsObject: object, name: Strings.origin) - _aspect = ReadWriteAttribute(jsObject: object, name: Strings.aspect) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var texture: GPUTexture - - @ReadWriteAttribute - public var mipLevel: GPUIntegerCoordinate - - @ReadWriteAttribute - public var origin: GPUOrigin3D + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var aspect: GPUTextureAspect + @inlinable public var texture: GPUTexture { + get { jsObject[Strings.texture].fromJSValue()! } + set { jsObject[Strings.texture] = _toJSValue(newValue) } + } + @inlinable public var mipLevel: GPUIntegerCoordinate { + get { jsObject[Strings.mipLevel].fromJSValue()! } + set { jsObject[Strings.mipLevel] = _toJSValue(newValue) } + } + @inlinable public var origin: GPUOrigin3D { + get { jsObject[Strings.origin].fromJSValue()! } + set { jsObject[Strings.origin] = _toJSValue(newValue) } + } + @inlinable public var aspect: GPUTextureAspect { + get { jsObject[Strings.aspect].fromJSValue()! } + set { jsObject[Strings.aspect] = _toJSValue(newValue) } + } } +open class GPUImageCopyTextureTagged: GPUImageCopyTexture { -public class GPUImageCopyTextureTagged: BridgedDictionary { - public convenience init(colorSpace: PredefinedColorSpace, premultipliedAlpha: Bool) { + public convenience init( + texture: GPUTexture, + mipLevel: GPUIntegerCoordinate? = nil, + origin: GPUOrigin3D? = nil, + aspect: GPUTextureAspect? = nil, + colorSpace: PredefinedColorSpace? = nil, + premultipliedAlpha: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.texture] = _toJSValue(texture) + object[Strings.mipLevel] = _toJSValue(mipLevel) + object[Strings.origin] = _toJSValue(origin) + object[Strings.aspect] = _toJSValue(aspect) object[Strings.colorSpace] = _toJSValue(colorSpace) object[Strings.premultipliedAlpha] = _toJSValue(premultipliedAlpha) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) - _premultipliedAlpha = ReadWriteAttribute(jsObject: object, name: Strings.premultipliedAlpha) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var colorSpace: PredefinedColorSpace + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var premultipliedAlpha: Bool + @inlinable public var colorSpace: PredefinedColorSpace { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } + @inlinable public var premultipliedAlpha: Bool { + get { jsObject[Strings.premultipliedAlpha].fromJSValue()! } + set { jsObject[Strings.premultipliedAlpha] = _toJSValue(newValue) } + } } +open class GPUImageDataLayout: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUImageDataLayout: BridgedDictionary { - public convenience init(offset: GPUSize64, bytesPerRow: GPUSize32, rowsPerImage: GPUSize32) { + public convenience init(offset: GPUSize64? = nil, bytesPerRow: GPUSize32? = nil, rowsPerImage: GPUSize32? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.offset] = _toJSValue(offset) object[Strings.bytesPerRow] = _toJSValue(bytesPerRow) object[Strings.rowsPerImage] = _toJSValue(rowsPerImage) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _offset = ReadWriteAttribute(jsObject: object, name: Strings.offset) - _bytesPerRow = ReadWriteAttribute(jsObject: object, name: Strings.bytesPerRow) - _rowsPerImage = ReadWriteAttribute(jsObject: object, name: Strings.rowsPerImage) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var offset: GPUSize64 - - @ReadWriteAttribute - public var bytesPerRow: GPUSize32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var rowsPerImage: GPUSize32 + @inlinable public var offset: GPUSize64 { + get { jsObject[Strings.offset].fromJSValue()! } + set { jsObject[Strings.offset] = _toJSValue(newValue) } + } + @inlinable public var bytesPerRow: GPUSize32 { + get { jsObject[Strings.bytesPerRow].fromJSValue()! } + set { jsObject[Strings.bytesPerRow] = _toJSValue(newValue) } + } + @inlinable public var rowsPerImage: GPUSize32 { + get { jsObject[Strings.rowsPerImage].fromJSValue()! } + set { jsObject[Strings.rowsPerImage] = _toJSValue(newValue) } + } } - public enum GPUIndexFormat: JSString, JSValueCompatible { case uint16 = "uint16" case uint32 = "uint32" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class GPUInternalError: GPUError { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.GPUInternalError].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.GPUInternalError].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(message: String) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(message)])) @@ -1656,310 +1762,298 @@ public enum GPULoadOp: JSString, JSValueCompatible { case clear = "clear" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum GPUMapMode { - @inlinable public static var jsObject: JSObject { - JSObject.global[Strings.GPUMapMode].object! - } + @inlinable public static var jsObject: JSObject { JSObject.global[Strings.GPUMapMode].object! } public static let READ: GPUFlagsConstant = 0x0001 public static let WRITE: GPUFlagsConstant = 0x0002 } - public enum GPUMipmapFilterMode: JSString, JSValueCompatible { case nearest = "nearest" case linear = "linear" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GPUMultisampleState: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUMultisampleState: BridgedDictionary { - public convenience init(count: GPUSize32, mask: GPUSampleMask, alphaToCoverageEnabled: Bool) { + public convenience init(count: GPUSize32? = nil, mask: GPUSampleMask? = nil, alphaToCoverageEnabled: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.count] = _toJSValue(count) object[Strings.mask] = _toJSValue(mask) object[Strings.alphaToCoverageEnabled] = _toJSValue(alphaToCoverageEnabled) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _count = ReadWriteAttribute(jsObject: object, name: Strings.count) - _mask = ReadWriteAttribute(jsObject: object, name: Strings.mask) - _alphaToCoverageEnabled = ReadWriteAttribute(jsObject: object, name: Strings.alphaToCoverageEnabled) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var count: GPUSize32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var mask: GPUSampleMask - - @ReadWriteAttribute - public var alphaToCoverageEnabled: Bool + @inlinable public var count: GPUSize32 { + get { jsObject[Strings.count].fromJSValue()! } + set { jsObject[Strings.count] = _toJSValue(newValue) } + } + @inlinable public var mask: GPUSampleMask { + get { jsObject[Strings.mask].fromJSValue()! } + set { jsObject[Strings.mask] = _toJSValue(newValue) } + } + @inlinable public var alphaToCoverageEnabled: Bool { + get { jsObject[Strings.alphaToCoverageEnabled].fromJSValue()! } + set { jsObject[Strings.alphaToCoverageEnabled] = _toJSValue(newValue) } + } } - public protocol GPUObjectBase: JSBridgedClass {} -public extension GPUObjectBase { - @inlinable var label: String { +extension GPUObjectBase { + @inlinable public var label: String { get { jsObject[Strings.label].fromJSValue()! } - nonmutating set { jsObject[Strings.label] = _toJSValue(newValue) } + set { jsObject[Strings.label] = _toJSValue(newValue) } } } +open class GPUObjectDescriptorBase: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUObjectDescriptorBase: BridgedDictionary { - public convenience init(label: String) { + public convenience init(label: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.label] = _toJSValue(label) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _label = ReadWriteAttribute(jsObject: object, name: Strings.label) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var label: String + @inlinable public var label: String { + get { jsObject[Strings.label].fromJSValue()! } + set { jsObject[Strings.label] = _toJSValue(newValue) } + } } +open class GPUOrigin2DDict: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUOrigin2DDict: BridgedDictionary { - public convenience init(x: GPUIntegerCoordinate, y: GPUIntegerCoordinate) { + public convenience init(x: GPUIntegerCoordinate? = nil, y: GPUIntegerCoordinate? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.x] = _toJSValue(x) object[Strings.y] = _toJSValue(y) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _x = ReadWriteAttribute(jsObject: object, name: Strings.x) - _y = ReadWriteAttribute(jsObject: object, name: Strings.y) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var x: GPUIntegerCoordinate + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var y: GPUIntegerCoordinate + @inlinable public var x: GPUIntegerCoordinate { + get { jsObject[Strings.x].fromJSValue()! } + set { jsObject[Strings.x] = _toJSValue(newValue) } + } + @inlinable public var y: GPUIntegerCoordinate { + get { jsObject[Strings.y].fromJSValue()! } + set { jsObject[Strings.y] = _toJSValue(newValue) } + } } +open class GPUOrigin3DDict: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUOrigin3DDict: BridgedDictionary { - public convenience init(x: GPUIntegerCoordinate, y: GPUIntegerCoordinate, z: GPUIntegerCoordinate) { + public convenience init( + x: GPUIntegerCoordinate? = nil, + y: GPUIntegerCoordinate? = nil, + z: GPUIntegerCoordinate? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.x] = _toJSValue(x) object[Strings.y] = _toJSValue(y) object[Strings.z] = _toJSValue(z) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _x = ReadWriteAttribute(jsObject: object, name: Strings.x) - _y = ReadWriteAttribute(jsObject: object, name: Strings.y) - _z = ReadWriteAttribute(jsObject: object, name: Strings.z) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var x: GPUIntegerCoordinate - - @ReadWriteAttribute - public var y: GPUIntegerCoordinate + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var z: GPUIntegerCoordinate + @inlinable public var x: GPUIntegerCoordinate { + get { jsObject[Strings.x].fromJSValue()! } + set { jsObject[Strings.x] = _toJSValue(newValue) } + } + @inlinable public var y: GPUIntegerCoordinate { + get { jsObject[Strings.y].fromJSValue()! } + set { jsObject[Strings.y] = _toJSValue(newValue) } + } + @inlinable public var z: GPUIntegerCoordinate { + get { jsObject[Strings.z].fromJSValue()! } + set { jsObject[Strings.z] = _toJSValue(newValue) } + } } - public class GPUOutOfMemoryError: GPUError { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.GPUOutOfMemoryError].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.GPUOutOfMemoryError].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(message: String) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(message)])) } } public protocol GPUPipelineBase: JSBridgedClass {} -public extension GPUPipelineBase { - @inlinable func getBindGroupLayout(index: UInt32) -> GPUBindGroupLayout { +extension GPUPipelineBase { + @inlinable public func getBindGroupLayout(index: UInt32) -> GPUBindGroupLayout { let this = jsObject return this[Strings.getBindGroupLayout].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } } +open class GPUPipelineDescriptorBase: GPUObjectDescriptorBase { -public class GPUPipelineDescriptorBase: BridgedDictionary { - public convenience init(layout: GPUAutoLayoutMode_or_GPUPipelineLayout) { + public convenience init(label: String? = nil, layout: GPUAutoLayoutMode_or_GPUPipelineLayout) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.layout] = _toJSValue(layout) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _layout = ReadWriteAttribute(jsObject: object, name: Strings.layout) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var layout: GPUAutoLayoutMode_or_GPUPipelineLayout + @inlinable public var layout: GPUAutoLayoutMode_or_GPUPipelineLayout { + get { jsObject[Strings.layout].fromJSValue()! } + set { jsObject[Strings.layout] = _toJSValue(newValue) } + } } - public class GPUPipelineError: DOMException { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.GPUPipelineError].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.GPUPipelineError].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _reason = ReadonlyAttribute(jsObject: jsObject, name: Strings.reason) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(message: String? = nil, options: GPUPipelineErrorInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(message), _toJSValue(options)])) } - @ReadonlyAttribute - public var reason: GPUPipelineErrorReason + @inlinable public var reason: GPUPipelineErrorReason { jsObject[Strings.reason].fromJSValue()! } } -public class GPUPipelineErrorInit: BridgedDictionary { +open class GPUPipelineErrorInit: JSDictionaryCompatible { + public let jsObject: JSObject + public convenience init(reason: GPUPipelineErrorReason) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.reason] = _toJSValue(reason) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _reason = ReadWriteAttribute(jsObject: object, name: Strings.reason) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var reason: GPUPipelineErrorReason + @inlinable public var reason: GPUPipelineErrorReason { + get { jsObject[Strings.reason].fromJSValue()! } + set { jsObject[Strings.reason] = _toJSValue(newValue) } + } } - public enum GPUPipelineErrorReason: JSString, JSValueCompatible { case validation = "validation" case `internal` = "internal" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class GPUPipelineLayout: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUPipelineLayout].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } -public class GPUPipelineLayoutDescriptor: BridgedDictionary { - public convenience init(bindGroupLayouts: [GPUBindGroupLayout]) { +open class GPUPipelineLayoutDescriptor: GPUObjectDescriptorBase { + + public convenience init(label: String? = nil, bindGroupLayouts: [GPUBindGroupLayout]) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.bindGroupLayouts] = _toJSValue(bindGroupLayouts) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _bindGroupLayouts = ReadWriteAttribute(jsObject: object, name: Strings.bindGroupLayouts) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var bindGroupLayouts: [GPUBindGroupLayout] + @inlinable public var bindGroupLayouts: [GPUBindGroupLayout] { + get { jsObject[Strings.bindGroupLayouts].fromJSValue()! } + set { jsObject[Strings.bindGroupLayouts] = _toJSValue(newValue) } + } } - public enum GPUPowerPreference: JSString, JSValueCompatible { case lowPower = "low-power" case highPerformance = "high-performance" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GPUPrimitiveState: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUPrimitiveState: BridgedDictionary { - public convenience init(topology: GPUPrimitiveTopology, stripIndexFormat: GPUIndexFormat, frontFace: GPUFrontFace, cullMode: GPUCullMode, unclippedDepth: Bool) { + public convenience init( + topology: GPUPrimitiveTopology? = nil, + stripIndexFormat: GPUIndexFormat? = nil, + frontFace: GPUFrontFace? = nil, + cullMode: GPUCullMode? = nil, + unclippedDepth: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.topology] = _toJSValue(topology) object[Strings.stripIndexFormat] = _toJSValue(stripIndexFormat) object[Strings.frontFace] = _toJSValue(frontFace) object[Strings.cullMode] = _toJSValue(cullMode) object[Strings.unclippedDepth] = _toJSValue(unclippedDepth) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _topology = ReadWriteAttribute(jsObject: object, name: Strings.topology) - _stripIndexFormat = ReadWriteAttribute(jsObject: object, name: Strings.stripIndexFormat) - _frontFace = ReadWriteAttribute(jsObject: object, name: Strings.frontFace) - _cullMode = ReadWriteAttribute(jsObject: object, name: Strings.cullMode) - _unclippedDepth = ReadWriteAttribute(jsObject: object, name: Strings.unclippedDepth) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var topology: GPUPrimitiveTopology - - @ReadWriteAttribute - public var stripIndexFormat: GPUIndexFormat + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var frontFace: GPUFrontFace - - @ReadWriteAttribute - public var cullMode: GPUCullMode - - @ReadWriteAttribute - public var unclippedDepth: Bool + @inlinable public var topology: GPUPrimitiveTopology { + get { jsObject[Strings.topology].fromJSValue()! } + set { jsObject[Strings.topology] = _toJSValue(newValue) } + } + @inlinable public var stripIndexFormat: GPUIndexFormat { + get { jsObject[Strings.stripIndexFormat].fromJSValue()! } + set { jsObject[Strings.stripIndexFormat] = _toJSValue(newValue) } + } + @inlinable public var frontFace: GPUFrontFace { + get { jsObject[Strings.frontFace].fromJSValue()! } + set { jsObject[Strings.frontFace] = _toJSValue(newValue) } + } + @inlinable public var cullMode: GPUCullMode { + get { jsObject[Strings.cullMode].fromJSValue()! } + set { jsObject[Strings.cullMode] = _toJSValue(newValue) } + } + @inlinable public var unclippedDepth: Bool { + get { jsObject[Strings.unclippedDepth].fromJSValue()! } + set { jsObject[Strings.unclippedDepth] = _toJSValue(newValue) } + } } - public enum GPUPrimitiveTopology: JSString, JSValueCompatible { case pointList = "point-list" case lineList = "line-list" @@ -1968,295 +2062,380 @@ public enum GPUPrimitiveTopology: JSString, JSValueCompatible { case triangleStrip = "triangle-strip" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GPUProgrammableStage: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUProgrammableStage: BridgedDictionary { - public convenience init(module: GPUShaderModule, entryPoint: String, constants: [String: GPUPipelineConstantValue]) { + public convenience init(module: GPUShaderModule, entryPoint: String, constants: JSObject? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.module] = _toJSValue(module) object[Strings.entryPoint] = _toJSValue(entryPoint) object[Strings.constants] = _toJSValue(constants) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _module = ReadWriteAttribute(jsObject: object, name: Strings.module) - _entryPoint = ReadWriteAttribute(jsObject: object, name: Strings.entryPoint) - _constants = ReadWriteAttribute(jsObject: object, name: Strings.constants) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var module: GPUShaderModule - - @ReadWriteAttribute - public var entryPoint: String + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var constants: [String: GPUPipelineConstantValue] + @inlinable public var module: GPUShaderModule { + get { jsObject[Strings.module].fromJSValue()! } + set { jsObject[Strings.module] = _toJSValue(newValue) } + } + @inlinable public var entryPoint: String { + get { jsObject[Strings.entryPoint].fromJSValue()! } + set { jsObject[Strings.entryPoint] = _toJSValue(newValue) } + } + @inlinable public var constants: JSObject { + get { jsObject[Strings.constants].fromJSValue()! } + set { jsObject[Strings.constants] = _toJSValue(newValue) } + } } - public class GPUQuerySet: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUQuerySet].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _count = ReadonlyAttribute(jsObject: jsObject, name: Strings.count) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func destroy() { + @inlinable final public func destroy() { let this = jsObject _ = this[Strings.destroy].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var type: GPUQueryType + @inlinable public var type: GPUQueryType { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var count: GPUSize32Out + @inlinable public var count: GPUSize32Out { jsObject[Strings.count].fromJSValue()! } } -public class GPUQuerySetDescriptor: BridgedDictionary { - public convenience init(type: GPUQueryType, count: GPUSize32) { +open class GPUQuerySetDescriptor: GPUObjectDescriptorBase { + + public convenience init(label: String? = nil, type: GPUQueryType, count: GPUSize32) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.type] = _toJSValue(type) object[Strings.count] = _toJSValue(count) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _count = ReadWriteAttribute(jsObject: object, name: Strings.count) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: GPUQueryType + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var count: GPUSize32 + @inlinable public var type: GPUQueryType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var count: GPUSize32 { + get { jsObject[Strings.count].fromJSValue()! } + set { jsObject[Strings.count] = _toJSValue(newValue) } + } } - public enum GPUQueryType: JSString, JSValueCompatible { case occlusion = "occlusion" case timestamp = "timestamp" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class GPUQueue: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUQueue].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func submit(commandBuffers: [GPUCommandBuffer]) { + @inlinable final public func submit(commandBuffers: [GPUCommandBuffer]) { let this = jsObject _ = this[Strings.submit].function!(this: this, arguments: [_toJSValue(commandBuffers)]) } - @inlinable public func onSubmittedWorkDone() -> JSPromise { + @inlinable final public func onSubmittedWorkDone() -> JSPromise { let this = jsObject return this[Strings.onSubmittedWorkDone].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func onSubmittedWorkDone() async throws { + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func onSubmittedWorkDone() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.onSubmittedWorkDone].function!(this: this, arguments: []) + .fromJSValue()! + _ = try await _promise.value + } + #endif + + @inlinable final public func writeBuffer( + buffer: GPUBuffer, + bufferOffset: GPUSize64, + data: AllowSharedBufferSource, + dataOffset: GPUSize64? = nil, + size: GPUSize64? = nil + ) { let this = jsObject - let _promise: JSPromise = this[Strings.onSubmittedWorkDone].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } - - @inlinable public func writeBuffer(buffer: GPUBuffer, bufferOffset: GPUSize64, data: AllowSharedBufferSource, dataOffset: GPUSize64? = nil, size: GPUSize64? = nil) { + _ = this[Strings.writeBuffer].function!( + this: this, + arguments: [ + _toJSValue(buffer), _toJSValue(bufferOffset), _toJSValue(data), _toJSValue(dataOffset), + _toJSValue(size), + ] + ) + } + + @inlinable final public func writeTexture( + destination: GPUImageCopyTexture, + data: AllowSharedBufferSource, + dataLayout: GPUImageDataLayout, + size: GPUExtent3D + ) { let this = jsObject - _ = this[Strings.writeBuffer].function!(this: this, arguments: [_toJSValue(buffer), _toJSValue(bufferOffset), _toJSValue(data), _toJSValue(dataOffset), _toJSValue(size)]) + _ = this[Strings.writeTexture].function!( + this: this, + arguments: [_toJSValue(destination), _toJSValue(data), _toJSValue(dataLayout), _toJSValue(size)] + ) } - @inlinable public func writeTexture(destination: GPUImageCopyTexture, data: AllowSharedBufferSource, dataLayout: GPUImageDataLayout, size: GPUExtent3D) { + @inlinable final public func copyExternalImageToTexture( + source: GPUImageCopyExternalImage, + destination: GPUImageCopyTextureTagged, + copySize: GPUExtent3D + ) { let this = jsObject - _ = this[Strings.writeTexture].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(data), _toJSValue(dataLayout), _toJSValue(size)]) - } - - @inlinable public func copyExternalImageToTexture(source: GPUImageCopyExternalImage, destination: GPUImageCopyTextureTagged, copySize: GPUExtent3D) { - let this = jsObject - _ = this[Strings.copyExternalImageToTexture].function!(this: this, arguments: [_toJSValue(source), _toJSValue(destination), _toJSValue(copySize)]) + _ = this[Strings.copyExternalImageToTexture].function!( + this: this, + arguments: [_toJSValue(source), _toJSValue(destination), _toJSValue(copySize)] + ) } } -public class GPUQueueDescriptor: BridgedDictionary { - public convenience init() { +open class GPUQueueDescriptor: GPUObjectDescriptorBase { + + public convenience init(label: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - super.init(unsafelyWrapping: object) - } -} + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } +} public class GPURenderBundle: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPURenderBundle].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } -public class GPURenderBundleDescriptor: BridgedDictionary { - public convenience init() { +open class GPURenderBundleDescriptor: GPUObjectDescriptorBase { + + public convenience init(label: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - super.init(unsafelyWrapping: object) - } -} + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } -public class GPURenderBundleEncoder: JSBridgedClass, GPUObjectBase, GPUCommandsMixin, GPUDebugCommandsMixin, GPUBindingCommandsMixin, GPURenderCommandsMixin { +} +public class GPURenderBundleEncoder: JSBridgedClass, GPUObjectBase, GPUCommandsMixin, GPUDebugCommandsMixin, + GPUBindingCommandsMixin, GPURenderCommandsMixin +{ @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPURenderBundleEncoder].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func finish(descriptor: GPURenderBundleDescriptor? = nil) -> GPURenderBundle { + @inlinable final public func finish(descriptor: GPURenderBundleDescriptor? = nil) -> GPURenderBundle { let this = jsObject return this[Strings.finish].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! } } -public class GPURenderBundleEncoderDescriptor: BridgedDictionary { - public convenience init(depthReadOnly: Bool, stencilReadOnly: Bool) { +open class GPURenderBundleEncoderDescriptor: GPURenderPassLayout { + + public convenience init( + colorFormats: [GPUTextureFormat?], + depthStencilFormat: GPUTextureFormat? = nil, + sampleCount: GPUSize32? = nil, + depthReadOnly: Bool? = nil, + stencilReadOnly: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.colorFormats] = _toJSValue(colorFormats) + object[Strings.depthStencilFormat] = _toJSValue(depthStencilFormat) + object[Strings.sampleCount] = _toJSValue(sampleCount) object[Strings.depthReadOnly] = _toJSValue(depthReadOnly) object[Strings.stencilReadOnly] = _toJSValue(stencilReadOnly) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _depthReadOnly = ReadWriteAttribute(jsObject: object, name: Strings.depthReadOnly) - _stencilReadOnly = ReadWriteAttribute(jsObject: object, name: Strings.stencilReadOnly) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var depthReadOnly: Bool + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var stencilReadOnly: Bool + @inlinable public var depthReadOnly: Bool { + get { jsObject[Strings.depthReadOnly].fromJSValue()! } + set { jsObject[Strings.depthReadOnly] = _toJSValue(newValue) } + } + @inlinable public var stencilReadOnly: Bool { + get { jsObject[Strings.stencilReadOnly].fromJSValue()! } + set { jsObject[Strings.stencilReadOnly] = _toJSValue(newValue) } + } } - public protocol GPURenderCommandsMixin: JSBridgedClass {} -public extension GPURenderCommandsMixin { - @inlinable func setPipeline(pipeline: GPURenderPipeline) { +extension GPURenderCommandsMixin { + @inlinable public func setPipeline(pipeline: GPURenderPipeline) { let this = jsObject _ = this[Strings.setPipeline].function!(this: this, arguments: [_toJSValue(pipeline)]) } - @inlinable func setIndexBuffer(buffer: GPUBuffer, indexFormat: GPUIndexFormat, offset: GPUSize64? = nil, size: GPUSize64? = nil) { + @inlinable public func setIndexBuffer( + buffer: GPUBuffer, + indexFormat: GPUIndexFormat, + offset: GPUSize64? = nil, + size: GPUSize64? = nil + ) { let this = jsObject - _ = this[Strings.setIndexBuffer].function!(this: this, arguments: [_toJSValue(buffer), _toJSValue(indexFormat), _toJSValue(offset), _toJSValue(size)]) - } - - @inlinable func setVertexBuffer(slot: GPUIndex32, buffer: GPUBuffer?, offset: GPUSize64? = nil, size: GPUSize64? = nil) { + _ = this[Strings.setIndexBuffer].function!( + this: this, + arguments: [_toJSValue(buffer), _toJSValue(indexFormat), _toJSValue(offset), _toJSValue(size)] + ) + } + + @inlinable public func setVertexBuffer( + slot: GPUIndex32, + buffer: GPUBuffer?, + offset: GPUSize64? = nil, + size: GPUSize64? = nil + ) { let this = jsObject - _ = this[Strings.setVertexBuffer].function!(this: this, arguments: [_toJSValue(slot), _toJSValue(buffer), _toJSValue(offset), _toJSValue(size)]) - } - - @inlinable func draw(vertexCount: GPUSize32, instanceCount: GPUSize32? = nil, firstVertex: GPUSize32? = nil, firstInstance: GPUSize32? = nil) { + _ = this[Strings.setVertexBuffer].function!( + this: this, + arguments: [_toJSValue(slot), _toJSValue(buffer), _toJSValue(offset), _toJSValue(size)] + ) + } + + @inlinable public func draw( + vertexCount: GPUSize32, + instanceCount: GPUSize32? = nil, + firstVertex: GPUSize32? = nil, + firstInstance: GPUSize32? = nil + ) { let this = jsObject - _ = this[Strings.draw].function!(this: this, arguments: [_toJSValue(vertexCount), _toJSValue(instanceCount), _toJSValue(firstVertex), _toJSValue(firstInstance)]) - } - - @inlinable func drawIndexed(indexCount: GPUSize32, instanceCount: GPUSize32? = nil, firstIndex: GPUSize32? = nil, baseVertex: GPUSignedOffset32? = nil, firstInstance: GPUSize32? = nil) { + _ = this[Strings.draw].function!( + this: this, + arguments: [ + _toJSValue(vertexCount), _toJSValue(instanceCount), _toJSValue(firstVertex), _toJSValue(firstInstance), + ] + ) + } + + @inlinable public func drawIndexed( + indexCount: GPUSize32, + instanceCount: GPUSize32? = nil, + firstIndex: GPUSize32? = nil, + baseVertex: GPUSignedOffset32? = nil, + firstInstance: GPUSize32? = nil + ) { let this = jsObject - _ = this[Strings.drawIndexed].function!(this: this, arguments: [_toJSValue(indexCount), _toJSValue(instanceCount), _toJSValue(firstIndex), _toJSValue(baseVertex), _toJSValue(firstInstance)]) + _ = this[Strings.drawIndexed].function!( + this: this, + arguments: [ + _toJSValue(indexCount), _toJSValue(instanceCount), _toJSValue(firstIndex), _toJSValue(baseVertex), + _toJSValue(firstInstance), + ] + ) } - @inlinable func drawIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64) { + @inlinable public func drawIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64) { let this = jsObject - _ = this[Strings.drawIndirect].function!(this: this, arguments: [_toJSValue(indirectBuffer), _toJSValue(indirectOffset)]) + _ = this[Strings.drawIndirect].function!( + this: this, + arguments: [_toJSValue(indirectBuffer), _toJSValue(indirectOffset)] + ) } - @inlinable func drawIndexedIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64) { + @inlinable public func drawIndexedIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64) { let this = jsObject - _ = this[Strings.drawIndexedIndirect].function!(this: this, arguments: [_toJSValue(indirectBuffer), _toJSValue(indirectOffset)]) + _ = this[Strings.drawIndexedIndirect].function!( + this: this, + arguments: [_toJSValue(indirectBuffer), _toJSValue(indirectOffset)] + ) } } +open class GPURenderPassColorAttachment: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPURenderPassColorAttachment: BridgedDictionary { - public convenience init(view: GPUTextureView, resolveTarget: GPUTextureView, clearValue: GPUColor, loadOp: GPULoadOp, storeOp: GPUStoreOp) { + public convenience init( + view: GPUTextureView, + resolveTarget: GPUTextureView? = nil, + clearValue: GPUColor? = nil, + loadOp: GPULoadOp, + storeOp: GPUStoreOp + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.view] = _toJSValue(view) object[Strings.resolveTarget] = _toJSValue(resolveTarget) object[Strings.clearValue] = _toJSValue(clearValue) object[Strings.loadOp] = _toJSValue(loadOp) object[Strings.storeOp] = _toJSValue(storeOp) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _view = ReadWriteAttribute(jsObject: object, name: Strings.view) - _resolveTarget = ReadWriteAttribute(jsObject: object, name: Strings.resolveTarget) - _clearValue = ReadWriteAttribute(jsObject: object, name: Strings.clearValue) - _loadOp = ReadWriteAttribute(jsObject: object, name: Strings.loadOp) - _storeOp = ReadWriteAttribute(jsObject: object, name: Strings.storeOp) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var view: GPUTextureView - - @ReadWriteAttribute - public var resolveTarget: GPUTextureView - - @ReadWriteAttribute - public var clearValue: GPUColor + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var loadOp: GPULoadOp - - @ReadWriteAttribute - public var storeOp: GPUStoreOp + @inlinable public var view: GPUTextureView { + get { jsObject[Strings.view].fromJSValue()! } + set { jsObject[Strings.view] = _toJSValue(newValue) } + } + @inlinable public var resolveTarget: GPUTextureView { + get { jsObject[Strings.resolveTarget].fromJSValue()! } + set { jsObject[Strings.resolveTarget] = _toJSValue(newValue) } + } + @inlinable public var clearValue: GPUColor { + get { jsObject[Strings.clearValue].fromJSValue()! } + set { jsObject[Strings.clearValue] = _toJSValue(newValue) } + } + @inlinable public var loadOp: GPULoadOp { + get { jsObject[Strings.loadOp].fromJSValue()! } + set { jsObject[Strings.loadOp] = _toJSValue(newValue) } + } + @inlinable public var storeOp: GPUStoreOp { + get { jsObject[Strings.storeOp].fromJSValue()! } + set { jsObject[Strings.storeOp] = _toJSValue(newValue) } + } } +open class GPURenderPassDepthStencilAttachment: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPURenderPassDepthStencilAttachment: BridgedDictionary { - public convenience init(view: GPUTextureView, depthClearValue: Float, depthLoadOp: GPULoadOp, depthStoreOp: GPUStoreOp, depthReadOnly: Bool, stencilClearValue: GPUStencilValue, stencilLoadOp: GPULoadOp, stencilStoreOp: GPUStoreOp, stencilReadOnly: Bool) { + public convenience init( + view: GPUTextureView, + depthClearValue: Float? = nil, + depthLoadOp: GPULoadOp? = nil, + depthStoreOp: GPUStoreOp? = nil, + depthReadOnly: Bool? = nil, + stencilClearValue: GPUStencilValue? = nil, + stencilLoadOp: GPULoadOp? = nil, + stencilStoreOp: GPUStoreOp? = nil, + stencilReadOnly: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.view] = _toJSValue(view) object[Strings.depthClearValue] = _toJSValue(depthClearValue) @@ -2267,303 +2446,359 @@ public class GPURenderPassDepthStencilAttachment: BridgedDictionary { object[Strings.stencilLoadOp] = _toJSValue(stencilLoadOp) object[Strings.stencilStoreOp] = _toJSValue(stencilStoreOp) object[Strings.stencilReadOnly] = _toJSValue(stencilReadOnly) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _view = ReadWriteAttribute(jsObject: object, name: Strings.view) - _depthClearValue = ReadWriteAttribute(jsObject: object, name: Strings.depthClearValue) - _depthLoadOp = ReadWriteAttribute(jsObject: object, name: Strings.depthLoadOp) - _depthStoreOp = ReadWriteAttribute(jsObject: object, name: Strings.depthStoreOp) - _depthReadOnly = ReadWriteAttribute(jsObject: object, name: Strings.depthReadOnly) - _stencilClearValue = ReadWriteAttribute(jsObject: object, name: Strings.stencilClearValue) - _stencilLoadOp = ReadWriteAttribute(jsObject: object, name: Strings.stencilLoadOp) - _stencilStoreOp = ReadWriteAttribute(jsObject: object, name: Strings.stencilStoreOp) - _stencilReadOnly = ReadWriteAttribute(jsObject: object, name: Strings.stencilReadOnly) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var view: GPUTextureView - - @ReadWriteAttribute - public var depthClearValue: Float - - @ReadWriteAttribute - public var depthLoadOp: GPULoadOp - - @ReadWriteAttribute - public var depthStoreOp: GPUStoreOp + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var depthReadOnly: Bool - - @ReadWriteAttribute - public var stencilClearValue: GPUStencilValue - - @ReadWriteAttribute - public var stencilLoadOp: GPULoadOp - - @ReadWriteAttribute - public var stencilStoreOp: GPUStoreOp - - @ReadWriteAttribute - public var stencilReadOnly: Bool + @inlinable public var view: GPUTextureView { + get { jsObject[Strings.view].fromJSValue()! } + set { jsObject[Strings.view] = _toJSValue(newValue) } + } + @inlinable public var depthClearValue: Float { + get { jsObject[Strings.depthClearValue].fromJSValue()! } + set { jsObject[Strings.depthClearValue] = _toJSValue(newValue) } + } + @inlinable public var depthLoadOp: GPULoadOp { + get { jsObject[Strings.depthLoadOp].fromJSValue()! } + set { jsObject[Strings.depthLoadOp] = _toJSValue(newValue) } + } + @inlinable public var depthStoreOp: GPUStoreOp { + get { jsObject[Strings.depthStoreOp].fromJSValue()! } + set { jsObject[Strings.depthStoreOp] = _toJSValue(newValue) } + } + @inlinable public var depthReadOnly: Bool { + get { jsObject[Strings.depthReadOnly].fromJSValue()! } + set { jsObject[Strings.depthReadOnly] = _toJSValue(newValue) } + } + @inlinable public var stencilClearValue: GPUStencilValue { + get { jsObject[Strings.stencilClearValue].fromJSValue()! } + set { jsObject[Strings.stencilClearValue] = _toJSValue(newValue) } + } + @inlinable public var stencilLoadOp: GPULoadOp { + get { jsObject[Strings.stencilLoadOp].fromJSValue()! } + set { jsObject[Strings.stencilLoadOp] = _toJSValue(newValue) } + } + @inlinable public var stencilStoreOp: GPUStoreOp { + get { jsObject[Strings.stencilStoreOp].fromJSValue()! } + set { jsObject[Strings.stencilStoreOp] = _toJSValue(newValue) } + } + @inlinable public var stencilReadOnly: Bool { + get { jsObject[Strings.stencilReadOnly].fromJSValue()! } + set { jsObject[Strings.stencilReadOnly] = _toJSValue(newValue) } + } } +open class GPURenderPassDescriptor: GPUObjectDescriptorBase { -public class GPURenderPassDescriptor: BridgedDictionary { - public convenience init(colorAttachments: [GPURenderPassColorAttachment?], depthStencilAttachment: GPURenderPassDepthStencilAttachment, occlusionQuerySet: GPUQuerySet, timestampWrites: GPURenderPassTimestampWrites, maxDrawCount: GPUSize64) { + public convenience init( + label: String? = nil, + colorAttachments: [GPURenderPassColorAttachment?], + depthStencilAttachment: GPURenderPassDepthStencilAttachment? = nil, + occlusionQuerySet: GPUQuerySet? = nil, + timestampWrites: GPURenderPassTimestampWrites? = nil, + maxDrawCount: GPUSize64? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.colorAttachments] = _toJSValue(colorAttachments) object[Strings.depthStencilAttachment] = _toJSValue(depthStencilAttachment) object[Strings.occlusionQuerySet] = _toJSValue(occlusionQuerySet) object[Strings.timestampWrites] = _toJSValue(timestampWrites) object[Strings.maxDrawCount] = _toJSValue(maxDrawCount) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _colorAttachments = ReadWriteAttribute(jsObject: object, name: Strings.colorAttachments) - _depthStencilAttachment = ReadWriteAttribute(jsObject: object, name: Strings.depthStencilAttachment) - _occlusionQuerySet = ReadWriteAttribute(jsObject: object, name: Strings.occlusionQuerySet) - _timestampWrites = ReadWriteAttribute(jsObject: object, name: Strings.timestampWrites) - _maxDrawCount = ReadWriteAttribute(jsObject: object, name: Strings.maxDrawCount) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var colorAttachments: [GPURenderPassColorAttachment?] - - @ReadWriteAttribute - public var depthStencilAttachment: GPURenderPassDepthStencilAttachment - - @ReadWriteAttribute - public var occlusionQuerySet: GPUQuerySet + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var timestampWrites: GPURenderPassTimestampWrites - - @ReadWriteAttribute - public var maxDrawCount: GPUSize64 + @inlinable public var colorAttachments: [GPURenderPassColorAttachment?] { + get { jsObject[Strings.colorAttachments].fromJSValue()! } + set { jsObject[Strings.colorAttachments] = _toJSValue(newValue) } + } + @inlinable public var depthStencilAttachment: GPURenderPassDepthStencilAttachment { + get { jsObject[Strings.depthStencilAttachment].fromJSValue()! } + set { jsObject[Strings.depthStencilAttachment] = _toJSValue(newValue) } + } + @inlinable public var occlusionQuerySet: GPUQuerySet { + get { jsObject[Strings.occlusionQuerySet].fromJSValue()! } + set { jsObject[Strings.occlusionQuerySet] = _toJSValue(newValue) } + } + @inlinable public var timestampWrites: GPURenderPassTimestampWrites { + get { jsObject[Strings.timestampWrites].fromJSValue()! } + set { jsObject[Strings.timestampWrites] = _toJSValue(newValue) } + } + @inlinable public var maxDrawCount: GPUSize64 { + get { jsObject[Strings.maxDrawCount].fromJSValue()! } + set { jsObject[Strings.maxDrawCount] = _toJSValue(newValue) } + } } - -public class GPURenderPassEncoder: JSBridgedClass, GPUObjectBase, GPUCommandsMixin, GPUDebugCommandsMixin, GPUBindingCommandsMixin, GPURenderCommandsMixin { +public class GPURenderPassEncoder: JSBridgedClass, GPUObjectBase, GPUCommandsMixin, GPUDebugCommandsMixin, + GPUBindingCommandsMixin, GPURenderCommandsMixin +{ @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPURenderPassEncoder].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func setViewport(x: Float, y: Float, width: Float, height: Float, minDepth: Float, maxDepth: Float) { + @inlinable final public func setViewport( + x: Float, + y: Float, + width: Float, + height: Float, + minDepth: Float, + maxDepth: Float + ) { let this = jsObject - _ = this[Strings.setViewport].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), _toJSValue(minDepth), _toJSValue(maxDepth)]) - } - - @inlinable public func setScissorRect(x: GPUIntegerCoordinate, y: GPUIntegerCoordinate, width: GPUIntegerCoordinate, height: GPUIntegerCoordinate) { + _ = this[Strings.setViewport].function!( + this: this, + arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), _toJSValue(minDepth), + _toJSValue(maxDepth), + ] + ) + } + + @inlinable final public func setScissorRect( + x: GPUIntegerCoordinate, + y: GPUIntegerCoordinate, + width: GPUIntegerCoordinate, + height: GPUIntegerCoordinate + ) { let this = jsObject - _ = this[Strings.setScissorRect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)]) + _ = this[Strings.setScissorRect].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)] + ) } - @inlinable public func setBlendConstant(color: GPUColor) { + @inlinable final public func setBlendConstant(color: GPUColor) { let this = jsObject _ = this[Strings.setBlendConstant].function!(this: this, arguments: [_toJSValue(color)]) } - @inlinable public func setStencilReference(reference: GPUStencilValue) { + @inlinable final public func setStencilReference(reference: GPUStencilValue) { let this = jsObject _ = this[Strings.setStencilReference].function!(this: this, arguments: [_toJSValue(reference)]) } - @inlinable public func beginOcclusionQuery(queryIndex: GPUSize32) { + @inlinable final public func beginOcclusionQuery(queryIndex: GPUSize32) { let this = jsObject _ = this[Strings.beginOcclusionQuery].function!(this: this, arguments: [_toJSValue(queryIndex)]) } - @inlinable public func endOcclusionQuery() { + @inlinable final public func endOcclusionQuery() { let this = jsObject _ = this[Strings.endOcclusionQuery].function!(this: this, arguments: []) } - @inlinable public func executeBundles(bundles: [GPURenderBundle]) { + @inlinable final public func executeBundles(bundles: [GPURenderBundle]) { let this = jsObject _ = this[Strings.executeBundles].function!(this: this, arguments: [_toJSValue(bundles)]) } - @inlinable public func end() { + @inlinable final public func end() { let this = jsObject _ = this[Strings.end].function!(this: this, arguments: []) } } -public class GPURenderPassLayout: BridgedDictionary { - public convenience init(colorFormats: [GPUTextureFormat?], depthStencilFormat: GPUTextureFormat, sampleCount: GPUSize32) { +open class GPURenderPassLayout: GPUObjectDescriptorBase { + + public convenience init( + label: String? = nil, + colorFormats: [GPUTextureFormat?], + depthStencilFormat: GPUTextureFormat? = nil, + sampleCount: GPUSize32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.colorFormats] = _toJSValue(colorFormats) object[Strings.depthStencilFormat] = _toJSValue(depthStencilFormat) object[Strings.sampleCount] = _toJSValue(sampleCount) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _colorFormats = ReadWriteAttribute(jsObject: object, name: Strings.colorFormats) - _depthStencilFormat = ReadWriteAttribute(jsObject: object, name: Strings.depthStencilFormat) - _sampleCount = ReadWriteAttribute(jsObject: object, name: Strings.sampleCount) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var colorFormats: [GPUTextureFormat?] + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var depthStencilFormat: GPUTextureFormat - - @ReadWriteAttribute - public var sampleCount: GPUSize32 + @inlinable public var colorFormats: [GPUTextureFormat?] { + get { jsObject[Strings.colorFormats].fromJSValue()! } + set { jsObject[Strings.colorFormats] = _toJSValue(newValue) } + } + @inlinable public var depthStencilFormat: GPUTextureFormat { + get { jsObject[Strings.depthStencilFormat].fromJSValue()! } + set { jsObject[Strings.depthStencilFormat] = _toJSValue(newValue) } + } + @inlinable public var sampleCount: GPUSize32 { + get { jsObject[Strings.sampleCount].fromJSValue()! } + set { jsObject[Strings.sampleCount] = _toJSValue(newValue) } + } } +open class GPURenderPassTimestampWrites: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPURenderPassTimestampWrites: BridgedDictionary { - public convenience init(querySet: GPUQuerySet, beginningOfPassWriteIndex: GPUSize32, endOfPassWriteIndex: GPUSize32) { + public convenience init( + querySet: GPUQuerySet, + beginningOfPassWriteIndex: GPUSize32? = nil, + endOfPassWriteIndex: GPUSize32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.querySet] = _toJSValue(querySet) object[Strings.beginningOfPassWriteIndex] = _toJSValue(beginningOfPassWriteIndex) object[Strings.endOfPassWriteIndex] = _toJSValue(endOfPassWriteIndex) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _querySet = ReadWriteAttribute(jsObject: object, name: Strings.querySet) - _beginningOfPassWriteIndex = ReadWriteAttribute(jsObject: object, name: Strings.beginningOfPassWriteIndex) - _endOfPassWriteIndex = ReadWriteAttribute(jsObject: object, name: Strings.endOfPassWriteIndex) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var querySet: GPUQuerySet + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var beginningOfPassWriteIndex: GPUSize32 - - @ReadWriteAttribute - public var endOfPassWriteIndex: GPUSize32 + @inlinable public var querySet: GPUQuerySet { + get { jsObject[Strings.querySet].fromJSValue()! } + set { jsObject[Strings.querySet] = _toJSValue(newValue) } + } + @inlinable public var beginningOfPassWriteIndex: GPUSize32 { + get { jsObject[Strings.beginningOfPassWriteIndex].fromJSValue()! } + set { jsObject[Strings.beginningOfPassWriteIndex] = _toJSValue(newValue) } + } + @inlinable public var endOfPassWriteIndex: GPUSize32 { + get { jsObject[Strings.endOfPassWriteIndex].fromJSValue()! } + set { jsObject[Strings.endOfPassWriteIndex] = _toJSValue(newValue) } + } } - public class GPURenderPipeline: JSBridgedClass, GPUObjectBase, GPUPipelineBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPURenderPipeline].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } -public class GPURenderPipelineDescriptor: BridgedDictionary { - public convenience init(vertex: GPUVertexState, primitive: GPUPrimitiveState, depthStencil: GPUDepthStencilState, multisample: GPUMultisampleState, fragment: GPUFragmentState) { +open class GPURenderPipelineDescriptor: GPUPipelineDescriptorBase { + + public convenience init( + layout: GPUAutoLayoutMode_or_GPUPipelineLayout, + vertex: GPUVertexState, + primitive: GPUPrimitiveState? = nil, + depthStencil: GPUDepthStencilState? = nil, + multisample: GPUMultisampleState? = nil, + fragment: GPUFragmentState? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.layout] = _toJSValue(layout) object[Strings.vertex] = _toJSValue(vertex) object[Strings.primitive] = _toJSValue(primitive) object[Strings.depthStencil] = _toJSValue(depthStencil) object[Strings.multisample] = _toJSValue(multisample) object[Strings.fragment] = _toJSValue(fragment) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _vertex = ReadWriteAttribute(jsObject: object, name: Strings.vertex) - _primitive = ReadWriteAttribute(jsObject: object, name: Strings.primitive) - _depthStencil = ReadWriteAttribute(jsObject: object, name: Strings.depthStencil) - _multisample = ReadWriteAttribute(jsObject: object, name: Strings.multisample) - _fragment = ReadWriteAttribute(jsObject: object, name: Strings.fragment) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var vertex: GPUVertexState - - @ReadWriteAttribute - public var primitive: GPUPrimitiveState - - @ReadWriteAttribute - public var depthStencil: GPUDepthStencilState - - @ReadWriteAttribute - public var multisample: GPUMultisampleState + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var fragment: GPUFragmentState + @inlinable public var vertex: GPUVertexState { + get { jsObject[Strings.vertex].fromJSValue()! } + set { jsObject[Strings.vertex] = _toJSValue(newValue) } + } + @inlinable public var primitive: GPUPrimitiveState { + get { jsObject[Strings.primitive].fromJSValue()! } + set { jsObject[Strings.primitive] = _toJSValue(newValue) } + } + @inlinable public var depthStencil: GPUDepthStencilState { + get { jsObject[Strings.depthStencil].fromJSValue()! } + set { jsObject[Strings.depthStencil] = _toJSValue(newValue) } + } + @inlinable public var multisample: GPUMultisampleState { + get { jsObject[Strings.multisample].fromJSValue()! } + set { jsObject[Strings.multisample] = _toJSValue(newValue) } + } + @inlinable public var fragment: GPUFragmentState { + get { jsObject[Strings.fragment].fromJSValue()! } + set { jsObject[Strings.fragment] = _toJSValue(newValue) } + } } +open class GPURequestAdapterOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPURequestAdapterOptions: BridgedDictionary { - public convenience init(powerPreference: GPUPowerPreference, forceFallbackAdapter: Bool) { + public convenience init(powerPreference: GPUPowerPreference? = nil, forceFallbackAdapter: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.powerPreference] = _toJSValue(powerPreference) object[Strings.forceFallbackAdapter] = _toJSValue(forceFallbackAdapter) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _powerPreference = ReadWriteAttribute(jsObject: object, name: Strings.powerPreference) - _forceFallbackAdapter = ReadWriteAttribute(jsObject: object, name: Strings.forceFallbackAdapter) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var powerPreference: GPUPowerPreference + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var forceFallbackAdapter: Bool + @inlinable public var powerPreference: GPUPowerPreference { + get { jsObject[Strings.powerPreference].fromJSValue()! } + set { jsObject[Strings.powerPreference] = _toJSValue(newValue) } + } + @inlinable public var forceFallbackAdapter: Bool { + get { jsObject[Strings.forceFallbackAdapter].fromJSValue()! } + set { jsObject[Strings.forceFallbackAdapter] = _toJSValue(newValue) } + } } - public class GPUSampler: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUSampler].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } -public class GPUSamplerBindingLayout: BridgedDictionary { - public convenience init(type: GPUSamplerBindingType) { +open class GPUSamplerBindingLayout: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(type: GPUSamplerBindingType? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var type: GPUSamplerBindingType + @inlinable public var type: GPUSamplerBindingType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } } - public enum GPUSamplerBindingType: JSString, JSValueCompatible { case filtering = "filtering" case nonFiltering = "non-filtering" case comparison = "comparison" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - -public class GPUSamplerDescriptor: BridgedDictionary { - public convenience init(addressModeU: GPUAddressMode, addressModeV: GPUAddressMode, addressModeW: GPUAddressMode, magFilter: GPUFilterMode, minFilter: GPUFilterMode, mipmapFilter: GPUMipmapFilterMode, lodMinClamp: Float, lodMaxClamp: Float, compare: GPUCompareFunction, maxAnisotropy: UInt16) { +open class GPUSamplerDescriptor: GPUObjectDescriptorBase { + + public convenience init( + label: String? = nil, + addressModeU: GPUAddressMode? = nil, + addressModeV: GPUAddressMode? = nil, + addressModeW: GPUAddressMode? = nil, + magFilter: GPUFilterMode? = nil, + minFilter: GPUFilterMode? = nil, + mipmapFilter: GPUMipmapFilterMode? = nil, + lodMinClamp: Float? = nil, + lodMaxClamp: Float? = nil, + compare: GPUCompareFunction? = nil, + maxAnisotropy: UInt16? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.addressModeU] = _toJSValue(addressModeU) object[Strings.addressModeV] = _toJSValue(addressModeV) object[Strings.addressModeW] = _toJSValue(addressModeW) @@ -2574,122 +2809,123 @@ public class GPUSamplerDescriptor: BridgedDictionary { object[Strings.lodMaxClamp] = _toJSValue(lodMaxClamp) object[Strings.compare] = _toJSValue(compare) object[Strings.maxAnisotropy] = _toJSValue(maxAnisotropy) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _addressModeU = ReadWriteAttribute(jsObject: object, name: Strings.addressModeU) - _addressModeV = ReadWriteAttribute(jsObject: object, name: Strings.addressModeV) - _addressModeW = ReadWriteAttribute(jsObject: object, name: Strings.addressModeW) - _magFilter = ReadWriteAttribute(jsObject: object, name: Strings.magFilter) - _minFilter = ReadWriteAttribute(jsObject: object, name: Strings.minFilter) - _mipmapFilter = ReadWriteAttribute(jsObject: object, name: Strings.mipmapFilter) - _lodMinClamp = ReadWriteAttribute(jsObject: object, name: Strings.lodMinClamp) - _lodMaxClamp = ReadWriteAttribute(jsObject: object, name: Strings.lodMaxClamp) - _compare = ReadWriteAttribute(jsObject: object, name: Strings.compare) - _maxAnisotropy = ReadWriteAttribute(jsObject: object, name: Strings.maxAnisotropy) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var addressModeU: GPUAddressMode - - @ReadWriteAttribute - public var addressModeV: GPUAddressMode - - @ReadWriteAttribute - public var addressModeW: GPUAddressMode - - @ReadWriteAttribute - public var magFilter: GPUFilterMode - - @ReadWriteAttribute - public var minFilter: GPUFilterMode + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var mipmapFilter: GPUMipmapFilterMode - - @ReadWriteAttribute - public var lodMinClamp: Float - - @ReadWriteAttribute - public var lodMaxClamp: Float - - @ReadWriteAttribute - public var compare: GPUCompareFunction - - @ReadWriteAttribute - public var maxAnisotropy: UInt16 + @inlinable public var addressModeU: GPUAddressMode { + get { jsObject[Strings.addressModeU].fromJSValue()! } + set { jsObject[Strings.addressModeU] = _toJSValue(newValue) } + } + @inlinable public var addressModeV: GPUAddressMode { + get { jsObject[Strings.addressModeV].fromJSValue()! } + set { jsObject[Strings.addressModeV] = _toJSValue(newValue) } + } + @inlinable public var addressModeW: GPUAddressMode { + get { jsObject[Strings.addressModeW].fromJSValue()! } + set { jsObject[Strings.addressModeW] = _toJSValue(newValue) } + } + @inlinable public var magFilter: GPUFilterMode { + get { jsObject[Strings.magFilter].fromJSValue()! } + set { jsObject[Strings.magFilter] = _toJSValue(newValue) } + } + @inlinable public var minFilter: GPUFilterMode { + get { jsObject[Strings.minFilter].fromJSValue()! } + set { jsObject[Strings.minFilter] = _toJSValue(newValue) } + } + @inlinable public var mipmapFilter: GPUMipmapFilterMode { + get { jsObject[Strings.mipmapFilter].fromJSValue()! } + set { jsObject[Strings.mipmapFilter] = _toJSValue(newValue) } + } + @inlinable public var lodMinClamp: Float { + get { jsObject[Strings.lodMinClamp].fromJSValue()! } + set { jsObject[Strings.lodMinClamp] = _toJSValue(newValue) } + } + @inlinable public var lodMaxClamp: Float { + get { jsObject[Strings.lodMaxClamp].fromJSValue()! } + set { jsObject[Strings.lodMaxClamp] = _toJSValue(newValue) } + } + @inlinable public var compare: GPUCompareFunction { + get { jsObject[Strings.compare].fromJSValue()! } + set { jsObject[Strings.compare] = _toJSValue(newValue) } + } + @inlinable public var maxAnisotropy: UInt16 { + get { jsObject[Strings.maxAnisotropy].fromJSValue()! } + set { jsObject[Strings.maxAnisotropy] = _toJSValue(newValue) } + } } - public class GPUShaderModule: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUShaderModule].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func getCompilationInfo() -> JSPromise { + @inlinable final public func getCompilationInfo() -> JSPromise { let this = jsObject return this[Strings.getCompilationInfo].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func getCompilationInfo() async throws -> GPUCompilationInfo { - let this = jsObject - let _promise: JSPromise = this[Strings.getCompilationInfo].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getCompilationInfo() + async throws(JSException) -> GPUCompilationInfo + { + let this = jsObject + let _promise: JSPromise = this[Strings.getCompilationInfo].function!(this: this, arguments: []) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class GPUShaderModuleCompilationHint: BridgedDictionary { - public convenience init(layout: GPUAutoLayoutMode_or_GPUPipelineLayout) { +open class GPUShaderModuleCompilationHint: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(layout: GPUAutoLayoutMode_or_GPUPipelineLayout? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.layout] = _toJSValue(layout) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _layout = ReadWriteAttribute(jsObject: object, name: Strings.layout) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var layout: GPUAutoLayoutMode_or_GPUPipelineLayout + @inlinable public var layout: GPUAutoLayoutMode_or_GPUPipelineLayout { + get { jsObject[Strings.layout].fromJSValue()! } + set { jsObject[Strings.layout] = _toJSValue(newValue) } + } } +open class GPUShaderModuleDescriptor: GPUObjectDescriptorBase { -public class GPUShaderModuleDescriptor: BridgedDictionary { - public convenience init(code: String, sourceMap: JSObject, hints: [String: GPUShaderModuleCompilationHint]) { + public convenience init(label: String? = nil, code: String, sourceMap: JSObject? = nil, hints: JSObject? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.code] = _toJSValue(code) object[Strings.sourceMap] = _toJSValue(sourceMap) object[Strings.hints] = _toJSValue(hints) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _code = ReadWriteAttribute(jsObject: object, name: Strings.code) - _sourceMap = ReadWriteAttribute(jsObject: object, name: Strings.sourceMap) - _hints = ReadWriteAttribute(jsObject: object, name: Strings.hints) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var code: String + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var sourceMap: JSObject - - @ReadWriteAttribute - public var hints: [String: GPUShaderModuleCompilationHint] + @inlinable public var code: String { + get { jsObject[Strings.code].fromJSValue()! } + set { jsObject[Strings.code] = _toJSValue(newValue) } + } + @inlinable public var sourceMap: JSObject { + get { jsObject[Strings.sourceMap].fromJSValue()! } + set { jsObject[Strings.sourceMap] = _toJSValue(newValue) } + } + @inlinable public var hints: JSObject { + get { jsObject[Strings.hints].fromJSValue()! } + set { jsObject[Strings.hints] = _toJSValue(newValue) } + } } - public enum GPUShaderStage { - @inlinable public static var jsObject: JSObject { - JSObject.global[Strings.GPUShaderStage].object! - } + @inlinable public static var jsObject: JSObject { JSObject.global[Strings.GPUShaderStage].object! } public static let VERTEX: GPUFlagsConstant = 0x1 @@ -2697,38 +2933,43 @@ public enum GPUShaderStage { public static let COMPUTE: GPUFlagsConstant = 0x4 } +open class GPUStencilFaceState: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUStencilFaceState: BridgedDictionary { - public convenience init(compare: GPUCompareFunction, failOp: GPUStencilOperation, depthFailOp: GPUStencilOperation, passOp: GPUStencilOperation) { + public convenience init( + compare: GPUCompareFunction? = nil, + failOp: GPUStencilOperation? = nil, + depthFailOp: GPUStencilOperation? = nil, + passOp: GPUStencilOperation? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.compare] = _toJSValue(compare) object[Strings.failOp] = _toJSValue(failOp) object[Strings.depthFailOp] = _toJSValue(depthFailOp) object[Strings.passOp] = _toJSValue(passOp) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _compare = ReadWriteAttribute(jsObject: object, name: Strings.compare) - _failOp = ReadWriteAttribute(jsObject: object, name: Strings.failOp) - _depthFailOp = ReadWriteAttribute(jsObject: object, name: Strings.depthFailOp) - _passOp = ReadWriteAttribute(jsObject: object, name: Strings.passOp) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var compare: GPUCompareFunction - - @ReadWriteAttribute - public var failOp: GPUStencilOperation - - @ReadWriteAttribute - public var depthFailOp: GPUStencilOperation + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var passOp: GPUStencilOperation + @inlinable public var compare: GPUCompareFunction { + get { jsObject[Strings.compare].fromJSValue()! } + set { jsObject[Strings.compare] = _toJSValue(newValue) } + } + @inlinable public var failOp: GPUStencilOperation { + get { jsObject[Strings.failOp].fromJSValue()! } + set { jsObject[Strings.failOp] = _toJSValue(newValue) } + } + @inlinable public var depthFailOp: GPUStencilOperation { + get { jsObject[Strings.depthFailOp].fromJSValue()! } + set { jsObject[Strings.depthFailOp] = _toJSValue(newValue) } + } + @inlinable public var passOp: GPUStencilOperation { + get { jsObject[Strings.passOp].fromJSValue()! } + set { jsObject[Strings.passOp] = _toJSValue(newValue) } + } } - public enum GPUStencilOperation: JSString, JSValueCompatible { case keep = "keep" case zero = "zero" @@ -2740,88 +2981,76 @@ public enum GPUStencilOperation: JSString, JSValueCompatible { case decrementWrap = "decrement-wrap" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum GPUStorageTextureAccess: JSString, JSValueCompatible { case writeOnly = "write-only" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GPUStorageTextureBindingLayout: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUStorageTextureBindingLayout: BridgedDictionary { - public convenience init(access: GPUStorageTextureAccess, format: GPUTextureFormat, viewDimension: GPUTextureViewDimension) { + public convenience init( + access: GPUStorageTextureAccess? = nil, + format: GPUTextureFormat, + viewDimension: GPUTextureViewDimension? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.access] = _toJSValue(access) object[Strings.format] = _toJSValue(format) object[Strings.viewDimension] = _toJSValue(viewDimension) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _access = ReadWriteAttribute(jsObject: object, name: Strings.access) - _format = ReadWriteAttribute(jsObject: object, name: Strings.format) - _viewDimension = ReadWriteAttribute(jsObject: object, name: Strings.viewDimension) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var access: GPUStorageTextureAccess + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var format: GPUTextureFormat - - @ReadWriteAttribute - public var viewDimension: GPUTextureViewDimension + @inlinable public var access: GPUStorageTextureAccess { + get { jsObject[Strings.access].fromJSValue()! } + set { jsObject[Strings.access] = _toJSValue(newValue) } + } + @inlinable public var format: GPUTextureFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } + @inlinable public var viewDimension: GPUTextureViewDimension { + get { jsObject[Strings.viewDimension].fromJSValue()! } + set { jsObject[Strings.viewDimension] = _toJSValue(newValue) } + } } - public enum GPUStoreOp: JSString, JSValueCompatible { case store = "store" case discard = "discard" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class GPUSupportedFeatures: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUSupportedFeatures].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } // XXX: make me Set-like! } @@ -2831,137 +3060,109 @@ public class GPUSupportedLimits: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _maxTextureDimension1D = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxTextureDimension1D) - _maxTextureDimension2D = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxTextureDimension2D) - _maxTextureDimension3D = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxTextureDimension3D) - _maxTextureArrayLayers = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxTextureArrayLayers) - _maxBindGroups = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxBindGroups) - _maxBindGroupsPlusVertexBuffers = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxBindGroupsPlusVertexBuffers) - _maxBindingsPerBindGroup = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxBindingsPerBindGroup) - _maxDynamicUniformBuffersPerPipelineLayout = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxDynamicUniformBuffersPerPipelineLayout) - _maxDynamicStorageBuffersPerPipelineLayout = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxDynamicStorageBuffersPerPipelineLayout) - _maxSampledTexturesPerShaderStage = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxSampledTexturesPerShaderStage) - _maxSamplersPerShaderStage = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxSamplersPerShaderStage) - _maxStorageBuffersPerShaderStage = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxStorageBuffersPerShaderStage) - _maxStorageTexturesPerShaderStage = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxStorageTexturesPerShaderStage) - _maxUniformBuffersPerShaderStage = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxUniformBuffersPerShaderStage) - _maxUniformBufferBindingSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxUniformBufferBindingSize) - _maxStorageBufferBindingSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxStorageBufferBindingSize) - _minUniformBufferOffsetAlignment = ReadonlyAttribute(jsObject: jsObject, name: Strings.minUniformBufferOffsetAlignment) - _minStorageBufferOffsetAlignment = ReadonlyAttribute(jsObject: jsObject, name: Strings.minStorageBufferOffsetAlignment) - _maxVertexBuffers = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxVertexBuffers) - _maxBufferSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxBufferSize) - _maxVertexAttributes = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxVertexAttributes) - _maxVertexBufferArrayStride = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxVertexBufferArrayStride) - _maxInterStageShaderComponents = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxInterStageShaderComponents) - _maxInterStageShaderVariables = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxInterStageShaderVariables) - _maxColorAttachments = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxColorAttachments) - _maxColorAttachmentBytesPerSample = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxColorAttachmentBytesPerSample) - _maxComputeWorkgroupStorageSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxComputeWorkgroupStorageSize) - _maxComputeInvocationsPerWorkgroup = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxComputeInvocationsPerWorkgroup) - _maxComputeWorkgroupSizeX = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxComputeWorkgroupSizeX) - _maxComputeWorkgroupSizeY = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxComputeWorkgroupSizeY) - _maxComputeWorkgroupSizeZ = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxComputeWorkgroupSizeZ) - _maxComputeWorkgroupsPerDimension = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxComputeWorkgroupsPerDimension) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var maxTextureDimension1D: UInt32 + @inlinable public var maxTextureDimension1D: UInt32 { jsObject[Strings.maxTextureDimension1D].fromJSValue()! } - @ReadonlyAttribute - public var maxTextureDimension2D: UInt32 + @inlinable public var maxTextureDimension2D: UInt32 { jsObject[Strings.maxTextureDimension2D].fromJSValue()! } - @ReadonlyAttribute - public var maxTextureDimension3D: UInt32 + @inlinable public var maxTextureDimension3D: UInt32 { jsObject[Strings.maxTextureDimension3D].fromJSValue()! } - @ReadonlyAttribute - public var maxTextureArrayLayers: UInt32 + @inlinable public var maxTextureArrayLayers: UInt32 { jsObject[Strings.maxTextureArrayLayers].fromJSValue()! } - @ReadonlyAttribute - public var maxBindGroups: UInt32 + @inlinable public var maxBindGroups: UInt32 { jsObject[Strings.maxBindGroups].fromJSValue()! } - @ReadonlyAttribute - public var maxBindGroupsPlusVertexBuffers: UInt32 + @inlinable public var maxBindGroupsPlusVertexBuffers: UInt32 { + jsObject[Strings.maxBindGroupsPlusVertexBuffers].fromJSValue()! + } - @ReadonlyAttribute - public var maxBindingsPerBindGroup: UInt32 + @inlinable public var maxBindingsPerBindGroup: UInt32 { jsObject[Strings.maxBindingsPerBindGroup].fromJSValue()! } - @ReadonlyAttribute - public var maxDynamicUniformBuffersPerPipelineLayout: UInt32 + @inlinable public var maxDynamicUniformBuffersPerPipelineLayout: UInt32 { + jsObject[Strings.maxDynamicUniformBuffersPerPipelineLayout].fromJSValue()! + } - @ReadonlyAttribute - public var maxDynamicStorageBuffersPerPipelineLayout: UInt32 + @inlinable public var maxDynamicStorageBuffersPerPipelineLayout: UInt32 { + jsObject[Strings.maxDynamicStorageBuffersPerPipelineLayout].fromJSValue()! + } - @ReadonlyAttribute - public var maxSampledTexturesPerShaderStage: UInt32 + @inlinable public var maxSampledTexturesPerShaderStage: UInt32 { + jsObject[Strings.maxSampledTexturesPerShaderStage].fromJSValue()! + } - @ReadonlyAttribute - public var maxSamplersPerShaderStage: UInt32 + @inlinable public var maxSamplersPerShaderStage: UInt32 { + jsObject[Strings.maxSamplersPerShaderStage].fromJSValue()! + } - @ReadonlyAttribute - public var maxStorageBuffersPerShaderStage: UInt32 + @inlinable public var maxStorageBuffersPerShaderStage: UInt32 { + jsObject[Strings.maxStorageBuffersPerShaderStage].fromJSValue()! + } - @ReadonlyAttribute - public var maxStorageTexturesPerShaderStage: UInt32 + @inlinable public var maxStorageTexturesPerShaderStage: UInt32 { + jsObject[Strings.maxStorageTexturesPerShaderStage].fromJSValue()! + } - @ReadonlyAttribute - public var maxUniformBuffersPerShaderStage: UInt32 + @inlinable public var maxUniformBuffersPerShaderStage: UInt32 { + jsObject[Strings.maxUniformBuffersPerShaderStage].fromJSValue()! + } - @ReadonlyAttribute - public var maxUniformBufferBindingSize: UInt64 + @inlinable public var maxUniformBufferBindingSize: UInt64 { + jsObject[Strings.maxUniformBufferBindingSize].fromJSValue()! + } - @ReadonlyAttribute - public var maxStorageBufferBindingSize: UInt64 + @inlinable public var maxStorageBufferBindingSize: UInt64 { + jsObject[Strings.maxStorageBufferBindingSize].fromJSValue()! + } - @ReadonlyAttribute - public var minUniformBufferOffsetAlignment: UInt32 + @inlinable public var minUniformBufferOffsetAlignment: UInt32 { + jsObject[Strings.minUniformBufferOffsetAlignment].fromJSValue()! + } - @ReadonlyAttribute - public var minStorageBufferOffsetAlignment: UInt32 + @inlinable public var minStorageBufferOffsetAlignment: UInt32 { + jsObject[Strings.minStorageBufferOffsetAlignment].fromJSValue()! + } - @ReadonlyAttribute - public var maxVertexBuffers: UInt32 + @inlinable public var maxVertexBuffers: UInt32 { jsObject[Strings.maxVertexBuffers].fromJSValue()! } - @ReadonlyAttribute - public var maxBufferSize: UInt64 + @inlinable public var maxBufferSize: UInt64 { jsObject[Strings.maxBufferSize].fromJSValue()! } - @ReadonlyAttribute - public var maxVertexAttributes: UInt32 + @inlinable public var maxVertexAttributes: UInt32 { jsObject[Strings.maxVertexAttributes].fromJSValue()! } - @ReadonlyAttribute - public var maxVertexBufferArrayStride: UInt32 + @inlinable public var maxVertexBufferArrayStride: UInt32 { + jsObject[Strings.maxVertexBufferArrayStride].fromJSValue()! + } - @ReadonlyAttribute - public var maxInterStageShaderComponents: UInt32 + @inlinable public var maxInterStageShaderComponents: UInt32 { + jsObject[Strings.maxInterStageShaderComponents].fromJSValue()! + } - @ReadonlyAttribute - public var maxInterStageShaderVariables: UInt32 + @inlinable public var maxInterStageShaderVariables: UInt32 { + jsObject[Strings.maxInterStageShaderVariables].fromJSValue()! + } - @ReadonlyAttribute - public var maxColorAttachments: UInt32 + @inlinable public var maxColorAttachments: UInt32 { jsObject[Strings.maxColorAttachments].fromJSValue()! } - @ReadonlyAttribute - public var maxColorAttachmentBytesPerSample: UInt32 + @inlinable public var maxColorAttachmentBytesPerSample: UInt32 { + jsObject[Strings.maxColorAttachmentBytesPerSample].fromJSValue()! + } - @ReadonlyAttribute - public var maxComputeWorkgroupStorageSize: UInt32 + @inlinable public var maxComputeWorkgroupStorageSize: UInt32 { + jsObject[Strings.maxComputeWorkgroupStorageSize].fromJSValue()! + } - @ReadonlyAttribute - public var maxComputeInvocationsPerWorkgroup: UInt32 + @inlinable public var maxComputeInvocationsPerWorkgroup: UInt32 { + jsObject[Strings.maxComputeInvocationsPerWorkgroup].fromJSValue()! + } - @ReadonlyAttribute - public var maxComputeWorkgroupSizeX: UInt32 + @inlinable public var maxComputeWorkgroupSizeX: UInt32 { jsObject[Strings.maxComputeWorkgroupSizeX].fromJSValue()! } - @ReadonlyAttribute - public var maxComputeWorkgroupSizeY: UInt32 + @inlinable public var maxComputeWorkgroupSizeY: UInt32 { jsObject[Strings.maxComputeWorkgroupSizeY].fromJSValue()! } - @ReadonlyAttribute - public var maxComputeWorkgroupSizeZ: UInt32 + @inlinable public var maxComputeWorkgroupSizeZ: UInt32 { jsObject[Strings.maxComputeWorkgroupSizeZ].fromJSValue()! } - @ReadonlyAttribute - public var maxComputeWorkgroupsPerDimension: UInt32 + @inlinable public var maxComputeWorkgroupsPerDimension: UInt32 { + jsObject[Strings.maxComputeWorkgroupsPerDimension].fromJSValue()! + } } public class GPUTexture: JSBridgedClass, GPUObjectBase { @@ -2969,51 +3170,35 @@ public class GPUTexture: JSBridgedClass, GPUObjectBase { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _depthOrArrayLayers = ReadonlyAttribute(jsObject: jsObject, name: Strings.depthOrArrayLayers) - _mipLevelCount = ReadonlyAttribute(jsObject: jsObject, name: Strings.mipLevelCount) - _sampleCount = ReadonlyAttribute(jsObject: jsObject, name: Strings.sampleCount) - _dimension = ReadonlyAttribute(jsObject: jsObject, name: Strings.dimension) - _format = ReadonlyAttribute(jsObject: jsObject, name: Strings.format) - _usage = ReadonlyAttribute(jsObject: jsObject, name: Strings.usage) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func createView(descriptor: GPUTextureViewDescriptor? = nil) -> GPUTextureView { + @inlinable final public func createView(descriptor: GPUTextureViewDescriptor? = nil) -> GPUTextureView { let this = jsObject return this[Strings.createView].function!(this: this, arguments: [_toJSValue(descriptor)]).fromJSValue()! } - @inlinable public func destroy() { + @inlinable final public func destroy() { let this = jsObject _ = this[Strings.destroy].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var width: GPUIntegerCoordinateOut + @inlinable public var width: GPUIntegerCoordinateOut { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: GPUIntegerCoordinateOut + @inlinable public var height: GPUIntegerCoordinateOut { jsObject[Strings.height].fromJSValue()! } - @ReadonlyAttribute - public var depthOrArrayLayers: GPUIntegerCoordinateOut + @inlinable public var depthOrArrayLayers: GPUIntegerCoordinateOut { + jsObject[Strings.depthOrArrayLayers].fromJSValue()! + } - @ReadonlyAttribute - public var mipLevelCount: GPUIntegerCoordinateOut + @inlinable public var mipLevelCount: GPUIntegerCoordinateOut { jsObject[Strings.mipLevelCount].fromJSValue()! } - @ReadonlyAttribute - public var sampleCount: GPUSize32Out + @inlinable public var sampleCount: GPUSize32Out { jsObject[Strings.sampleCount].fromJSValue()! } - @ReadonlyAttribute - public var dimension: GPUTextureDimension + @inlinable public var dimension: GPUTextureDimension { jsObject[Strings.dimension].fromJSValue()! } - @ReadonlyAttribute - public var format: GPUTextureFormat + @inlinable public var format: GPUTextureFormat { jsObject[Strings.format].fromJSValue()! } - @ReadonlyAttribute - public var usage: GPUFlagsConstant + @inlinable public var usage: GPUFlagsConstant { jsObject[Strings.usage].fromJSValue()! } } public enum GPUTextureAspect: JSString, JSValueCompatible { @@ -3022,48 +3207,59 @@ public enum GPUTextureAspect: JSString, JSValueCompatible { case depthOnly = "depth-only" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GPUTextureBindingLayout: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUTextureBindingLayout: BridgedDictionary { - public convenience init(sampleType: GPUTextureSampleType, viewDimension: GPUTextureViewDimension, multisampled: Bool) { + public convenience init( + sampleType: GPUTextureSampleType? = nil, + viewDimension: GPUTextureViewDimension? = nil, + multisampled: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.sampleType] = _toJSValue(sampleType) object[Strings.viewDimension] = _toJSValue(viewDimension) object[Strings.multisampled] = _toJSValue(multisampled) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _sampleType = ReadWriteAttribute(jsObject: object, name: Strings.sampleType) - _viewDimension = ReadWriteAttribute(jsObject: object, name: Strings.viewDimension) - _multisampled = ReadWriteAttribute(jsObject: object, name: Strings.multisampled) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var sampleType: GPUTextureSampleType - - @ReadWriteAttribute - public var viewDimension: GPUTextureViewDimension + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var multisampled: Bool + @inlinable public var sampleType: GPUTextureSampleType { + get { jsObject[Strings.sampleType].fromJSValue()! } + set { jsObject[Strings.sampleType] = _toJSValue(newValue) } + } + @inlinable public var viewDimension: GPUTextureViewDimension { + get { jsObject[Strings.viewDimension].fromJSValue()! } + set { jsObject[Strings.viewDimension] = _toJSValue(newValue) } + } + @inlinable public var multisampled: Bool { + get { jsObject[Strings.multisampled].fromJSValue()! } + set { jsObject[Strings.multisampled] = _toJSValue(newValue) } + } } +open class GPUTextureDescriptor: GPUObjectDescriptorBase { -public class GPUTextureDescriptor: BridgedDictionary { - public convenience init(size: GPUExtent3D, mipLevelCount: GPUIntegerCoordinate, sampleCount: GPUSize32, dimension: GPUTextureDimension, format: GPUTextureFormat, usage: GPUTextureUsageFlags, viewFormats: [GPUTextureFormat]) { + public convenience init( + label: String? = nil, + size: GPUExtent3D, + mipLevelCount: GPUIntegerCoordinate? = nil, + sampleCount: GPUSize32? = nil, + dimension: GPUTextureDimension? = nil, + format: GPUTextureFormat, + usage: GPUTextureUsageFlags, + viewFormats: [GPUTextureFormat]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.size] = _toJSValue(size) object[Strings.mipLevelCount] = _toJSValue(mipLevelCount) object[Strings.sampleCount] = _toJSValue(sampleCount) @@ -3071,61 +3267,55 @@ public class GPUTextureDescriptor: BridgedDictionary { object[Strings.format] = _toJSValue(format) object[Strings.usage] = _toJSValue(usage) object[Strings.viewFormats] = _toJSValue(viewFormats) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _size = ReadWriteAttribute(jsObject: object, name: Strings.size) - _mipLevelCount = ReadWriteAttribute(jsObject: object, name: Strings.mipLevelCount) - _sampleCount = ReadWriteAttribute(jsObject: object, name: Strings.sampleCount) - _dimension = ReadWriteAttribute(jsObject: object, name: Strings.dimension) - _format = ReadWriteAttribute(jsObject: object, name: Strings.format) - _usage = ReadWriteAttribute(jsObject: object, name: Strings.usage) - _viewFormats = ReadWriteAttribute(jsObject: object, name: Strings.viewFormats) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var size: GPUExtent3D - - @ReadWriteAttribute - public var mipLevelCount: GPUIntegerCoordinate - - @ReadWriteAttribute - public var sampleCount: GPUSize32 - - @ReadWriteAttribute - public var dimension: GPUTextureDimension - - @ReadWriteAttribute - public var format: GPUTextureFormat - - @ReadWriteAttribute - public var usage: GPUTextureUsageFlags + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var viewFormats: [GPUTextureFormat] + @inlinable public var size: GPUExtent3D { + get { jsObject[Strings.size].fromJSValue()! } + set { jsObject[Strings.size] = _toJSValue(newValue) } + } + @inlinable public var mipLevelCount: GPUIntegerCoordinate { + get { jsObject[Strings.mipLevelCount].fromJSValue()! } + set { jsObject[Strings.mipLevelCount] = _toJSValue(newValue) } + } + @inlinable public var sampleCount: GPUSize32 { + get { jsObject[Strings.sampleCount].fromJSValue()! } + set { jsObject[Strings.sampleCount] = _toJSValue(newValue) } + } + @inlinable public var dimension: GPUTextureDimension { + get { jsObject[Strings.dimension].fromJSValue()! } + set { jsObject[Strings.dimension] = _toJSValue(newValue) } + } + @inlinable public var format: GPUTextureFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } + @inlinable public var usage: GPUTextureUsageFlags { + get { jsObject[Strings.usage].fromJSValue()! } + set { jsObject[Strings.usage] = _toJSValue(newValue) } + } + @inlinable public var viewFormats: [GPUTextureFormat] { + get { jsObject[Strings.viewFormats].fromJSValue()! } + set { jsObject[Strings.viewFormats] = _toJSValue(newValue) } + } } - public enum GPUTextureDimension: JSString, JSValueCompatible { case _1d = "1d" case _2d = "2d" case _3d = "3d" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum GPUTextureFormat: JSString, JSValueCompatible { case r8unorm = "r8unorm" case r8snorm = "r8snorm" @@ -3223,19 +3413,14 @@ public enum GPUTextureFormat: JSString, JSValueCompatible { case astc12x12UnormSrgb = "astc-12x12-unorm-srgb" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum GPUTextureSampleType: JSString, JSValueCompatible { case float = "float" case unfilterableFloat = "unfilterable-float" @@ -3244,23 +3429,16 @@ public enum GPUTextureSampleType: JSString, JSValueCompatible { case uint = "uint" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum GPUTextureUsage { - @inlinable public static var jsObject: JSObject { - JSObject.global[Strings.GPUTextureUsage].object! - } + @inlinable public static var jsObject: JSObject { JSObject.global[Strings.GPUTextureUsage].object! } public static let COPY_SRC: GPUFlagsConstant = 0x01 @@ -3272,20 +3450,29 @@ public enum GPUTextureUsage { public static let RENDER_ATTACHMENT: GPUFlagsConstant = 0x10 } - public class GPUTextureView: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUTextureView].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } -public class GPUTextureViewDescriptor: BridgedDictionary { - public convenience init(format: GPUTextureFormat, dimension: GPUTextureViewDimension, aspect: GPUTextureAspect, baseMipLevel: GPUIntegerCoordinate, mipLevelCount: GPUIntegerCoordinate, baseArrayLayer: GPUIntegerCoordinate, arrayLayerCount: GPUIntegerCoordinate) { +open class GPUTextureViewDescriptor: GPUObjectDescriptorBase { + + public convenience init( + label: String? = nil, + format: GPUTextureFormat? = nil, + dimension: GPUTextureViewDimension? = nil, + aspect: GPUTextureAspect? = nil, + baseMipLevel: GPUIntegerCoordinate? = nil, + mipLevelCount: GPUIntegerCoordinate? = nil, + baseArrayLayer: GPUIntegerCoordinate? = nil, + arrayLayerCount: GPUIntegerCoordinate? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.label] = _toJSValue(label) object[Strings.format] = _toJSValue(format) object[Strings.dimension] = _toJSValue(dimension) object[Strings.aspect] = _toJSValue(aspect) @@ -3293,42 +3480,41 @@ public class GPUTextureViewDescriptor: BridgedDictionary { object[Strings.mipLevelCount] = _toJSValue(mipLevelCount) object[Strings.baseArrayLayer] = _toJSValue(baseArrayLayer) object[Strings.arrayLayerCount] = _toJSValue(arrayLayerCount) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _format = ReadWriteAttribute(jsObject: object, name: Strings.format) - _dimension = ReadWriteAttribute(jsObject: object, name: Strings.dimension) - _aspect = ReadWriteAttribute(jsObject: object, name: Strings.aspect) - _baseMipLevel = ReadWriteAttribute(jsObject: object, name: Strings.baseMipLevel) - _mipLevelCount = ReadWriteAttribute(jsObject: object, name: Strings.mipLevelCount) - _baseArrayLayer = ReadWriteAttribute(jsObject: object, name: Strings.baseArrayLayer) - _arrayLayerCount = ReadWriteAttribute(jsObject: object, name: Strings.arrayLayerCount) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var format: GPUTextureFormat - - @ReadWriteAttribute - public var dimension: GPUTextureViewDimension - - @ReadWriteAttribute - public var aspect: GPUTextureAspect + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var baseMipLevel: GPUIntegerCoordinate - - @ReadWriteAttribute - public var mipLevelCount: GPUIntegerCoordinate - - @ReadWriteAttribute - public var baseArrayLayer: GPUIntegerCoordinate - - @ReadWriteAttribute - public var arrayLayerCount: GPUIntegerCoordinate + @inlinable public var format: GPUTextureFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } + @inlinable public var dimension: GPUTextureViewDimension { + get { jsObject[Strings.dimension].fromJSValue()! } + set { jsObject[Strings.dimension] = _toJSValue(newValue) } + } + @inlinable public var aspect: GPUTextureAspect { + get { jsObject[Strings.aspect].fromJSValue()! } + set { jsObject[Strings.aspect] = _toJSValue(newValue) } + } + @inlinable public var baseMipLevel: GPUIntegerCoordinate { + get { jsObject[Strings.baseMipLevel].fromJSValue()! } + set { jsObject[Strings.baseMipLevel] = _toJSValue(newValue) } + } + @inlinable public var mipLevelCount: GPUIntegerCoordinate { + get { jsObject[Strings.mipLevelCount].fromJSValue()! } + set { jsObject[Strings.mipLevelCount] = _toJSValue(newValue) } + } + @inlinable public var baseArrayLayer: GPUIntegerCoordinate { + get { jsObject[Strings.baseArrayLayer].fromJSValue()! } + set { jsObject[Strings.baseArrayLayer] = _toJSValue(newValue) } + } + @inlinable public var arrayLayerCount: GPUIntegerCoordinate { + get { jsObject[Strings.arrayLayerCount].fromJSValue()! } + set { jsObject[Strings.arrayLayerCount] = _toJSValue(newValue) } + } } - public enum GPUTextureViewDimension: JSString, JSValueCompatible { case _1d = "1d" case _2d = "2d" @@ -3338,115 +3524,118 @@ public enum GPUTextureViewDimension: JSString, JSValueCompatible { case _3d = "3d" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class GPUUncapturedErrorEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.GPUUncapturedErrorEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _error = ReadonlyAttribute(jsObject: jsObject, name: Strings.error) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.GPUUncapturedErrorEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, gpuUncapturedErrorEventInitDict: GPUUncapturedErrorEventInit) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(gpuUncapturedErrorEventInitDict)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(type), _toJSValue(gpuUncapturedErrorEventInitDict), + ]) + ) } - @ReadonlyAttribute - public var error: GPUError + @inlinable public var error: GPUError { jsObject[Strings.error].fromJSValue()! } } -public class GPUUncapturedErrorEventInit: BridgedDictionary { +open class GPUUncapturedErrorEventInit: EventInit { + public convenience init(error: GPUError) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.error] = _toJSValue(error) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _error = ReadWriteAttribute(jsObject: object, name: Strings.error) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var error: GPUError + @inlinable public var error: GPUError { + get { jsObject[Strings.error].fromJSValue()! } + set { jsObject[Strings.error] = _toJSValue(newValue) } + } } - public class GPUValidationError: GPUError { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.GPUValidationError].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.GPUValidationError].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(message: String) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(message)])) } } -public class GPUVertexAttribute: BridgedDictionary { +open class GPUVertexAttribute: JSDictionaryCompatible { + public let jsObject: JSObject + public convenience init(format: GPUVertexFormat, offset: GPUSize64, shaderLocation: GPUIndex32) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.format] = _toJSValue(format) object[Strings.offset] = _toJSValue(offset) object[Strings.shaderLocation] = _toJSValue(shaderLocation) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _format = ReadWriteAttribute(jsObject: object, name: Strings.format) - _offset = ReadWriteAttribute(jsObject: object, name: Strings.offset) - _shaderLocation = ReadWriteAttribute(jsObject: object, name: Strings.shaderLocation) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var format: GPUVertexFormat + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var offset: GPUSize64 - - @ReadWriteAttribute - public var shaderLocation: GPUIndex32 + @inlinable public var format: GPUVertexFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } + @inlinable public var offset: GPUSize64 { + get { jsObject[Strings.offset].fromJSValue()! } + set { jsObject[Strings.offset] = _toJSValue(newValue) } + } + @inlinable public var shaderLocation: GPUIndex32 { + get { jsObject[Strings.shaderLocation].fromJSValue()! } + set { jsObject[Strings.shaderLocation] = _toJSValue(newValue) } + } } +open class GPUVertexBufferLayout: JSDictionaryCompatible { + public let jsObject: JSObject -public class GPUVertexBufferLayout: BridgedDictionary { - public convenience init(arrayStride: GPUSize64, stepMode: GPUVertexStepMode, attributes: [GPUVertexAttribute]) { + public convenience init( + arrayStride: GPUSize64, + stepMode: GPUVertexStepMode? = nil, + attributes: [GPUVertexAttribute] + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.arrayStride] = _toJSValue(arrayStride) object[Strings.stepMode] = _toJSValue(stepMode) object[Strings.attributes] = _toJSValue(attributes) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _arrayStride = ReadWriteAttribute(jsObject: object, name: Strings.arrayStride) - _stepMode = ReadWriteAttribute(jsObject: object, name: Strings.stepMode) - _attributes = ReadWriteAttribute(jsObject: object, name: Strings.attributes) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var arrayStride: GPUSize64 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var stepMode: GPUVertexStepMode - - @ReadWriteAttribute - public var attributes: [GPUVertexAttribute] + @inlinable public var arrayStride: GPUSize64 { + get { jsObject[Strings.arrayStride].fromJSValue()! } + set { jsObject[Strings.arrayStride] = _toJSValue(newValue) } + } + @inlinable public var stepMode: GPUVertexStepMode { + get { jsObject[Strings.stepMode].fromJSValue()! } + set { jsObject[Strings.stepMode] = _toJSValue(newValue) } + } + @inlinable public var attributes: [GPUVertexAttribute] { + get { jsObject[Strings.attributes].fromJSValue()! } + set { jsObject[Strings.attributes] = _toJSValue(newValue) } + } } - public enum GPUVertexFormat: JSString, JSValueCompatible { case uint8x2 = "uint8x2" case uint8x4 = "uint8x4" @@ -3480,58 +3669,53 @@ public enum GPUVertexFormat: JSString, JSValueCompatible { case sint32x4 = "sint32x4" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class GPUVertexState: GPUProgrammableStage { -public class GPUVertexState: BridgedDictionary { - public convenience init(buffers: [GPUVertexBufferLayout?]) { + public convenience init( + module: GPUShaderModule, + entryPoint: String, + constants: JSObject? = nil, + buffers: [GPUVertexBufferLayout?]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.module] = _toJSValue(module) + object[Strings.entryPoint] = _toJSValue(entryPoint) + object[Strings.constants] = _toJSValue(constants) object[Strings.buffers] = _toJSValue(buffers) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _buffers = ReadWriteAttribute(jsObject: object, name: Strings.buffers) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var buffers: [GPUVertexBufferLayout?] + @inlinable public var buffers: [GPUVertexBufferLayout?] { + get { jsObject[Strings.buffers].fromJSValue()! } + set { jsObject[Strings.buffers] = _toJSValue(newValue) } + } } - public enum GPUVertexStepMode: JSString, JSValueCompatible { case vertex = "vertex" case instance = "instance" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol NavigatorGPU: JSBridgedClass {} -public extension NavigatorGPU { - @inlinable var gpu: GPU { jsObject[Strings.gpu].fromJSValue()! } -} - +extension NavigatorGPU { @inlinable public var gpu: GPU { jsObject[Strings.gpu].fromJSValue()! } } extension Navigator: NavigatorGPU {} public typealias GPUBufferUsageFlags = UInt32 @@ -3546,7 +3730,7 @@ public typealias GPUBufferDynamicOffset = UInt32 public typealias GPUStencilValue = UInt32 public typealias GPUSampleMask = UInt32 public typealias GPUDepthBias = Int32 -public typealias GPUSize64 = UInt64 +public typealias GPUSize64 = UInt32 public typealias GPUIntegerCoordinate = UInt32 public typealias GPUIndex32 = UInt32 public typealias GPUSize32 = UInt32 @@ -3561,314 +3745,313 @@ public class WGSLLanguageFeatures: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } // XXX: make me Set-like! } @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let GPU: JSString = "GPU" - @usableFromInline static let GPUAdapter: JSString = "GPUAdapter" - @usableFromInline static let GPUAdapterInfo: JSString = "GPUAdapterInfo" - @usableFromInline static let GPUBindGroup: JSString = "GPUBindGroup" - @usableFromInline static let GPUBindGroupLayout: JSString = "GPUBindGroupLayout" - @usableFromInline static let GPUBuffer: JSString = "GPUBuffer" - @usableFromInline static let GPUBufferUsage: JSString = "GPUBufferUsage" - @usableFromInline static let GPUCanvasContext: JSString = "GPUCanvasContext" - @usableFromInline static let GPUColorWrite: JSString = "GPUColorWrite" - @usableFromInline static let GPUCommandBuffer: JSString = "GPUCommandBuffer" - @usableFromInline static let GPUCommandEncoder: JSString = "GPUCommandEncoder" - @usableFromInline static let GPUCompilationInfo: JSString = "GPUCompilationInfo" - @usableFromInline static let GPUCompilationMessage: JSString = "GPUCompilationMessage" - @usableFromInline static let GPUComputePassEncoder: JSString = "GPUComputePassEncoder" - @usableFromInline static let GPUComputePipeline: JSString = "GPUComputePipeline" - @usableFromInline static let GPUDevice: JSString = "GPUDevice" - @usableFromInline static let GPUDeviceLostInfo: JSString = "GPUDeviceLostInfo" - @usableFromInline static let GPUError: JSString = "GPUError" - @usableFromInline static let GPUExternalTexture: JSString = "GPUExternalTexture" - @usableFromInline static let GPUInternalError: JSString = "GPUInternalError" - @usableFromInline static let GPUMapMode: JSString = "GPUMapMode" - @usableFromInline static let GPUOutOfMemoryError: JSString = "GPUOutOfMemoryError" - @usableFromInline static let GPUPipelineError: JSString = "GPUPipelineError" - @usableFromInline static let GPUPipelineLayout: JSString = "GPUPipelineLayout" - @usableFromInline static let GPUQuerySet: JSString = "GPUQuerySet" - @usableFromInline static let GPUQueue: JSString = "GPUQueue" - @usableFromInline static let GPURenderBundle: JSString = "GPURenderBundle" - @usableFromInline static let GPURenderBundleEncoder: JSString = "GPURenderBundleEncoder" - @usableFromInline static let GPURenderPassEncoder: JSString = "GPURenderPassEncoder" - @usableFromInline static let GPURenderPipeline: JSString = "GPURenderPipeline" - @usableFromInline static let GPUSampler: JSString = "GPUSampler" - @usableFromInline static let GPUShaderModule: JSString = "GPUShaderModule" - @usableFromInline static let GPUShaderStage: JSString = "GPUShaderStage" - @usableFromInline static let GPUSupportedFeatures: JSString = "GPUSupportedFeatures" - @usableFromInline static let GPUSupportedLimits: JSString = "GPUSupportedLimits" - @usableFromInline static let GPUTexture: JSString = "GPUTexture" - @usableFromInline static let GPUTextureUsage: JSString = "GPUTextureUsage" - @usableFromInline static let GPUTextureView: JSString = "GPUTextureView" - @usableFromInline static let GPUUncapturedErrorEvent: JSString = "GPUUncapturedErrorEvent" - @usableFromInline static let GPUValidationError: JSString = "GPUValidationError" - @usableFromInline static let Object: JSString = "Object" - @usableFromInline static let WGSLLanguageFeatures: JSString = "WGSLLanguageFeatures" - @usableFromInline static let a: JSString = "a" - @usableFromInline static let access: JSString = "access" - @usableFromInline static let addressModeU: JSString = "addressModeU" - @usableFromInline static let addressModeV: JSString = "addressModeV" - @usableFromInline static let addressModeW: JSString = "addressModeW" - @usableFromInline static let alpha: JSString = "alpha" - @usableFromInline static let alphaMode: JSString = "alphaMode" - @usableFromInline static let alphaToCoverageEnabled: JSString = "alphaToCoverageEnabled" - @usableFromInline static let architecture: JSString = "architecture" - @usableFromInline static let arrayLayerCount: JSString = "arrayLayerCount" - @usableFromInline static let arrayStride: JSString = "arrayStride" - @usableFromInline static let aspect: JSString = "aspect" - @usableFromInline static let attributes: JSString = "attributes" - @usableFromInline static let b: JSString = "b" - @usableFromInline static let baseArrayLayer: JSString = "baseArrayLayer" - @usableFromInline static let baseMipLevel: JSString = "baseMipLevel" - @usableFromInline static let beginComputePass: JSString = "beginComputePass" - @usableFromInline static let beginOcclusionQuery: JSString = "beginOcclusionQuery" - @usableFromInline static let beginRenderPass: JSString = "beginRenderPass" - @usableFromInline static let beginningOfPassWriteIndex: JSString = "beginningOfPassWriteIndex" - @usableFromInline static let bindGroupLayouts: JSString = "bindGroupLayouts" - @usableFromInline static let binding: JSString = "binding" - @usableFromInline static let blend: JSString = "blend" - @usableFromInline static let buffer: JSString = "buffer" - @usableFromInline static let buffers: JSString = "buffers" - @usableFromInline static let bytesPerRow: JSString = "bytesPerRow" - @usableFromInline static let canvas: JSString = "canvas" - @usableFromInline static let clearBuffer: JSString = "clearBuffer" - @usableFromInline static let clearValue: JSString = "clearValue" - @usableFromInline static let code: JSString = "code" - @usableFromInline static let color: JSString = "color" - @usableFromInline static let colorAttachments: JSString = "colorAttachments" - @usableFromInline static let colorFormats: JSString = "colorFormats" - @usableFromInline static let colorSpace: JSString = "colorSpace" - @usableFromInline static let compare: JSString = "compare" - @usableFromInline static let compute: JSString = "compute" - @usableFromInline static let configure: JSString = "configure" - @usableFromInline static let constants: JSString = "constants" - @usableFromInline static let copyBufferToBuffer: JSString = "copyBufferToBuffer" - @usableFromInline static let copyBufferToTexture: JSString = "copyBufferToTexture" - @usableFromInline static let copyExternalImageToTexture: JSString = "copyExternalImageToTexture" - @usableFromInline static let copyTextureToBuffer: JSString = "copyTextureToBuffer" - @usableFromInline static let copyTextureToTexture: JSString = "copyTextureToTexture" - @usableFromInline static let count: JSString = "count" - @usableFromInline static let createBindGroup: JSString = "createBindGroup" - @usableFromInline static let createBindGroupLayout: JSString = "createBindGroupLayout" - @usableFromInline static let createBuffer: JSString = "createBuffer" - @usableFromInline static let createCommandEncoder: JSString = "createCommandEncoder" - @usableFromInline static let createComputePipeline: JSString = "createComputePipeline" - @usableFromInline static let createComputePipelineAsync: JSString = "createComputePipelineAsync" - @usableFromInline static let createPipelineLayout: JSString = "createPipelineLayout" - @usableFromInline static let createQuerySet: JSString = "createQuerySet" - @usableFromInline static let createRenderBundleEncoder: JSString = "createRenderBundleEncoder" - @usableFromInline static let createRenderPipeline: JSString = "createRenderPipeline" - @usableFromInline static let createRenderPipelineAsync: JSString = "createRenderPipelineAsync" - @usableFromInline static let createSampler: JSString = "createSampler" - @usableFromInline static let createShaderModule: JSString = "createShaderModule" - @usableFromInline static let createTexture: JSString = "createTexture" - @usableFromInline static let createView: JSString = "createView" - @usableFromInline static let cullMode: JSString = "cullMode" - @usableFromInline static let defaultQueue: JSString = "defaultQueue" - @usableFromInline static let depthBias: JSString = "depthBias" - @usableFromInline static let depthBiasClamp: JSString = "depthBiasClamp" - @usableFromInline static let depthBiasSlopeScale: JSString = "depthBiasSlopeScale" - @usableFromInline static let depthClearValue: JSString = "depthClearValue" - @usableFromInline static let depthCompare: JSString = "depthCompare" - @usableFromInline static let depthFailOp: JSString = "depthFailOp" - @usableFromInline static let depthLoadOp: JSString = "depthLoadOp" - @usableFromInline static let depthOrArrayLayers: JSString = "depthOrArrayLayers" - @usableFromInline static let depthReadOnly: JSString = "depthReadOnly" - @usableFromInline static let depthStencil: JSString = "depthStencil" - @usableFromInline static let depthStencilAttachment: JSString = "depthStencilAttachment" - @usableFromInline static let depthStencilFormat: JSString = "depthStencilFormat" - @usableFromInline static let depthStoreOp: JSString = "depthStoreOp" - @usableFromInline static let depthWriteEnabled: JSString = "depthWriteEnabled" - @usableFromInline static let description: JSString = "description" - @usableFromInline static let destroy: JSString = "destroy" - @usableFromInline static let device: JSString = "device" - @usableFromInline static let dimension: JSString = "dimension" - @usableFromInline static let dispatchWorkgroups: JSString = "dispatchWorkgroups" - @usableFromInline static let dispatchWorkgroupsIndirect: JSString = "dispatchWorkgroupsIndirect" - @usableFromInline static let draw: JSString = "draw" - @usableFromInline static let drawIndexed: JSString = "drawIndexed" - @usableFromInline static let drawIndexedIndirect: JSString = "drawIndexedIndirect" - @usableFromInline static let drawIndirect: JSString = "drawIndirect" - @usableFromInline static let dstFactor: JSString = "dstFactor" - @usableFromInline static let end: JSString = "end" - @usableFromInline static let endOcclusionQuery: JSString = "endOcclusionQuery" - @usableFromInline static let endOfPassWriteIndex: JSString = "endOfPassWriteIndex" - @usableFromInline static let entries: JSString = "entries" - @usableFromInline static let entryPoint: JSString = "entryPoint" - @usableFromInline static let error: JSString = "error" - @usableFromInline static let executeBundles: JSString = "executeBundles" - @usableFromInline static let externalTexture: JSString = "externalTexture" - @usableFromInline static let failOp: JSString = "failOp" - @usableFromInline static let features: JSString = "features" - @usableFromInline static let finish: JSString = "finish" - @usableFromInline static let flipY: JSString = "flipY" - @usableFromInline static let forceFallbackAdapter: JSString = "forceFallbackAdapter" - @usableFromInline static let format: JSString = "format" - @usableFromInline static let fragment: JSString = "fragment" - @usableFromInline static let frontFace: JSString = "frontFace" - @usableFromInline static let g: JSString = "g" - @usableFromInline static let getBindGroupLayout: JSString = "getBindGroupLayout" - @usableFromInline static let getCompilationInfo: JSString = "getCompilationInfo" - @usableFromInline static let getCurrentTexture: JSString = "getCurrentTexture" - @usableFromInline static let getMappedRange: JSString = "getMappedRange" - @usableFromInline static let getPreferredCanvasFormat: JSString = "getPreferredCanvasFormat" - @usableFromInline static let gpu: JSString = "gpu" - @usableFromInline static let hasDynamicOffset: JSString = "hasDynamicOffset" - @usableFromInline static let height: JSString = "height" - @usableFromInline static let hints: JSString = "hints" - @usableFromInline static let importExternalTexture: JSString = "importExternalTexture" - @usableFromInline static let insertDebugMarker: JSString = "insertDebugMarker" - @usableFromInline static let isFallbackAdapter: JSString = "isFallbackAdapter" - @usableFromInline static let label: JSString = "label" - @usableFromInline static let layout: JSString = "layout" - @usableFromInline static let length: JSString = "length" - @usableFromInline static let limits: JSString = "limits" - @usableFromInline static let lineNum: JSString = "lineNum" - @usableFromInline static let linePos: JSString = "linePos" - @usableFromInline static let loadOp: JSString = "loadOp" - @usableFromInline static let lodMaxClamp: JSString = "lodMaxClamp" - @usableFromInline static let lodMinClamp: JSString = "lodMinClamp" - @usableFromInline static let lost: JSString = "lost" - @usableFromInline static let magFilter: JSString = "magFilter" - @usableFromInline static let mapAsync: JSString = "mapAsync" - @usableFromInline static let mapState: JSString = "mapState" - @usableFromInline static let mappedAtCreation: JSString = "mappedAtCreation" - @usableFromInline static let mask: JSString = "mask" - @usableFromInline static let maxAnisotropy: JSString = "maxAnisotropy" - @usableFromInline static let maxBindGroups: JSString = "maxBindGroups" - @usableFromInline static let maxBindGroupsPlusVertexBuffers: JSString = "maxBindGroupsPlusVertexBuffers" - @usableFromInline static let maxBindingsPerBindGroup: JSString = "maxBindingsPerBindGroup" - @usableFromInline static let maxBufferSize: JSString = "maxBufferSize" - @usableFromInline static let maxColorAttachmentBytesPerSample: JSString = "maxColorAttachmentBytesPerSample" - @usableFromInline static let maxColorAttachments: JSString = "maxColorAttachments" - @usableFromInline static let maxComputeInvocationsPerWorkgroup: JSString = "maxComputeInvocationsPerWorkgroup" - @usableFromInline static let maxComputeWorkgroupSizeX: JSString = "maxComputeWorkgroupSizeX" - @usableFromInline static let maxComputeWorkgroupSizeY: JSString = "maxComputeWorkgroupSizeY" - @usableFromInline static let maxComputeWorkgroupSizeZ: JSString = "maxComputeWorkgroupSizeZ" - @usableFromInline static let maxComputeWorkgroupStorageSize: JSString = "maxComputeWorkgroupStorageSize" - @usableFromInline static let maxComputeWorkgroupsPerDimension: JSString = "maxComputeWorkgroupsPerDimension" - @usableFromInline static let maxDrawCount: JSString = "maxDrawCount" - @usableFromInline static let maxDynamicStorageBuffersPerPipelineLayout: JSString = "maxDynamicStorageBuffersPerPipelineLayout" - @usableFromInline static let maxDynamicUniformBuffersPerPipelineLayout: JSString = "maxDynamicUniformBuffersPerPipelineLayout" - @usableFromInline static let maxInterStageShaderComponents: JSString = "maxInterStageShaderComponents" - @usableFromInline static let maxInterStageShaderVariables: JSString = "maxInterStageShaderVariables" - @usableFromInline static let maxSampledTexturesPerShaderStage: JSString = "maxSampledTexturesPerShaderStage" - @usableFromInline static let maxSamplersPerShaderStage: JSString = "maxSamplersPerShaderStage" - @usableFromInline static let maxStorageBufferBindingSize: JSString = "maxStorageBufferBindingSize" - @usableFromInline static let maxStorageBuffersPerShaderStage: JSString = "maxStorageBuffersPerShaderStage" - @usableFromInline static let maxStorageTexturesPerShaderStage: JSString = "maxStorageTexturesPerShaderStage" - @usableFromInline static let maxTextureArrayLayers: JSString = "maxTextureArrayLayers" - @usableFromInline static let maxTextureDimension1D: JSString = "maxTextureDimension1D" - @usableFromInline static let maxTextureDimension2D: JSString = "maxTextureDimension2D" - @usableFromInline static let maxTextureDimension3D: JSString = "maxTextureDimension3D" - @usableFromInline static let maxUniformBufferBindingSize: JSString = "maxUniformBufferBindingSize" - @usableFromInline static let maxUniformBuffersPerShaderStage: JSString = "maxUniformBuffersPerShaderStage" - @usableFromInline static let maxVertexAttributes: JSString = "maxVertexAttributes" - @usableFromInline static let maxVertexBufferArrayStride: JSString = "maxVertexBufferArrayStride" - @usableFromInline static let maxVertexBuffers: JSString = "maxVertexBuffers" - @usableFromInline static let message: JSString = "message" - @usableFromInline static let messages: JSString = "messages" - @usableFromInline static let minBindingSize: JSString = "minBindingSize" - @usableFromInline static let minFilter: JSString = "minFilter" - @usableFromInline static let minStorageBufferOffsetAlignment: JSString = "minStorageBufferOffsetAlignment" - @usableFromInline static let minUniformBufferOffsetAlignment: JSString = "minUniformBufferOffsetAlignment" - @usableFromInline static let mipLevel: JSString = "mipLevel" - @usableFromInline static let mipLevelCount: JSString = "mipLevelCount" - @usableFromInline static let mipmapFilter: JSString = "mipmapFilter" - @usableFromInline static let module: JSString = "module" - @usableFromInline static let multisample: JSString = "multisample" - @usableFromInline static let multisampled: JSString = "multisampled" - @usableFromInline static let occlusionQuerySet: JSString = "occlusionQuerySet" - @usableFromInline static let offset: JSString = "offset" - @usableFromInline static let onSubmittedWorkDone: JSString = "onSubmittedWorkDone" - @usableFromInline static let onuncapturederror: JSString = "onuncapturederror" - @usableFromInline static let operation: JSString = "operation" - @usableFromInline static let origin: JSString = "origin" - @usableFromInline static let passOp: JSString = "passOp" - @usableFromInline static let popDebugGroup: JSString = "popDebugGroup" - @usableFromInline static let popErrorScope: JSString = "popErrorScope" - @usableFromInline static let powerPreference: JSString = "powerPreference" - @usableFromInline static let premultipliedAlpha: JSString = "premultipliedAlpha" - @usableFromInline static let primitive: JSString = "primitive" - @usableFromInline static let pushDebugGroup: JSString = "pushDebugGroup" - @usableFromInline static let pushErrorScope: JSString = "pushErrorScope" - @usableFromInline static let querySet: JSString = "querySet" - @usableFromInline static let queue: JSString = "queue" - @usableFromInline static let r: JSString = "r" - @usableFromInline static let reason: JSString = "reason" - @usableFromInline static let requestAdapter: JSString = "requestAdapter" - @usableFromInline static let requestAdapterInfo: JSString = "requestAdapterInfo" - @usableFromInline static let requestDevice: JSString = "requestDevice" - @usableFromInline static let requiredFeatures: JSString = "requiredFeatures" - @usableFromInline static let requiredLimits: JSString = "requiredLimits" - @usableFromInline static let resolveQuerySet: JSString = "resolveQuerySet" - @usableFromInline static let resolveTarget: JSString = "resolveTarget" - @usableFromInline static let resource: JSString = "resource" - @usableFromInline static let rowsPerImage: JSString = "rowsPerImage" - @usableFromInline static let sampleCount: JSString = "sampleCount" - @usableFromInline static let sampleType: JSString = "sampleType" - @usableFromInline static let sampler: JSString = "sampler" - @usableFromInline static let setBindGroup: JSString = "setBindGroup" - @usableFromInline static let setBlendConstant: JSString = "setBlendConstant" - @usableFromInline static let setIndexBuffer: JSString = "setIndexBuffer" - @usableFromInline static let setPipeline: JSString = "setPipeline" - @usableFromInline static let setScissorRect: JSString = "setScissorRect" - @usableFromInline static let setStencilReference: JSString = "setStencilReference" - @usableFromInline static let setVertexBuffer: JSString = "setVertexBuffer" - @usableFromInline static let setViewport: JSString = "setViewport" - @usableFromInline static let shaderLocation: JSString = "shaderLocation" - @usableFromInline static let size: JSString = "size" - @usableFromInline static let source: JSString = "source" - @usableFromInline static let sourceMap: JSString = "sourceMap" - @usableFromInline static let srcFactor: JSString = "srcFactor" - @usableFromInline static let stencilBack: JSString = "stencilBack" - @usableFromInline static let stencilClearValue: JSString = "stencilClearValue" - @usableFromInline static let stencilFront: JSString = "stencilFront" - @usableFromInline static let stencilLoadOp: JSString = "stencilLoadOp" - @usableFromInline static let stencilReadMask: JSString = "stencilReadMask" - @usableFromInline static let stencilReadOnly: JSString = "stencilReadOnly" - @usableFromInline static let stencilStoreOp: JSString = "stencilStoreOp" - @usableFromInline static let stencilWriteMask: JSString = "stencilWriteMask" - @usableFromInline static let stepMode: JSString = "stepMode" - @usableFromInline static let storageTexture: JSString = "storageTexture" - @usableFromInline static let storeOp: JSString = "storeOp" - @usableFromInline static let stripIndexFormat: JSString = "stripIndexFormat" - @usableFromInline static let submit: JSString = "submit" - @usableFromInline static let targets: JSString = "targets" - @usableFromInline static let texture: JSString = "texture" - @usableFromInline static let timestampWrites: JSString = "timestampWrites" - @usableFromInline static let toString: JSString = "toString" - @usableFromInline static let topology: JSString = "topology" - @usableFromInline static let type: JSString = "type" - @usableFromInline static let unclippedDepth: JSString = "unclippedDepth" - @usableFromInline static let unconfigure: JSString = "unconfigure" - @usableFromInline static let unmap: JSString = "unmap" - @usableFromInline static let usage: JSString = "usage" - @usableFromInline static let vendor: JSString = "vendor" - @usableFromInline static let vertex: JSString = "vertex" - @usableFromInline static let view: JSString = "view" - @usableFromInline static let viewDimension: JSString = "viewDimension" - @usableFromInline static let viewFormats: JSString = "viewFormats" - @usableFromInline static let visibility: JSString = "visibility" - @usableFromInline static let wgslLanguageFeatures: JSString = "wgslLanguageFeatures" - @usableFromInline static let width: JSString = "width" - @usableFromInline static let writeBuffer: JSString = "writeBuffer" - @usableFromInline static let writeMask: JSString = "writeMask" - @usableFromInline static let writeTexture: JSString = "writeTexture" - @usableFromInline static let writeTimestamp: JSString = "writeTimestamp" - @usableFromInline static let x: JSString = "x" - @usableFromInline static let y: JSString = "y" - @usableFromInline static let z: JSString = "z" + @usableFromInline static let `GPU`: JSString = "GPU" + @usableFromInline static let `GPUAdapter`: JSString = "GPUAdapter" + @usableFromInline static let `GPUAdapterInfo`: JSString = "GPUAdapterInfo" + @usableFromInline static let `GPUBindGroup`: JSString = "GPUBindGroup" + @usableFromInline static let `GPUBindGroupLayout`: JSString = "GPUBindGroupLayout" + @usableFromInline static let `GPUBuffer`: JSString = "GPUBuffer" + @usableFromInline static let `GPUBufferUsage`: JSString = "GPUBufferUsage" + @usableFromInline static let `GPUCanvasContext`: JSString = "GPUCanvasContext" + @usableFromInline static let `GPUColorWrite`: JSString = "GPUColorWrite" + @usableFromInline static let `GPUCommandBuffer`: JSString = "GPUCommandBuffer" + @usableFromInline static let `GPUCommandEncoder`: JSString = "GPUCommandEncoder" + @usableFromInline static let `GPUCompilationInfo`: JSString = "GPUCompilationInfo" + @usableFromInline static let `GPUCompilationMessage`: JSString = "GPUCompilationMessage" + @usableFromInline static let `GPUComputePassEncoder`: JSString = "GPUComputePassEncoder" + @usableFromInline static let `GPUComputePipeline`: JSString = "GPUComputePipeline" + @usableFromInline static let `GPUDevice`: JSString = "GPUDevice" + @usableFromInline static let `GPUDeviceLostInfo`: JSString = "GPUDeviceLostInfo" + @usableFromInline static let `GPUError`: JSString = "GPUError" + @usableFromInline static let `GPUExternalTexture`: JSString = "GPUExternalTexture" + @usableFromInline static let `GPUInternalError`: JSString = "GPUInternalError" + @usableFromInline static let `GPUMapMode`: JSString = "GPUMapMode" + @usableFromInline static let `GPUOutOfMemoryError`: JSString = "GPUOutOfMemoryError" + @usableFromInline static let `GPUPipelineError`: JSString = "GPUPipelineError" + @usableFromInline static let `GPUPipelineLayout`: JSString = "GPUPipelineLayout" + @usableFromInline static let `GPUQuerySet`: JSString = "GPUQuerySet" + @usableFromInline static let `GPUQueue`: JSString = "GPUQueue" + @usableFromInline static let `GPURenderBundle`: JSString = "GPURenderBundle" + @usableFromInline static let `GPURenderBundleEncoder`: JSString = "GPURenderBundleEncoder" + @usableFromInline static let `GPURenderPassEncoder`: JSString = "GPURenderPassEncoder" + @usableFromInline static let `GPURenderPipeline`: JSString = "GPURenderPipeline" + @usableFromInline static let `GPUSampler`: JSString = "GPUSampler" + @usableFromInline static let `GPUShaderModule`: JSString = "GPUShaderModule" + @usableFromInline static let `GPUShaderStage`: JSString = "GPUShaderStage" + @usableFromInline static let `GPUSupportedFeatures`: JSString = "GPUSupportedFeatures" + @usableFromInline static let `GPUSupportedLimits`: JSString = "GPUSupportedLimits" + @usableFromInline static let `GPUTexture`: JSString = "GPUTexture" + @usableFromInline static let `GPUTextureUsage`: JSString = "GPUTextureUsage" + @usableFromInline static let `GPUTextureView`: JSString = "GPUTextureView" + @usableFromInline static let `GPUUncapturedErrorEvent`: JSString = "GPUUncapturedErrorEvent" + @usableFromInline static let `GPUValidationError`: JSString = "GPUValidationError" + @usableFromInline static let `Object`: JSString = "Object" + @usableFromInline static let `WGSLLanguageFeatures`: JSString = "WGSLLanguageFeatures" + @usableFromInline static let `a`: JSString = "a" + @usableFromInline static let `access`: JSString = "access" + @usableFromInline static let `addressModeU`: JSString = "addressModeU" + @usableFromInline static let `addressModeV`: JSString = "addressModeV" + @usableFromInline static let `addressModeW`: JSString = "addressModeW" + @usableFromInline static let `alpha`: JSString = "alpha" + @usableFromInline static let `alphaMode`: JSString = "alphaMode" + @usableFromInline static let `alphaToCoverageEnabled`: JSString = "alphaToCoverageEnabled" + @usableFromInline static let `architecture`: JSString = "architecture" + @usableFromInline static let `arrayLayerCount`: JSString = "arrayLayerCount" + @usableFromInline static let `arrayStride`: JSString = "arrayStride" + @usableFromInline static let `aspect`: JSString = "aspect" + @usableFromInline static let `attributes`: JSString = "attributes" + @usableFromInline static let `b`: JSString = "b" + @usableFromInline static let `baseArrayLayer`: JSString = "baseArrayLayer" + @usableFromInline static let `baseMipLevel`: JSString = "baseMipLevel" + @usableFromInline static let `beginComputePass`: JSString = "beginComputePass" + @usableFromInline static let `beginOcclusionQuery`: JSString = "beginOcclusionQuery" + @usableFromInline static let `beginRenderPass`: JSString = "beginRenderPass" + @usableFromInline static let `beginningOfPassWriteIndex`: JSString = "beginningOfPassWriteIndex" + @usableFromInline static let `bindGroupLayouts`: JSString = "bindGroupLayouts" + @usableFromInline static let `binding`: JSString = "binding" + @usableFromInline static let `blend`: JSString = "blend" + @usableFromInline static let `buffer`: JSString = "buffer" + @usableFromInline static let `buffers`: JSString = "buffers" + @usableFromInline static let `bytesPerRow`: JSString = "bytesPerRow" + @usableFromInline static let `canvas`: JSString = "canvas" + @usableFromInline static let `clearBuffer`: JSString = "clearBuffer" + @usableFromInline static let `clearValue`: JSString = "clearValue" + @usableFromInline static let `code`: JSString = "code" + @usableFromInline static let `color`: JSString = "color" + @usableFromInline static let `colorAttachments`: JSString = "colorAttachments" + @usableFromInline static let `colorFormats`: JSString = "colorFormats" + @usableFromInline static let `colorSpace`: JSString = "colorSpace" + @usableFromInline static let `compare`: JSString = "compare" + @usableFromInline static let `compute`: JSString = "compute" + @usableFromInline static let `configure`: JSString = "configure" + @usableFromInline static let `constants`: JSString = "constants" + @usableFromInline static let `copyBufferToBuffer`: JSString = "copyBufferToBuffer" + @usableFromInline static let `copyBufferToTexture`: JSString = "copyBufferToTexture" + @usableFromInline static let `copyExternalImageToTexture`: JSString = "copyExternalImageToTexture" + @usableFromInline static let `copyTextureToBuffer`: JSString = "copyTextureToBuffer" + @usableFromInline static let `copyTextureToTexture`: JSString = "copyTextureToTexture" + @usableFromInline static let `count`: JSString = "count" + @usableFromInline static let `createBindGroup`: JSString = "createBindGroup" + @usableFromInline static let `createBindGroupLayout`: JSString = "createBindGroupLayout" + @usableFromInline static let `createBuffer`: JSString = "createBuffer" + @usableFromInline static let `createCommandEncoder`: JSString = "createCommandEncoder" + @usableFromInline static let `createComputePipeline`: JSString = "createComputePipeline" + @usableFromInline static let `createComputePipelineAsync`: JSString = "createComputePipelineAsync" + @usableFromInline static let `createPipelineLayout`: JSString = "createPipelineLayout" + @usableFromInline static let `createQuerySet`: JSString = "createQuerySet" + @usableFromInline static let `createRenderBundleEncoder`: JSString = "createRenderBundleEncoder" + @usableFromInline static let `createRenderPipeline`: JSString = "createRenderPipeline" + @usableFromInline static let `createRenderPipelineAsync`: JSString = "createRenderPipelineAsync" + @usableFromInline static let `createSampler`: JSString = "createSampler" + @usableFromInline static let `createShaderModule`: JSString = "createShaderModule" + @usableFromInline static let `createTexture`: JSString = "createTexture" + @usableFromInline static let `createView`: JSString = "createView" + @usableFromInline static let `cullMode`: JSString = "cullMode" + @usableFromInline static let `defaultQueue`: JSString = "defaultQueue" + @usableFromInline static let `depthBias`: JSString = "depthBias" + @usableFromInline static let `depthBiasClamp`: JSString = "depthBiasClamp" + @usableFromInline static let `depthBiasSlopeScale`: JSString = "depthBiasSlopeScale" + @usableFromInline static let `depthClearValue`: JSString = "depthClearValue" + @usableFromInline static let `depthCompare`: JSString = "depthCompare" + @usableFromInline static let `depthFailOp`: JSString = "depthFailOp" + @usableFromInline static let `depthLoadOp`: JSString = "depthLoadOp" + @usableFromInline static let `depthOrArrayLayers`: JSString = "depthOrArrayLayers" + @usableFromInline static let `depthReadOnly`: JSString = "depthReadOnly" + @usableFromInline static let `depthStencil`: JSString = "depthStencil" + @usableFromInline static let `depthStencilAttachment`: JSString = "depthStencilAttachment" + @usableFromInline static let `depthStencilFormat`: JSString = "depthStencilFormat" + @usableFromInline static let `depthStoreOp`: JSString = "depthStoreOp" + @usableFromInline static let `depthWriteEnabled`: JSString = "depthWriteEnabled" + @usableFromInline static let `description`: JSString = "description" + @usableFromInline static let `destroy`: JSString = "destroy" + @usableFromInline static let `device`: JSString = "device" + @usableFromInline static let `dimension`: JSString = "dimension" + @usableFromInline static let `dispatchWorkgroups`: JSString = "dispatchWorkgroups" + @usableFromInline static let `dispatchWorkgroupsIndirect`: JSString = "dispatchWorkgroupsIndirect" + @usableFromInline static let `draw`: JSString = "draw" + @usableFromInline static let `drawIndexed`: JSString = "drawIndexed" + @usableFromInline static let `drawIndexedIndirect`: JSString = "drawIndexedIndirect" + @usableFromInline static let `drawIndirect`: JSString = "drawIndirect" + @usableFromInline static let `dstFactor`: JSString = "dstFactor" + @usableFromInline static let `end`: JSString = "end" + @usableFromInline static let `endOcclusionQuery`: JSString = "endOcclusionQuery" + @usableFromInline static let `endOfPassWriteIndex`: JSString = "endOfPassWriteIndex" + @usableFromInline static let `entries`: JSString = "entries" + @usableFromInline static let `entryPoint`: JSString = "entryPoint" + @usableFromInline static let `error`: JSString = "error" + @usableFromInline static let `executeBundles`: JSString = "executeBundles" + @usableFromInline static let `externalTexture`: JSString = "externalTexture" + @usableFromInline static let `failOp`: JSString = "failOp" + @usableFromInline static let `features`: JSString = "features" + @usableFromInline static let `finish`: JSString = "finish" + @usableFromInline static let `flipY`: JSString = "flipY" + @usableFromInline static let `forceFallbackAdapter`: JSString = "forceFallbackAdapter" + @usableFromInline static let `format`: JSString = "format" + @usableFromInline static let `fragment`: JSString = "fragment" + @usableFromInline static let `frontFace`: JSString = "frontFace" + @usableFromInline static let `g`: JSString = "g" + @usableFromInline static let `getBindGroupLayout`: JSString = "getBindGroupLayout" + @usableFromInline static let `getCompilationInfo`: JSString = "getCompilationInfo" + @usableFromInline static let `getCurrentTexture`: JSString = "getCurrentTexture" + @usableFromInline static let `getMappedRange`: JSString = "getMappedRange" + @usableFromInline static let `getPreferredCanvasFormat`: JSString = "getPreferredCanvasFormat" + @usableFromInline static let `gpu`: JSString = "gpu" + @usableFromInline static let `hasDynamicOffset`: JSString = "hasDynamicOffset" + @usableFromInline static let `height`: JSString = "height" + @usableFromInline static let `hints`: JSString = "hints" + @usableFromInline static let `importExternalTexture`: JSString = "importExternalTexture" + @usableFromInline static let `insertDebugMarker`: JSString = "insertDebugMarker" + @usableFromInline static let `isFallbackAdapter`: JSString = "isFallbackAdapter" + @usableFromInline static let `label`: JSString = "label" + @usableFromInline static let `layout`: JSString = "layout" + @usableFromInline static let `length`: JSString = "length" + @usableFromInline static let `limits`: JSString = "limits" + @usableFromInline static let `lineNum`: JSString = "lineNum" + @usableFromInline static let `linePos`: JSString = "linePos" + @usableFromInline static let `loadOp`: JSString = "loadOp" + @usableFromInline static let `lodMaxClamp`: JSString = "lodMaxClamp" + @usableFromInline static let `lodMinClamp`: JSString = "lodMinClamp" + @usableFromInline static let `lost`: JSString = "lost" + @usableFromInline static let `magFilter`: JSString = "magFilter" + @usableFromInline static let `mapAsync`: JSString = "mapAsync" + @usableFromInline static let `mapState`: JSString = "mapState" + @usableFromInline static let `mappedAtCreation`: JSString = "mappedAtCreation" + @usableFromInline static let `mask`: JSString = "mask" + @usableFromInline static let `maxAnisotropy`: JSString = "maxAnisotropy" + @usableFromInline static let `maxBindGroups`: JSString = "maxBindGroups" + @usableFromInline static let `maxBindGroupsPlusVertexBuffers`: JSString = "maxBindGroupsPlusVertexBuffers" + @usableFromInline static let `maxBindingsPerBindGroup`: JSString = "maxBindingsPerBindGroup" + @usableFromInline static let `maxBufferSize`: JSString = "maxBufferSize" + @usableFromInline static let `maxColorAttachmentBytesPerSample`: JSString = "maxColorAttachmentBytesPerSample" + @usableFromInline static let `maxColorAttachments`: JSString = "maxColorAttachments" + @usableFromInline static let `maxComputeInvocationsPerWorkgroup`: JSString = "maxComputeInvocationsPerWorkgroup" + @usableFromInline static let `maxComputeWorkgroupSizeX`: JSString = "maxComputeWorkgroupSizeX" + @usableFromInline static let `maxComputeWorkgroupSizeY`: JSString = "maxComputeWorkgroupSizeY" + @usableFromInline static let `maxComputeWorkgroupSizeZ`: JSString = "maxComputeWorkgroupSizeZ" + @usableFromInline static let `maxComputeWorkgroupStorageSize`: JSString = "maxComputeWorkgroupStorageSize" + @usableFromInline static let `maxComputeWorkgroupsPerDimension`: JSString = "maxComputeWorkgroupsPerDimension" + @usableFromInline static let `maxDrawCount`: JSString = "maxDrawCount" + @usableFromInline static let `maxDynamicStorageBuffersPerPipelineLayout`: JSString = + "maxDynamicStorageBuffersPerPipelineLayout" + @usableFromInline static let `maxDynamicUniformBuffersPerPipelineLayout`: JSString = + "maxDynamicUniformBuffersPerPipelineLayout" + @usableFromInline static let `maxInterStageShaderComponents`: JSString = "maxInterStageShaderComponents" + @usableFromInline static let `maxInterStageShaderVariables`: JSString = "maxInterStageShaderVariables" + @usableFromInline static let `maxSampledTexturesPerShaderStage`: JSString = "maxSampledTexturesPerShaderStage" + @usableFromInline static let `maxSamplersPerShaderStage`: JSString = "maxSamplersPerShaderStage" + @usableFromInline static let `maxStorageBufferBindingSize`: JSString = "maxStorageBufferBindingSize" + @usableFromInline static let `maxStorageBuffersPerShaderStage`: JSString = "maxStorageBuffersPerShaderStage" + @usableFromInline static let `maxStorageTexturesPerShaderStage`: JSString = "maxStorageTexturesPerShaderStage" + @usableFromInline static let `maxTextureArrayLayers`: JSString = "maxTextureArrayLayers" + @usableFromInline static let `maxTextureDimension1D`: JSString = "maxTextureDimension1D" + @usableFromInline static let `maxTextureDimension2D`: JSString = "maxTextureDimension2D" + @usableFromInline static let `maxTextureDimension3D`: JSString = "maxTextureDimension3D" + @usableFromInline static let `maxUniformBufferBindingSize`: JSString = "maxUniformBufferBindingSize" + @usableFromInline static let `maxUniformBuffersPerShaderStage`: JSString = "maxUniformBuffersPerShaderStage" + @usableFromInline static let `maxVertexAttributes`: JSString = "maxVertexAttributes" + @usableFromInline static let `maxVertexBufferArrayStride`: JSString = "maxVertexBufferArrayStride" + @usableFromInline static let `maxVertexBuffers`: JSString = "maxVertexBuffers" + @usableFromInline static let `message`: JSString = "message" + @usableFromInline static let `messages`: JSString = "messages" + @usableFromInline static let `minBindingSize`: JSString = "minBindingSize" + @usableFromInline static let `minFilter`: JSString = "minFilter" + @usableFromInline static let `minStorageBufferOffsetAlignment`: JSString = "minStorageBufferOffsetAlignment" + @usableFromInline static let `minUniformBufferOffsetAlignment`: JSString = "minUniformBufferOffsetAlignment" + @usableFromInline static let `mipLevel`: JSString = "mipLevel" + @usableFromInline static let `mipLevelCount`: JSString = "mipLevelCount" + @usableFromInline static let `mipmapFilter`: JSString = "mipmapFilter" + @usableFromInline static let `module`: JSString = "module" + @usableFromInline static let `multisample`: JSString = "multisample" + @usableFromInline static let `multisampled`: JSString = "multisampled" + @usableFromInline static let `occlusionQuerySet`: JSString = "occlusionQuerySet" + @usableFromInline static let `offset`: JSString = "offset" + @usableFromInline static let `onSubmittedWorkDone`: JSString = "onSubmittedWorkDone" + @usableFromInline static let `onuncapturederror`: JSString = "onuncapturederror" + @usableFromInline static let `operation`: JSString = "operation" + @usableFromInline static let `origin`: JSString = "origin" + @usableFromInline static let `passOp`: JSString = "passOp" + @usableFromInline static let `popDebugGroup`: JSString = "popDebugGroup" + @usableFromInline static let `popErrorScope`: JSString = "popErrorScope" + @usableFromInline static let `powerPreference`: JSString = "powerPreference" + @usableFromInline static let `premultipliedAlpha`: JSString = "premultipliedAlpha" + @usableFromInline static let `primitive`: JSString = "primitive" + @usableFromInline static let `pushDebugGroup`: JSString = "pushDebugGroup" + @usableFromInline static let `pushErrorScope`: JSString = "pushErrorScope" + @usableFromInline static let `querySet`: JSString = "querySet" + @usableFromInline static let `queue`: JSString = "queue" + @usableFromInline static let `r`: JSString = "r" + @usableFromInline static let `reason`: JSString = "reason" + @usableFromInline static let `requestAdapter`: JSString = "requestAdapter" + @usableFromInline static let `requestAdapterInfo`: JSString = "requestAdapterInfo" + @usableFromInline static let `requestDevice`: JSString = "requestDevice" + @usableFromInline static let `requiredFeatures`: JSString = "requiredFeatures" + @usableFromInline static let `requiredLimits`: JSString = "requiredLimits" + @usableFromInline static let `resolveQuerySet`: JSString = "resolveQuerySet" + @usableFromInline static let `resolveTarget`: JSString = "resolveTarget" + @usableFromInline static let `resource`: JSString = "resource" + @usableFromInline static let `rowsPerImage`: JSString = "rowsPerImage" + @usableFromInline static let `sampleCount`: JSString = "sampleCount" + @usableFromInline static let `sampleType`: JSString = "sampleType" + @usableFromInline static let `sampler`: JSString = "sampler" + @usableFromInline static let `setBindGroup`: JSString = "setBindGroup" + @usableFromInline static let `setBlendConstant`: JSString = "setBlendConstant" + @usableFromInline static let `setIndexBuffer`: JSString = "setIndexBuffer" + @usableFromInline static let `setPipeline`: JSString = "setPipeline" + @usableFromInline static let `setScissorRect`: JSString = "setScissorRect" + @usableFromInline static let `setStencilReference`: JSString = "setStencilReference" + @usableFromInline static let `setVertexBuffer`: JSString = "setVertexBuffer" + @usableFromInline static let `setViewport`: JSString = "setViewport" + @usableFromInline static let `shaderLocation`: JSString = "shaderLocation" + @usableFromInline static let `size`: JSString = "size" + @usableFromInline static let `source`: JSString = "source" + @usableFromInline static let `sourceMap`: JSString = "sourceMap" + @usableFromInline static let `srcFactor`: JSString = "srcFactor" + @usableFromInline static let `stencilBack`: JSString = "stencilBack" + @usableFromInline static let `stencilClearValue`: JSString = "stencilClearValue" + @usableFromInline static let `stencilFront`: JSString = "stencilFront" + @usableFromInline static let `stencilLoadOp`: JSString = "stencilLoadOp" + @usableFromInline static let `stencilReadMask`: JSString = "stencilReadMask" + @usableFromInline static let `stencilReadOnly`: JSString = "stencilReadOnly" + @usableFromInline static let `stencilStoreOp`: JSString = "stencilStoreOp" + @usableFromInline static let `stencilWriteMask`: JSString = "stencilWriteMask" + @usableFromInline static let `stepMode`: JSString = "stepMode" + @usableFromInline static let `storageTexture`: JSString = "storageTexture" + @usableFromInline static let `storeOp`: JSString = "storeOp" + @usableFromInline static let `stripIndexFormat`: JSString = "stripIndexFormat" + @usableFromInline static let `submit`: JSString = "submit" + @usableFromInline static let `targets`: JSString = "targets" + @usableFromInline static let `texture`: JSString = "texture" + @usableFromInline static let `timestampWrites`: JSString = "timestampWrites" + @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `topology`: JSString = "topology" + @usableFromInline static let `type`: JSString = "type" + @usableFromInline static let `unclippedDepth`: JSString = "unclippedDepth" + @usableFromInline static let `unconfigure`: JSString = "unconfigure" + @usableFromInline static let `unmap`: JSString = "unmap" + @usableFromInline static let `usage`: JSString = "usage" + @usableFromInline static let `vendor`: JSString = "vendor" + @usableFromInline static let `vertex`: JSString = "vertex" + @usableFromInline static let `view`: JSString = "view" + @usableFromInline static let `viewDimension`: JSString = "viewDimension" + @usableFromInline static let `viewFormats`: JSString = "viewFormats" + @usableFromInline static let `visibility`: JSString = "visibility" + @usableFromInline static let `wgslLanguageFeatures`: JSString = "wgslLanguageFeatures" + @usableFromInline static let `width`: JSString = "width" + @usableFromInline static let `writeBuffer`: JSString = "writeBuffer" + @usableFromInline static let `writeMask`: JSString = "writeMask" + @usableFromInline static let `writeTexture`: JSString = "writeTexture" + @usableFromInline static let `writeTimestamp`: JSString = "writeTimestamp" + @usableFromInline static let `x`: JSString = "x" + @usableFromInline static let `y`: JSString = "y" + @usableFromInline static let `z`: JSString = "z" } - public protocol Any_GPUAutoLayoutMode_or_GPUPipelineLayout: ConvertibleToJSValue {} extension GPUAutoLayoutMode: Any_GPUAutoLayoutMode_or_GPUPipelineLayout {} extension GPUPipelineLayout: Any_GPUAutoLayoutMode_or_GPUPipelineLayout {} @@ -3877,12 +4060,11 @@ public enum GPUAutoLayoutMode_or_GPUPipelineLayout: JSValueCompatible, Any_GPUAu case gpuAutoLayoutMode(GPUAutoLayoutMode) case gpuPipelineLayout(GPUPipelineLayout) - init(_ gpuAutoLayoutMode: GPUAutoLayoutMode) { + public init(_ gpuAutoLayoutMode: GPUAutoLayoutMode) { let val: GPUAutoLayoutMode_or_GPUPipelineLayout = .gpuAutoLayoutMode(gpuAutoLayoutMode) self = val } - - init(_ gpuPipelineLayout: GPUPipelineLayout) { + public init(_ gpuPipelineLayout: GPUPipelineLayout) { let val: GPUAutoLayoutMode_or_GPUPipelineLayout = .gpuPipelineLayout(gpuPipelineLayout) self = val } @@ -3893,7 +4075,6 @@ public enum GPUAutoLayoutMode_or_GPUPipelineLayout: JSValueCompatible, Any_GPUAu default: return nil } } - public var gpuPipelineLayout: GPUPipelineLayout? { switch self { case let .gpuPipelineLayout(gpuPipelineLayout): return gpuPipelineLayout @@ -3913,14 +4094,11 @@ public enum GPUAutoLayoutMode_or_GPUPipelineLayout: JSValueCompatible, Any_GPUAu public var jsValue: JSValue { switch self { - case let .gpuAutoLayoutMode(gpuAutoLayoutMode): - return gpuAutoLayoutMode.jsValue - case let .gpuPipelineLayout(gpuPipelineLayout): - return gpuPipelineLayout.jsValue + case let .gpuAutoLayoutMode(gpuAutoLayoutMode): return gpuAutoLayoutMode.jsValue + case let .gpuPipelineLayout(gpuPipelineLayout): return gpuPipelineLayout.jsValue } } } - public protocol Any_GPUBindingResource: ConvertibleToJSValue {} extension GPUBufferBinding: Any_GPUBindingResource {} extension GPUExternalTexture: Any_GPUBindingResource {} @@ -3933,22 +4111,19 @@ public enum GPUBindingResource: JSValueCompatible, Any_GPUBindingResource { case gpuSampler(GPUSampler) case gpuTextureView(GPUTextureView) - init(_ gpuBufferBinding: GPUBufferBinding) { + public init(_ gpuBufferBinding: GPUBufferBinding) { let val: GPUBindingResource = .gpuBufferBinding(gpuBufferBinding) self = val } - - init(_ gpuExternalTexture: GPUExternalTexture) { + public init(_ gpuExternalTexture: GPUExternalTexture) { let val: GPUBindingResource = .gpuExternalTexture(gpuExternalTexture) self = val } - - init(_ gpuSampler: GPUSampler) { + public init(_ gpuSampler: GPUSampler) { let val: GPUBindingResource = .gpuSampler(gpuSampler) self = val } - - init(_ gpuTextureView: GPUTextureView) { + public init(_ gpuTextureView: GPUTextureView) { let val: GPUBindingResource = .gpuTextureView(gpuTextureView) self = val } @@ -3959,21 +4134,18 @@ public enum GPUBindingResource: JSValueCompatible, Any_GPUBindingResource { default: return nil } } - public var gpuExternalTexture: GPUExternalTexture? { switch self { case let .gpuExternalTexture(gpuExternalTexture): return gpuExternalTexture default: return nil } } - public var gpuSampler: GPUSampler? { switch self { case let .gpuSampler(gpuSampler): return gpuSampler default: return nil } } - public var gpuTextureView: GPUTextureView? { switch self { case let .gpuTextureView(gpuTextureView): return gpuTextureView @@ -3982,35 +4154,24 @@ public enum GPUBindingResource: JSValueCompatible, Any_GPUBindingResource { } public static func construct(from value: JSValue) -> Self? { - if let gpuBufferBinding: GPUBufferBinding = value.fromJSValue() { - return .gpuBufferBinding(gpuBufferBinding) - } + if let gpuBufferBinding: GPUBufferBinding = value.fromJSValue() { return .gpuBufferBinding(gpuBufferBinding) } if let gpuExternalTexture: GPUExternalTexture = value.fromJSValue() { return .gpuExternalTexture(gpuExternalTexture) } - if let gpuSampler: GPUSampler = value.fromJSValue() { - return .gpuSampler(gpuSampler) - } - if let gpuTextureView: GPUTextureView = value.fromJSValue() { - return .gpuTextureView(gpuTextureView) - } + if let gpuSampler: GPUSampler = value.fromJSValue() { return .gpuSampler(gpuSampler) } + if let gpuTextureView: GPUTextureView = value.fromJSValue() { return .gpuTextureView(gpuTextureView) } return nil } public var jsValue: JSValue { switch self { - case let .gpuBufferBinding(gpuBufferBinding): - return gpuBufferBinding.jsValue - case let .gpuExternalTexture(gpuExternalTexture): - return gpuExternalTexture.jsValue - case let .gpuSampler(gpuSampler): - return gpuSampler.jsValue - case let .gpuTextureView(gpuTextureView): - return gpuTextureView.jsValue + case let .gpuBufferBinding(gpuBufferBinding): return gpuBufferBinding.jsValue + case let .gpuExternalTexture(gpuExternalTexture): return gpuExternalTexture.jsValue + case let .gpuSampler(gpuSampler): return gpuSampler.jsValue + case let .gpuTextureView(gpuTextureView): return gpuTextureView.jsValue } } } - public protocol Any_GPUColor: ConvertibleToJSValue {} extension GPUColorDict: Any_GPUColor {} extension Array: Any_GPUColor where Element == Double {} @@ -4019,12 +4180,11 @@ public enum GPUColor: JSValueCompatible, Any_GPUColor { case gpuColorDict(GPUColorDict) case seq_of_Double([Double]) - init(_ gpuColorDict: GPUColorDict) { + public init(_ gpuColorDict: GPUColorDict) { let val: GPUColor = .gpuColorDict(gpuColorDict) self = val } - - init(_ seq_of_Double: [Double]) { + public init(_ seq_of_Double: [Double]) { let val: GPUColor = .seq_of_Double(seq_of_Double) self = val } @@ -4035,7 +4195,6 @@ public enum GPUColor: JSValueCompatible, Any_GPUColor { default: return nil } } - public var seq_of_Double: [Double]? { switch self { case let .seq_of_Double(seq_of_Double): return seq_of_Double @@ -4044,25 +4203,18 @@ public enum GPUColor: JSValueCompatible, Any_GPUColor { } public static func construct(from value: JSValue) -> Self? { - if let gpuColorDict: GPUColorDict = value.fromJSValue() { - return .gpuColorDict(gpuColorDict) - } - if let seq_of_Double: [Double] = value.fromJSValue() { - return .seq_of_Double(seq_of_Double) - } + if let gpuColorDict: GPUColorDict = value.fromJSValue() { return .gpuColorDict(gpuColorDict) } + if let seq_of_Double: [Double] = value.fromJSValue() { return .seq_of_Double(seq_of_Double) } return nil } public var jsValue: JSValue { switch self { - case let .gpuColorDict(gpuColorDict): - return gpuColorDict.jsValue - case let .seq_of_Double(seq_of_Double): - return seq_of_Double.jsValue + case let .gpuColorDict(gpuColorDict): return gpuColorDict.jsValue + case let .seq_of_Double(seq_of_Double): return seq_of_Double.jsValue } } } - public protocol Any_GPUExtent3D: ConvertibleToJSValue {} extension GPUExtent3DDict: Any_GPUExtent3D {} extension Array: Any_GPUExtent3D where Element == GPUIntegerCoordinate {} @@ -4071,12 +4223,11 @@ public enum GPUExtent3D: JSValueCompatible, Any_GPUExtent3D { case gpuExtent3DDict(GPUExtent3DDict) case seq_of_GPUIntegerCoordinate([GPUIntegerCoordinate]) - init(_ gpuExtent3DDict: GPUExtent3DDict) { + public init(_ gpuExtent3DDict: GPUExtent3DDict) { let val: GPUExtent3D = .gpuExtent3DDict(gpuExtent3DDict) self = val } - - init(_ seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate]) { + public init(_ seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate]) { let val: GPUExtent3D = .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate) self = val } @@ -4087,7 +4238,6 @@ public enum GPUExtent3D: JSValueCompatible, Any_GPUExtent3D { default: return nil } } - public var seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate]? { switch self { case let .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate): return seq_of_GPUIntegerCoordinate @@ -4096,9 +4246,7 @@ public enum GPUExtent3D: JSValueCompatible, Any_GPUExtent3D { } public static func construct(from value: JSValue) -> Self? { - if let gpuExtent3DDict: GPUExtent3DDict = value.fromJSValue() { - return .gpuExtent3DDict(gpuExtent3DDict) - } + if let gpuExtent3DDict: GPUExtent3DDict = value.fromJSValue() { return .gpuExtent3DDict(gpuExtent3DDict) } if let seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate] = value.fromJSValue() { return .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate) } @@ -4107,14 +4255,11 @@ public enum GPUExtent3D: JSValueCompatible, Any_GPUExtent3D { public var jsValue: JSValue { switch self { - case let .gpuExtent3DDict(gpuExtent3DDict): - return gpuExtent3DDict.jsValue - case let .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate): - return seq_of_GPUIntegerCoordinate.jsValue + case let .gpuExtent3DDict(gpuExtent3DDict): return gpuExtent3DDict.jsValue + case let .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate): return seq_of_GPUIntegerCoordinate.jsValue } } } - public protocol Any_GPUImageCopyExternalImageSource: ConvertibleToJSValue {} extension HTMLCanvasElement: Any_GPUImageCopyExternalImageSource {} extension HTMLVideoElement: Any_GPUImageCopyExternalImageSource {} @@ -4129,27 +4274,23 @@ public enum GPUImageCopyExternalImageSource: JSValueCompatible, Any_GPUImageCopy case offscreenCanvas(OffscreenCanvas) case videoFrame(VideoFrame) - init(_ htmlCanvasElement: HTMLCanvasElement) { + public init(_ htmlCanvasElement: HTMLCanvasElement) { let val: GPUImageCopyExternalImageSource = .htmlCanvasElement(htmlCanvasElement) self = val } - - init(_ htmlVideoElement: HTMLVideoElement) { + public init(_ htmlVideoElement: HTMLVideoElement) { let val: GPUImageCopyExternalImageSource = .htmlVideoElement(htmlVideoElement) self = val } - - init(_ imageBitmap: ImageBitmap) { + public init(_ imageBitmap: ImageBitmap) { let val: GPUImageCopyExternalImageSource = .imageBitmap(imageBitmap) self = val } - - init(_ offscreenCanvas: OffscreenCanvas) { + public init(_ offscreenCanvas: OffscreenCanvas) { let val: GPUImageCopyExternalImageSource = .offscreenCanvas(offscreenCanvas) self = val } - - init(_ videoFrame: VideoFrame) { + public init(_ videoFrame: VideoFrame) { let val: GPUImageCopyExternalImageSource = .videoFrame(videoFrame) self = val } @@ -4160,28 +4301,24 @@ public enum GPUImageCopyExternalImageSource: JSValueCompatible, Any_GPUImageCopy default: return nil } } - public var htmlVideoElement: HTMLVideoElement? { switch self { case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement default: return nil } } - public var imageBitmap: ImageBitmap? { switch self { case let .imageBitmap(imageBitmap): return imageBitmap default: return nil } } - public var offscreenCanvas: OffscreenCanvas? { switch self { case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas default: return nil } } - public var videoFrame: VideoFrame? { switch self { case let .videoFrame(videoFrame): return videoFrame @@ -4193,37 +4330,23 @@ public enum GPUImageCopyExternalImageSource: JSValueCompatible, Any_GPUImageCopy if let htmlCanvasElement: HTMLCanvasElement = value.fromJSValue() { return .htmlCanvasElement(htmlCanvasElement) } - if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() { - return .htmlVideoElement(htmlVideoElement) - } - if let imageBitmap: ImageBitmap = value.fromJSValue() { - return .imageBitmap(imageBitmap) - } - if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { - return .offscreenCanvas(offscreenCanvas) - } - if let videoFrame: VideoFrame = value.fromJSValue() { - return .videoFrame(videoFrame) - } + if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() { return .htmlVideoElement(htmlVideoElement) } + if let imageBitmap: ImageBitmap = value.fromJSValue() { return .imageBitmap(imageBitmap) } + if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { return .offscreenCanvas(offscreenCanvas) } + if let videoFrame: VideoFrame = value.fromJSValue() { return .videoFrame(videoFrame) } return nil } public var jsValue: JSValue { switch self { - case let .htmlCanvasElement(htmlCanvasElement): - return htmlCanvasElement.jsValue - case let .htmlVideoElement(htmlVideoElement): - return htmlVideoElement.jsValue - case let .imageBitmap(imageBitmap): - return imageBitmap.jsValue - case let .offscreenCanvas(offscreenCanvas): - return offscreenCanvas.jsValue - case let .videoFrame(videoFrame): - return videoFrame.jsValue + case let .htmlCanvasElement(htmlCanvasElement): return htmlCanvasElement.jsValue + case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement.jsValue + case let .imageBitmap(imageBitmap): return imageBitmap.jsValue + case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas.jsValue + case let .videoFrame(videoFrame): return videoFrame.jsValue } } } - public protocol Any_GPUOrigin2D: ConvertibleToJSValue {} extension GPUOrigin2DDict: Any_GPUOrigin2D {} extension Array: Any_GPUOrigin2D where Element == GPUIntegerCoordinate {} @@ -4232,12 +4355,11 @@ public enum GPUOrigin2D: JSValueCompatible, Any_GPUOrigin2D { case gpuOrigin2DDict(GPUOrigin2DDict) case seq_of_GPUIntegerCoordinate([GPUIntegerCoordinate]) - init(_ gpuOrigin2DDict: GPUOrigin2DDict) { + public init(_ gpuOrigin2DDict: GPUOrigin2DDict) { let val: GPUOrigin2D = .gpuOrigin2DDict(gpuOrigin2DDict) self = val } - - init(_ seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate]) { + public init(_ seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate]) { let val: GPUOrigin2D = .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate) self = val } @@ -4248,7 +4370,6 @@ public enum GPUOrigin2D: JSValueCompatible, Any_GPUOrigin2D { default: return nil } } - public var seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate]? { switch self { case let .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate): return seq_of_GPUIntegerCoordinate @@ -4257,9 +4378,7 @@ public enum GPUOrigin2D: JSValueCompatible, Any_GPUOrigin2D { } public static func construct(from value: JSValue) -> Self? { - if let gpuOrigin2DDict: GPUOrigin2DDict = value.fromJSValue() { - return .gpuOrigin2DDict(gpuOrigin2DDict) - } + if let gpuOrigin2DDict: GPUOrigin2DDict = value.fromJSValue() { return .gpuOrigin2DDict(gpuOrigin2DDict) } if let seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate] = value.fromJSValue() { return .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate) } @@ -4268,14 +4387,11 @@ public enum GPUOrigin2D: JSValueCompatible, Any_GPUOrigin2D { public var jsValue: JSValue { switch self { - case let .gpuOrigin2DDict(gpuOrigin2DDict): - return gpuOrigin2DDict.jsValue - case let .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate): - return seq_of_GPUIntegerCoordinate.jsValue + case let .gpuOrigin2DDict(gpuOrigin2DDict): return gpuOrigin2DDict.jsValue + case let .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate): return seq_of_GPUIntegerCoordinate.jsValue } } } - public protocol Any_GPUOrigin3D: ConvertibleToJSValue {} extension GPUOrigin3DDict: Any_GPUOrigin3D {} extension Array: Any_GPUOrigin3D where Element == GPUIntegerCoordinate {} @@ -4284,12 +4400,11 @@ public enum GPUOrigin3D: JSValueCompatible, Any_GPUOrigin3D { case gpuOrigin3DDict(GPUOrigin3DDict) case seq_of_GPUIntegerCoordinate([GPUIntegerCoordinate]) - init(_ gpuOrigin3DDict: GPUOrigin3DDict) { + public init(_ gpuOrigin3DDict: GPUOrigin3DDict) { let val: GPUOrigin3D = .gpuOrigin3DDict(gpuOrigin3DDict) self = val } - - init(_ seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate]) { + public init(_ seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate]) { let val: GPUOrigin3D = .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate) self = val } @@ -4300,7 +4415,6 @@ public enum GPUOrigin3D: JSValueCompatible, Any_GPUOrigin3D { default: return nil } } - public var seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate]? { switch self { case let .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate): return seq_of_GPUIntegerCoordinate @@ -4309,9 +4423,7 @@ public enum GPUOrigin3D: JSValueCompatible, Any_GPUOrigin3D { } public static func construct(from value: JSValue) -> Self? { - if let gpuOrigin3DDict: GPUOrigin3DDict = value.fromJSValue() { - return .gpuOrigin3DDict(gpuOrigin3DDict) - } + if let gpuOrigin3DDict: GPUOrigin3DDict = value.fromJSValue() { return .gpuOrigin3DDict(gpuOrigin3DDict) } if let seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate] = value.fromJSValue() { return .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate) } @@ -4320,14 +4432,11 @@ public enum GPUOrigin3D: JSValueCompatible, Any_GPUOrigin3D { public var jsValue: JSValue { switch self { - case let .gpuOrigin3DDict(gpuOrigin3DDict): - return gpuOrigin3DDict.jsValue - case let .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate): - return seq_of_GPUIntegerCoordinate.jsValue + case let .gpuOrigin3DDict(gpuOrigin3DDict): return gpuOrigin3DDict.jsValue + case let .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate): return seq_of_GPUIntegerCoordinate.jsValue } } } - public protocol Any_HTMLCanvasElement_or_OffscreenCanvas: ConvertibleToJSValue {} extension HTMLCanvasElement: Any_HTMLCanvasElement_or_OffscreenCanvas {} extension OffscreenCanvas: Any_HTMLCanvasElement_or_OffscreenCanvas {} @@ -4336,12 +4445,11 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan case htmlCanvasElement(HTMLCanvasElement) case offscreenCanvas(OffscreenCanvas) - init(_ htmlCanvasElement: HTMLCanvasElement) { + public init(_ htmlCanvasElement: HTMLCanvasElement) { let val: HTMLCanvasElement_or_OffscreenCanvas = .htmlCanvasElement(htmlCanvasElement) self = val } - - init(_ offscreenCanvas: OffscreenCanvas) { + public init(_ offscreenCanvas: OffscreenCanvas) { let val: HTMLCanvasElement_or_OffscreenCanvas = .offscreenCanvas(offscreenCanvas) self = val } @@ -4352,7 +4460,6 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan default: return nil } } - public var offscreenCanvas: OffscreenCanvas? { switch self { case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas @@ -4364,22 +4471,17 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan if let htmlCanvasElement: HTMLCanvasElement = value.fromJSValue() { return .htmlCanvasElement(htmlCanvasElement) } - if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { - return .offscreenCanvas(offscreenCanvas) - } + if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { return .offscreenCanvas(offscreenCanvas) } return nil } public var jsValue: JSValue { switch self { - case let .htmlCanvasElement(htmlCanvasElement): - return htmlCanvasElement.jsValue - case let .offscreenCanvas(offscreenCanvas): - return offscreenCanvas.jsValue + case let .htmlCanvasElement(htmlCanvasElement): return htmlCanvasElement.jsValue + case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas.jsValue } } } - public protocol Any_HTMLVideoElement_or_VideoFrame: ConvertibleToJSValue {} extension HTMLVideoElement: Any_HTMLVideoElement_or_VideoFrame {} extension VideoFrame: Any_HTMLVideoElement_or_VideoFrame {} @@ -4388,12 +4490,11 @@ public enum HTMLVideoElement_or_VideoFrame: JSValueCompatible, Any_HTMLVideoElem case htmlVideoElement(HTMLVideoElement) case videoFrame(VideoFrame) - init(_ htmlVideoElement: HTMLVideoElement) { + public init(_ htmlVideoElement: HTMLVideoElement) { let val: HTMLVideoElement_or_VideoFrame = .htmlVideoElement(htmlVideoElement) self = val } - - init(_ videoFrame: VideoFrame) { + public init(_ videoFrame: VideoFrame) { let val: HTMLVideoElement_or_VideoFrame = .videoFrame(videoFrame) self = val } @@ -4404,7 +4505,6 @@ public enum HTMLVideoElement_or_VideoFrame: JSValueCompatible, Any_HTMLVideoElem default: return nil } } - public var videoFrame: VideoFrame? { switch self { case let .videoFrame(videoFrame): return videoFrame @@ -4413,21 +4513,15 @@ public enum HTMLVideoElement_or_VideoFrame: JSValueCompatible, Any_HTMLVideoElem } public static func construct(from value: JSValue) -> Self? { - if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() { - return .htmlVideoElement(htmlVideoElement) - } - if let videoFrame: VideoFrame = value.fromJSValue() { - return .videoFrame(videoFrame) - } + if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() { return .htmlVideoElement(htmlVideoElement) } + if let videoFrame: VideoFrame = value.fromJSValue() { return .videoFrame(videoFrame) } return nil } public var jsValue: JSValue { switch self { - case let .htmlVideoElement(htmlVideoElement): - return htmlVideoElement.jsValue - case let .videoFrame(videoFrame): - return videoFrame.jsValue + case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement.jsValue + case let .videoFrame(videoFrame): return videoFrame.jsValue } } } diff --git a/Sources/WebSockets/Generated.swift b/Sources/WebSockets/Generated.swift index 4dade890..3dd39d46 100644 --- a/Sources/WebSockets/Generated.swift +++ b/Sources/WebSockets/Generated.swift @@ -3,101 +3,82 @@ import DOM import ECMAScript import JavaScriptBigIntSupport -import JavaScriptEventLoop import JavaScriptKit import WebAPIBase +#if canImport(JavaScriptEventLoop) + import JavaScriptEventLoop +#endif +#if canImport(_Concurrency) + import _Concurrency +#endif + public enum BinaryType: JSString, JSValueCompatible { case blob = "blob" case arraybuffer = "arraybuffer" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class CloseEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CloseEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CloseEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _wasClean = ReadonlyAttribute(jsObject: jsObject, name: Strings.wasClean) - _code = ReadonlyAttribute(jsObject: jsObject, name: Strings.code) - _reason = ReadonlyAttribute(jsObject: jsObject, name: Strings.reason) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: CloseEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var wasClean: Bool + @inlinable public var wasClean: Bool { jsObject[Strings.wasClean].fromJSValue()! } - @ReadonlyAttribute - public var code: UInt16 + @inlinable public var code: UInt16 { jsObject[Strings.code].fromJSValue()! } - @ReadonlyAttribute - public var reason: String + @inlinable public var reason: String { jsObject[Strings.reason].fromJSValue()! } } -public class CloseEventInit: BridgedDictionary { - public convenience init(wasClean: Bool, code: UInt16, reason: String) { +open class CloseEventInit: EventInit { + + public convenience init(wasClean: Bool? = nil, code: UInt16? = nil, reason: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.wasClean] = _toJSValue(wasClean) object[Strings.code] = _toJSValue(code) object[Strings.reason] = _toJSValue(reason) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _wasClean = ReadWriteAttribute(jsObject: object, name: Strings.wasClean) - _code = ReadWriteAttribute(jsObject: object, name: Strings.code) - _reason = ReadWriteAttribute(jsObject: object, name: Strings.reason) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var wasClean: Bool + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var code: UInt16 - - @ReadWriteAttribute - public var reason: String + @inlinable public var wasClean: Bool { + get { jsObject[Strings.wasClean].fromJSValue()! } + set { jsObject[Strings.wasClean] = _toJSValue(newValue) } + } + @inlinable public var code: UInt16 { + get { jsObject[Strings.code].fromJSValue()! } + set { jsObject[Strings.code] = _toJSValue(newValue) } + } + @inlinable public var reason: String { + get { jsObject[Strings.reason].fromJSValue()! } + set { jsObject[Strings.reason] = _toJSValue(newValue) } + } } public class WebSocket: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WebSocket].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _bufferedAmount = ReadonlyAttribute(jsObject: jsObject, name: Strings.bufferedAmount) - _onopen = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onopen) - _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) - _onclose = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onclose) - _extensions = ReadonlyAttribute(jsObject: jsObject, name: Strings.extensions) - _protocol = ReadonlyAttribute(jsObject: jsObject, name: Strings.protocol) - _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) - _binaryType = ReadWriteAttribute(jsObject: jsObject, name: Strings.binaryType) - super.init(unsafelyWrapping: jsObject) - } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.WebSocket].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(url: String, protocols: String_or_seq_of_String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(url), _toJSValue(protocols)])) } - @ReadonlyAttribute - public var url: String + @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } public static let CONNECTING: UInt16 = 0 @@ -107,39 +88,81 @@ public class WebSocket: EventTarget { public static let CLOSED: UInt16 = 3 - @ReadonlyAttribute - public var readyState: UInt16 + @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } - @ReadonlyAttribute - public var bufferedAmount: UInt64 + @inlinable public var bufferedAmount: UInt64 { jsObject[Strings.bufferedAmount].fromJSValue()! } - @ClosureAttribute1Optional - public var onopen: EventHandler + @inlinable public var onopen: EventHandler { + get { + guard let function = jsObject[Strings.onopen].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onopen] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onopen] = .null + } + } + } - @ClosureAttribute1Optional - public var onerror: EventHandler + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } - @ClosureAttribute1Optional - public var onclose: EventHandler + @inlinable public var onclose: EventHandler { + get { + guard let function = jsObject[Strings.onclose].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onclose] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onclose] = .null + } + } + } - @ReadonlyAttribute - public var extensions: String + @inlinable public var extensions: String { jsObject[Strings.extensions].fromJSValue()! } - @ReadonlyAttribute - public var `protocol`: String + @inlinable public var `protocol`: String { jsObject[Strings.`protocol`].fromJSValue()! } - @inlinable public func close(code: UInt16? = nil, reason: String? = nil) { + @inlinable final public func close(code: UInt16? = nil, reason: String? = nil) { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: [_toJSValue(code), _toJSValue(reason)]) } - @ClosureAttribute1Optional - public var onmessage: EventHandler + @inlinable public var onmessage: EventHandler { + get { + guard let function = jsObject[Strings.onmessage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessage] = .null + } + } + } - @ReadWriteAttribute - public var binaryType: BinaryType + @inlinable public var binaryType: BinaryType { + get { jsObject[Strings.binaryType].fromJSValue()! } + set { jsObject[Strings.binaryType] = _toJSValue(newValue) } + } - @inlinable public func send(data: Blob_or_BufferSource_or_String) { + @inlinable final public func send(data: Blob_or_BufferSource_or_String) { let this = jsObject _ = this[Strings.send].function!(this: this, arguments: [_toJSValue(data)]) } @@ -147,27 +170,26 @@ public class WebSocket: EventTarget { @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let CloseEvent: JSString = "CloseEvent" - @usableFromInline static let Object: JSString = "Object" - @usableFromInline static let WebSocket: JSString = "WebSocket" - @usableFromInline static let binaryType: JSString = "binaryType" - @usableFromInline static let bufferedAmount: JSString = "bufferedAmount" - @usableFromInline static let close: JSString = "close" - @usableFromInline static let code: JSString = "code" - @usableFromInline static let extensions: JSString = "extensions" - @usableFromInline static let onclose: JSString = "onclose" - @usableFromInline static let onerror: JSString = "onerror" - @usableFromInline static let onmessage: JSString = "onmessage" - @usableFromInline static let onopen: JSString = "onopen" + @usableFromInline static let `CloseEvent`: JSString = "CloseEvent" + @usableFromInline static let `Object`: JSString = "Object" + @usableFromInline static let `WebSocket`: JSString = "WebSocket" + @usableFromInline static let `binaryType`: JSString = "binaryType" + @usableFromInline static let `bufferedAmount`: JSString = "bufferedAmount" + @usableFromInline static let `close`: JSString = "close" + @usableFromInline static let `code`: JSString = "code" + @usableFromInline static let `extensions`: JSString = "extensions" + @usableFromInline static let `onclose`: JSString = "onclose" + @usableFromInline static let `onerror`: JSString = "onerror" + @usableFromInline static let `onmessage`: JSString = "onmessage" + @usableFromInline static let `onopen`: JSString = "onopen" @usableFromInline static let `protocol`: JSString = "protocol" - @usableFromInline static let readyState: JSString = "readyState" - @usableFromInline static let reason: JSString = "reason" - @usableFromInline static let send: JSString = "send" - @usableFromInline static let toString: JSString = "toString" - @usableFromInline static let url: JSString = "url" - @usableFromInline static let wasClean: JSString = "wasClean" + @usableFromInline static let `readyState`: JSString = "readyState" + @usableFromInline static let `reason`: JSString = "reason" + @usableFromInline static let `send`: JSString = "send" + @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `url`: JSString = "url" + @usableFromInline static let `wasClean`: JSString = "wasClean" } - public protocol Any_Blob_or_BufferSource_or_String: ConvertibleToJSValue {} extension Blob: Any_Blob_or_BufferSource_or_String {} extension BufferSource: Any_Blob_or_BufferSource_or_String {} @@ -178,27 +200,23 @@ public enum Blob_or_BufferSource_or_String: JSValueCompatible, Any_Blob_or_Buffe case bufferSource(BufferSource) case string(String) - init(_ blob: Blob) { + public init(_ blob: Blob) { let val: Blob_or_BufferSource_or_String = .blob(blob) self = val } - - init(_ bufferSource: BufferSource) { + public init(_ bufferSource: BufferSource) { let val: Blob_or_BufferSource_or_String = .bufferSource(bufferSource) self = val } - - init(_ arrayBuffer: ArrayBuffer) { + public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } - - init(_ arrayBufferView: ArrayBufferView) { + public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } - - init(_ string: String) { + public init(_ string: String) { let val: Blob_or_BufferSource_or_String = .string(string) self = val } @@ -209,14 +227,12 @@ public enum Blob_or_BufferSource_or_String: JSValueCompatible, Any_Blob_or_Buffe default: return nil } } - public var bufferSource: BufferSource? { switch self { case let .bufferSource(bufferSource): return bufferSource default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -225,30 +241,20 @@ public enum Blob_or_BufferSource_or_String: JSValueCompatible, Any_Blob_or_Buffe } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { - return .blob(blob) - } - if let bufferSource: BufferSource = value.fromJSValue() { - return .bufferSource(bufferSource) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let blob: Blob = value.fromJSValue() { return .blob(blob) } + if let bufferSource: BufferSource = value.fromJSValue() { return .bufferSource(bufferSource) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): - return blob.jsValue - case let .bufferSource(bufferSource): - return bufferSource.jsValue - case let .string(string): - return string.jsValue + case let .blob(blob): return blob.jsValue + case let .bufferSource(bufferSource): return bufferSource.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_String_or_seq_of_String: ConvertibleToJSValue {} extension String: Any_String_or_seq_of_String {} extension Array: Any_String_or_seq_of_String where Element == String {} @@ -257,12 +263,11 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str case string(String) case seq_of_String([String]) - init(_ string: String) { + public init(_ string: String) { let val: String_or_seq_of_String = .string(string) self = val } - - init(_ seq_of_String: [String]) { + public init(_ seq_of_String: [String]) { let val: String_or_seq_of_String = .seq_of_String(seq_of_String) self = val } @@ -273,7 +278,6 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str default: return nil } } - public var seq_of_String: [String]? { switch self { case let .seq_of_String(seq_of_String): return seq_of_String @@ -282,21 +286,15 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str } public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { - return .string(string) - } - if let seq_of_String: [String] = value.fromJSValue() { - return .seq_of_String(seq_of_String) - } + if let string: String = value.fromJSValue() { return .string(string) } + if let seq_of_String: [String] = value.fromJSValue() { return .seq_of_String(seq_of_String) } return nil } public var jsValue: JSValue { switch self { - case let .string(string): - return string.jsValue - case let .seq_of_String(seq_of_String): - return seq_of_String.jsValue + case let .string(string): return string.jsValue + case let .seq_of_String(seq_of_String): return seq_of_String.jsValue } } } From 15d21a485766748173e1bb5a9f214f09a70aec9d Mon Sep 17 00:00:00 2001 From: Yuta Saito Date: Fri, 6 Jun 2025 14:46:04 +0000 Subject: [PATCH 8/9] Apply embedded fixes --- Package.resolved | 34 +- Sources/DOM/Generated.swift | 26764 +++++++++---------- Sources/DOM/Support.swift | 6 - Sources/ECMAScript/ArrayBuffer.swift | 25 +- Sources/ECMAScript/BridgedDictionary.swift | 27 +- Sources/ECMAScript/Iterators.swift | 13 +- Sources/WebGL1/Support.swift | 2 - parse-idl/package-lock.json | 13 +- parse-idl/package.json | 4 +- 9 files changed, 12728 insertions(+), 14160 deletions(-) diff --git a/Package.resolved b/Package.resolved index 5a2ab801..bdc2ca1e 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,16 +1,24 @@ { - "object": { - "pins": [ - { - "package": "JavaScriptKit", - "repositoryURL": "https://github.com/swiftwasm/JavaScriptKit.git", - "state": { - "branch": null, - "revision": "a129f62171bf3610633313c2db6acdca41cdb195", - "version": "0.16.0" - } + "originHash" : "18947974a1b626722bcc04768f7aba0f741b33a380004ff904cf94656ec9fcee", + "pins" : [ + { + "identity" : "javascriptkit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftwasm/JavaScriptKit.git", + "state" : { + "revision" : "42ead29a698428efcbc65cda74b9926726fecec9", + "version" : "0.29.1" } - ] - }, - "version": 1 + }, + { + "identity" : "swift-syntax", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-syntax", + "state" : { + "revision" : "0687f71944021d616d34d922343dcef086855920", + "version" : "600.0.1" + } + } + ], + "version" : 3 } diff --git a/Sources/DOM/Generated.swift b/Sources/DOM/Generated.swift index 3b69fab7..883e1b8e 100644 --- a/Sources/DOM/Generated.swift +++ b/Sources/DOM/Generated.swift @@ -1,323 +1,323 @@ // This file was auto-generated by WebIDLToSwift. DO NOT EDIT! +#if canImportJavaScriptEventLoop + import JavaScriptEventLoop +#endif import ECMAScript import JavaScriptBigIntSupport +import JavaScriptEventLoop import JavaScriptKit import WebAPIBase -#if canImport(JavaScriptEventLoop) - import JavaScriptEventLoop -#endif -#if canImport(_Concurrency) - import _Concurrency -#endif - public protocol ARIAMixin: JSBridgedClass {} -extension ARIAMixin { - @inlinable public var role: String? { +public extension ARIAMixin { + @inlinable var role: String? { get { jsObject[Strings.role].fromJSValue() } - set { jsObject[Strings.role] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.role] = _toJSValue(newValue) } } - @inlinable public var ariaActiveDescendantElement: Element? { + @inlinable var ariaActiveDescendantElement: Element? { get { jsObject[Strings.ariaActiveDescendantElement].fromJSValue() } - set { jsObject[Strings.ariaActiveDescendantElement] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaActiveDescendantElement] = _toJSValue(newValue) } } - @inlinable public var ariaAtomic: String? { + @inlinable var ariaAtomic: String? { get { jsObject[Strings.ariaAtomic].fromJSValue() } - set { jsObject[Strings.ariaAtomic] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaAtomic] = _toJSValue(newValue) } } - @inlinable public var ariaAutoComplete: String? { + @inlinable var ariaAutoComplete: String? { get { jsObject[Strings.ariaAutoComplete].fromJSValue() } - set { jsObject[Strings.ariaAutoComplete] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaAutoComplete] = _toJSValue(newValue) } } - @inlinable public var ariaBusy: String? { + @inlinable var ariaBusy: String? { get { jsObject[Strings.ariaBusy].fromJSValue() } - set { jsObject[Strings.ariaBusy] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaBusy] = _toJSValue(newValue) } } - @inlinable public var ariaChecked: String? { + @inlinable var ariaChecked: String? { get { jsObject[Strings.ariaChecked].fromJSValue() } - set { jsObject[Strings.ariaChecked] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaChecked] = _toJSValue(newValue) } } - @inlinable public var ariaColCount: String? { + @inlinable var ariaColCount: String? { get { jsObject[Strings.ariaColCount].fromJSValue() } - set { jsObject[Strings.ariaColCount] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaColCount] = _toJSValue(newValue) } } - @inlinable public var ariaColIndex: String? { + @inlinable var ariaColIndex: String? { get { jsObject[Strings.ariaColIndex].fromJSValue() } - set { jsObject[Strings.ariaColIndex] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaColIndex] = _toJSValue(newValue) } } - @inlinable public var ariaColIndexText: String? { + @inlinable var ariaColIndexText: String? { get { jsObject[Strings.ariaColIndexText].fromJSValue() } - set { jsObject[Strings.ariaColIndexText] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaColIndexText] = _toJSValue(newValue) } } - @inlinable public var ariaColSpan: String? { + @inlinable var ariaColSpan: String? { get { jsObject[Strings.ariaColSpan].fromJSValue() } - set { jsObject[Strings.ariaColSpan] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaColSpan] = _toJSValue(newValue) } } - @inlinable public var ariaControlsElements: [Element]? { + @inlinable var ariaControlsElements: [Element]? { get { jsObject[Strings.ariaControlsElements].fromJSValue() } - set { jsObject[Strings.ariaControlsElements] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaControlsElements] = _toJSValue(newValue) } } - @inlinable public var ariaCurrent: String? { + @inlinable var ariaCurrent: String? { get { jsObject[Strings.ariaCurrent].fromJSValue() } - set { jsObject[Strings.ariaCurrent] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaCurrent] = _toJSValue(newValue) } } - @inlinable public var ariaDescribedByElements: [Element]? { + @inlinable var ariaDescribedByElements: [Element]? { get { jsObject[Strings.ariaDescribedByElements].fromJSValue() } - set { jsObject[Strings.ariaDescribedByElements] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaDescribedByElements] = _toJSValue(newValue) } } - @inlinable public var ariaDescription: String? { + @inlinable var ariaDescription: String? { get { jsObject[Strings.ariaDescription].fromJSValue() } - set { jsObject[Strings.ariaDescription] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaDescription] = _toJSValue(newValue) } } - @inlinable public var ariaDetailsElements: [Element]? { + @inlinable var ariaDetailsElements: [Element]? { get { jsObject[Strings.ariaDetailsElements].fromJSValue() } - set { jsObject[Strings.ariaDetailsElements] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaDetailsElements] = _toJSValue(newValue) } } - @inlinable public var ariaDisabled: String? { + @inlinable var ariaDisabled: String? { get { jsObject[Strings.ariaDisabled].fromJSValue() } - set { jsObject[Strings.ariaDisabled] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaDisabled] = _toJSValue(newValue) } } - @inlinable public var ariaErrorMessageElements: [Element]? { + @inlinable var ariaErrorMessageElements: [Element]? { get { jsObject[Strings.ariaErrorMessageElements].fromJSValue() } - set { jsObject[Strings.ariaErrorMessageElements] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaErrorMessageElements] = _toJSValue(newValue) } } - @inlinable public var ariaExpanded: String? { + @inlinable var ariaExpanded: String? { get { jsObject[Strings.ariaExpanded].fromJSValue() } - set { jsObject[Strings.ariaExpanded] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaExpanded] = _toJSValue(newValue) } } - @inlinable public var ariaFlowToElements: [Element]? { + @inlinable var ariaFlowToElements: [Element]? { get { jsObject[Strings.ariaFlowToElements].fromJSValue() } - set { jsObject[Strings.ariaFlowToElements] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaFlowToElements] = _toJSValue(newValue) } } - @inlinable public var ariaHasPopup: String? { + @inlinable var ariaHasPopup: String? { get { jsObject[Strings.ariaHasPopup].fromJSValue() } - set { jsObject[Strings.ariaHasPopup] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaHasPopup] = _toJSValue(newValue) } } - @inlinable public var ariaHidden: String? { + @inlinable var ariaHidden: String? { get { jsObject[Strings.ariaHidden].fromJSValue() } - set { jsObject[Strings.ariaHidden] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaHidden] = _toJSValue(newValue) } } - @inlinable public var ariaInvalid: String? { + @inlinable var ariaInvalid: String? { get { jsObject[Strings.ariaInvalid].fromJSValue() } - set { jsObject[Strings.ariaInvalid] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaInvalid] = _toJSValue(newValue) } } - @inlinable public var ariaKeyShortcuts: String? { + @inlinable var ariaKeyShortcuts: String? { get { jsObject[Strings.ariaKeyShortcuts].fromJSValue() } - set { jsObject[Strings.ariaKeyShortcuts] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaKeyShortcuts] = _toJSValue(newValue) } } - @inlinable public var ariaLabel: String? { + @inlinable var ariaLabel: String? { get { jsObject[Strings.ariaLabel].fromJSValue() } - set { jsObject[Strings.ariaLabel] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaLabel] = _toJSValue(newValue) } } - @inlinable public var ariaLabelledByElements: [Element]? { + @inlinable var ariaLabelledByElements: [Element]? { get { jsObject[Strings.ariaLabelledByElements].fromJSValue() } - set { jsObject[Strings.ariaLabelledByElements] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaLabelledByElements] = _toJSValue(newValue) } } - @inlinable public var ariaLevel: String? { + @inlinable var ariaLevel: String? { get { jsObject[Strings.ariaLevel].fromJSValue() } - set { jsObject[Strings.ariaLevel] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaLevel] = _toJSValue(newValue) } } - @inlinable public var ariaLive: String? { + @inlinable var ariaLive: String? { get { jsObject[Strings.ariaLive].fromJSValue() } - set { jsObject[Strings.ariaLive] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaLive] = _toJSValue(newValue) } } - @inlinable public var ariaModal: String? { + @inlinable var ariaModal: String? { get { jsObject[Strings.ariaModal].fromJSValue() } - set { jsObject[Strings.ariaModal] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaModal] = _toJSValue(newValue) } } - @inlinable public var ariaMultiLine: String? { + @inlinable var ariaMultiLine: String? { get { jsObject[Strings.ariaMultiLine].fromJSValue() } - set { jsObject[Strings.ariaMultiLine] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaMultiLine] = _toJSValue(newValue) } } - @inlinable public var ariaMultiSelectable: String? { + @inlinable var ariaMultiSelectable: String? { get { jsObject[Strings.ariaMultiSelectable].fromJSValue() } - set { jsObject[Strings.ariaMultiSelectable] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaMultiSelectable] = _toJSValue(newValue) } } - @inlinable public var ariaOrientation: String? { + @inlinable var ariaOrientation: String? { get { jsObject[Strings.ariaOrientation].fromJSValue() } - set { jsObject[Strings.ariaOrientation] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaOrientation] = _toJSValue(newValue) } } - @inlinable public var ariaOwnsElements: [Element]? { + @inlinable var ariaOwnsElements: [Element]? { get { jsObject[Strings.ariaOwnsElements].fromJSValue() } - set { jsObject[Strings.ariaOwnsElements] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaOwnsElements] = _toJSValue(newValue) } } - @inlinable public var ariaPlaceholder: String? { + @inlinable var ariaPlaceholder: String? { get { jsObject[Strings.ariaPlaceholder].fromJSValue() } - set { jsObject[Strings.ariaPlaceholder] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaPlaceholder] = _toJSValue(newValue) } } - @inlinable public var ariaPosInSet: String? { + @inlinable var ariaPosInSet: String? { get { jsObject[Strings.ariaPosInSet].fromJSValue() } - set { jsObject[Strings.ariaPosInSet] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaPosInSet] = _toJSValue(newValue) } } - @inlinable public var ariaPressed: String? { + @inlinable var ariaPressed: String? { get { jsObject[Strings.ariaPressed].fromJSValue() } - set { jsObject[Strings.ariaPressed] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaPressed] = _toJSValue(newValue) } } - @inlinable public var ariaReadOnly: String? { + @inlinable var ariaReadOnly: String? { get { jsObject[Strings.ariaReadOnly].fromJSValue() } - set { jsObject[Strings.ariaReadOnly] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaReadOnly] = _toJSValue(newValue) } } - @inlinable public var ariaRequired: String? { + @inlinable var ariaRequired: String? { get { jsObject[Strings.ariaRequired].fromJSValue() } - set { jsObject[Strings.ariaRequired] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaRequired] = _toJSValue(newValue) } } - @inlinable public var ariaRoleDescription: String? { + @inlinable var ariaRoleDescription: String? { get { jsObject[Strings.ariaRoleDescription].fromJSValue() } - set { jsObject[Strings.ariaRoleDescription] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaRoleDescription] = _toJSValue(newValue) } } - @inlinable public var ariaRowCount: String? { + @inlinable var ariaRowCount: String? { get { jsObject[Strings.ariaRowCount].fromJSValue() } - set { jsObject[Strings.ariaRowCount] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaRowCount] = _toJSValue(newValue) } } - @inlinable public var ariaRowIndex: String? { + @inlinable var ariaRowIndex: String? { get { jsObject[Strings.ariaRowIndex].fromJSValue() } - set { jsObject[Strings.ariaRowIndex] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaRowIndex] = _toJSValue(newValue) } } - @inlinable public var ariaRowIndexText: String? { + @inlinable var ariaRowIndexText: String? { get { jsObject[Strings.ariaRowIndexText].fromJSValue() } - set { jsObject[Strings.ariaRowIndexText] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaRowIndexText] = _toJSValue(newValue) } } - @inlinable public var ariaRowSpan: String? { + @inlinable var ariaRowSpan: String? { get { jsObject[Strings.ariaRowSpan].fromJSValue() } - set { jsObject[Strings.ariaRowSpan] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaRowSpan] = _toJSValue(newValue) } } - @inlinable public var ariaSelected: String? { + @inlinable var ariaSelected: String? { get { jsObject[Strings.ariaSelected].fromJSValue() } - set { jsObject[Strings.ariaSelected] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaSelected] = _toJSValue(newValue) } } - @inlinable public var ariaSetSize: String? { + @inlinable var ariaSetSize: String? { get { jsObject[Strings.ariaSetSize].fromJSValue() } - set { jsObject[Strings.ariaSetSize] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaSetSize] = _toJSValue(newValue) } } - @inlinable public var ariaSort: String? { + @inlinable var ariaSort: String? { get { jsObject[Strings.ariaSort].fromJSValue() } - set { jsObject[Strings.ariaSort] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaSort] = _toJSValue(newValue) } } - @inlinable public var ariaValueMax: String? { + @inlinable var ariaValueMax: String? { get { jsObject[Strings.ariaValueMax].fromJSValue() } - set { jsObject[Strings.ariaValueMax] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaValueMax] = _toJSValue(newValue) } } - @inlinable public var ariaValueMin: String? { + @inlinable var ariaValueMin: String? { get { jsObject[Strings.ariaValueMin].fromJSValue() } - set { jsObject[Strings.ariaValueMin] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaValueMin] = _toJSValue(newValue) } } - @inlinable public var ariaValueNow: String? { + @inlinable var ariaValueNow: String? { get { jsObject[Strings.ariaValueNow].fromJSValue() } - set { jsObject[Strings.ariaValueNow] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaValueNow] = _toJSValue(newValue) } } - @inlinable public var ariaValueText: String? { + @inlinable var ariaValueText: String? { get { jsObject[Strings.ariaValueText].fromJSValue() } - set { jsObject[Strings.ariaValueText] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.ariaValueText] = _toJSValue(newValue) } } } + public class AbortController: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.AbortController].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _signal = ReadonlyAttribute(jsObject: jsObject, name: Strings.signal) + self.jsObject = jsObject + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable public var signal: AbortSignal { jsObject[Strings.signal].fromJSValue()! } + @ReadonlyAttribute + public var signal: AbortSignal - @inlinable final public func abort(reason: JSValue? = nil) { + @inlinable public func abort(reason: JSValue? = nil) { let this = jsObject _ = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]) } } public class AbortSignal: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AbortSignal].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AbortSignal].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _aborted = ReadonlyAttribute(jsObject: jsObject, name: Strings.aborted) + _reason = ReadonlyAttribute(jsObject: jsObject, name: Strings.reason) + _onabort = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onabort) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public class func abort(reason: JSValue? = nil) -> AbortSignal { + @inlinable public class func abort(reason: JSValue? = nil) -> Self { let this = constructor! return this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - @inlinable public class func timeout(milliseconds: UInt64) -> AbortSignal { + @inlinable public class func timeout(milliseconds: UInt64) -> Self { let this = constructor! return this[Strings.timeout].function!(this: this, arguments: [_toJSValue(milliseconds)]).fromJSValue()! } - @inlinable public class func any(signals: [AbortSignal]) -> AbortSignal { + @inlinable public class func any(signals: [AbortSignal]) -> Self { let this = constructor! return this[Strings.any].function!(this: this, arguments: [_toJSValue(signals)]).fromJSValue()! } - @inlinable public var aborted: Bool { jsObject[Strings.aborted].fromJSValue()! } + @ReadonlyAttribute + public var aborted: Bool - @inlinable public var reason: JSValue { jsObject[Strings.reason].fromJSValue()! } + @ReadonlyAttribute + public var reason: JSValue - @inlinable final public func throwIfAborted() { + @inlinable public func throwIfAborted() { let this = jsObject _ = this[Strings.throwIfAborted].function!(this: this, arguments: []) } - @inlinable public var onabort: EventHandler { - get { - guard let function = jsObject[Strings.onabort].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onabort] = .null - } - } - } + @ClosureAttribute1Optional + public var onabort: EventHandler } public class AbstractRange: JSBridgedClass { @@ -325,139 +325,164 @@ public class AbstractRange: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _startContainer = ReadonlyAttribute(jsObject: jsObject, name: Strings.startContainer) + _startOffset = ReadonlyAttribute(jsObject: jsObject, name: Strings.startOffset) + _endContainer = ReadonlyAttribute(jsObject: jsObject, name: Strings.endContainer) + _endOffset = ReadonlyAttribute(jsObject: jsObject, name: Strings.endOffset) + _collapsed = ReadonlyAttribute(jsObject: jsObject, name: Strings.collapsed) + self.jsObject = jsObject + } - @inlinable public var startContainer: Node { jsObject[Strings.startContainer].fromJSValue()! } + @ReadonlyAttribute + public var startContainer: Node - @inlinable public var startOffset: UInt32 { jsObject[Strings.startOffset].fromJSValue()! } + @ReadonlyAttribute + public var startOffset: UInt32 - @inlinable public var endContainer: Node { jsObject[Strings.endContainer].fromJSValue()! } + @ReadonlyAttribute + public var endContainer: Node - @inlinable public var endOffset: UInt32 { jsObject[Strings.endOffset].fromJSValue()! } + @ReadonlyAttribute + public var endOffset: UInt32 - @inlinable public var collapsed: Bool { jsObject[Strings.collapsed].fromJSValue()! } + @ReadonlyAttribute + public var collapsed: Bool } public protocol AbstractWorker: JSBridgedClass {} -extension AbstractWorker { - @inlinable public var onerror: EventHandler { - get { - guard let function = jsObject[Strings.onerror].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onerror] = .null - } - } +public extension AbstractWorker { + @inlinable var onerror: EventHandler { + get { ClosureAttribute1Optional[Strings.onerror, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onerror, in: jsObject] = newValue } } } -open class AddEventListenerOptions: EventListenerOptions { - public convenience init(capture: Bool? = nil, passive: Bool? = nil, once: Bool? = nil, signal: AbortSignal? = nil) { +public class AddEventListenerOptions: BridgedDictionary { + public convenience init(passive: Bool, once: Bool, signal: AbortSignal) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.capture] = _toJSValue(capture) object[Strings.passive] = _toJSValue(passive) object[Strings.once] = _toJSValue(once) object[Strings.signal] = _toJSValue(signal) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var passive: Bool { - get { jsObject[Strings.passive].fromJSValue()! } - set { jsObject[Strings.passive] = _toJSValue(newValue) } - } - @inlinable public var once: Bool { - get { jsObject[Strings.once].fromJSValue()! } - set { jsObject[Strings.once] = _toJSValue(newValue) } - } - @inlinable public var signal: AbortSignal { - get { jsObject[Strings.signal].fromJSValue()! } - set { jsObject[Strings.signal] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _passive = ReadWriteAttribute(jsObject: object, name: Strings.passive) + _once = ReadWriteAttribute(jsObject: object, name: Strings.once) + _signal = ReadWriteAttribute(jsObject: object, name: Strings.signal) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var passive: Bool? + + @ReadWriteAttribute + public var once: Bool? + + @ReadWriteAttribute + public var signal: AbortSignal? } + public enum AlphaOption: JSString, JSValueCompatible { case keep = "keep" case discard = "discard" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public protocol AnimationFrameProvider: JSBridgedClass {} -extension AnimationFrameProvider { - @inlinable public func requestAnimationFrame(callback: @escaping FrameRequestCallback) -> UInt32 { +public extension AnimationFrameProvider { + @inlinable func requestAnimationFrame(callback: @escaping FrameRequestCallback) -> UInt32 { let this = jsObject - return this[Strings.requestAnimationFrame].function!(this: this, arguments: [_toJSValue(callback)]) - .fromJSValue()! + return this[Strings.requestAnimationFrame].function!(this: this, arguments: [_toJSValue(callback)]).fromJSValue()! } - @inlinable public func cancelAnimationFrame(handle: UInt32) { + @inlinable func cancelAnimationFrame(handle: UInt32) { let this = jsObject _ = this[Strings.cancelAnimationFrame].function!(this: this, arguments: [_toJSValue(handle)]) } } + public enum AppendMode: JSString, JSValueCompatible { case segments = "segments" case sequence = "sequence" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -open class AssignedNodesOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(flatten: Bool? = nil) { +public class AssignedNodesOptions: BridgedDictionary { + public convenience init(flatten: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.flatten] = _toJSValue(flatten) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var flatten: Bool { - get { jsObject[Strings.flatten].fromJSValue()! } - set { jsObject[Strings.flatten] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _flatten = ReadWriteAttribute(jsObject: object, name: Strings.flatten) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var flatten: Bool? } + public class Attr: Node { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Attr].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Attr].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _namespaceURI = ReadonlyAttribute(jsObject: jsObject, name: Strings.namespaceURI) + _prefix = ReadonlyAttribute(jsObject: jsObject, name: Strings.prefix) + _localName = ReadonlyAttribute(jsObject: jsObject, name: Strings.localName) + _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + _ownerElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.ownerElement) + _specified = ReadonlyAttribute(jsObject: jsObject, name: Strings.specified) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var namespaceURI: String? { jsObject[Strings.namespaceURI].fromJSValue() } + @ReadonlyAttribute + public var namespaceURI: String? - @inlinable public var prefix: String? { jsObject[Strings.prefix].fromJSValue() } + @ReadonlyAttribute + public var prefix: String? - @inlinable public var localName: String { jsObject[Strings.localName].fromJSValue()! } + @ReadonlyAttribute + public var localName: String - @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } + @ReadonlyAttribute + public var name: String - @inlinable public var value: String { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var value: String - @inlinable public var ownerElement: Element? { jsObject[Strings.ownerElement].fromJSValue() } + @ReadonlyAttribute + public var ownerElement: Element? - @inlinable public var specified: Bool { jsObject[Strings.specified].fromJSValue()! } + @ReadonlyAttribute + public var specified: Bool } public class AudioData: JSBridgedClass { @@ -465,94 +490,92 @@ public class AudioData: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _format = ReadonlyAttribute(jsObject: jsObject, name: Strings.format) + _sampleRate = ReadonlyAttribute(jsObject: jsObject, name: Strings.sampleRate) + _numberOfFrames = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfFrames) + _numberOfChannels = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfChannels) + _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) + _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) + self.jsObject = jsObject + } - @inlinable public convenience init(`init`: AudioDataInit) { + @inlinable public convenience init(init: AudioDataInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public var format: AudioSampleFormat? { jsObject[Strings.format].fromJSValue() } + @ReadonlyAttribute + public var format: AudioSampleFormat? - @inlinable public var sampleRate: Float { jsObject[Strings.sampleRate].fromJSValue()! } + @ReadonlyAttribute + public var sampleRate: Float - @inlinable public var numberOfFrames: UInt32 { jsObject[Strings.numberOfFrames].fromJSValue()! } + @ReadonlyAttribute + public var numberOfFrames: UInt32 - @inlinable public var numberOfChannels: UInt32 { jsObject[Strings.numberOfChannels].fromJSValue()! } + @ReadonlyAttribute + public var numberOfChannels: UInt32 - @inlinable public var duration: UInt64 { jsObject[Strings.duration].fromJSValue()! } + @ReadonlyAttribute + public var duration: UInt64 - @inlinable public var timestamp: Int64 { jsObject[Strings.timestamp].fromJSValue()! } + @ReadonlyAttribute + public var timestamp: Int64 - @inlinable final public func allocationSize(options: AudioDataCopyToOptions) -> UInt32 { + @inlinable public func allocationSize(options: AudioDataCopyToOptions) -> UInt32 { let this = jsObject return this[Strings.allocationSize].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable final public func copyTo(destination: AllowSharedBufferSource, options: AudioDataCopyToOptions) { + @inlinable public func copyTo(destination: AllowSharedBufferSource, options: AudioDataCopyToOptions) { let this = jsObject _ = this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]) } - @inlinable final public func clone() -> AudioData { + @inlinable public func clone() -> Self { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } } -open class AudioDataCopyToOptions: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - planeIndex: UInt32, - frameOffset: UInt32? = nil, - frameCount: UInt32? = nil, - format: AudioSampleFormat? = nil - ) { +public class AudioDataCopyToOptions: BridgedDictionary { + public convenience init(planeIndex: UInt32, frameOffset: UInt32, frameCount: UInt32, format: AudioSampleFormat) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.planeIndex] = _toJSValue(planeIndex) object[Strings.frameOffset] = _toJSValue(frameOffset) object[Strings.frameCount] = _toJSValue(frameCount) object[Strings.format] = _toJSValue(format) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var planeIndex: UInt32 { - get { jsObject[Strings.planeIndex].fromJSValue()! } - set { jsObject[Strings.planeIndex] = _toJSValue(newValue) } - } - @inlinable public var frameOffset: UInt32 { - get { jsObject[Strings.frameOffset].fromJSValue()! } - set { jsObject[Strings.frameOffset] = _toJSValue(newValue) } - } - @inlinable public var frameCount: UInt32 { - get { jsObject[Strings.frameCount].fromJSValue()! } - set { jsObject[Strings.frameCount] = _toJSValue(newValue) } - } - @inlinable public var format: AudioSampleFormat { - get { jsObject[Strings.format].fromJSValue()! } - set { jsObject[Strings.format] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _planeIndex = ReadWriteAttribute(jsObject: object, name: Strings.planeIndex) + _frameOffset = ReadWriteAttribute(jsObject: object, name: Strings.frameOffset) + _frameCount = ReadWriteAttribute(jsObject: object, name: Strings.frameCount) + _format = ReadWriteAttribute(jsObject: object, name: Strings.format) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var planeIndex: UInt32 + + @ReadWriteAttribute + public var frameOffset: UInt32? + + @ReadWriteAttribute + public var frameCount: UInt32? + + @ReadWriteAttribute + public var format: AudioSampleFormat? } -open class AudioDataInit: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - format: AudioSampleFormat, - sampleRate: Float, - numberOfFrames: UInt32, - numberOfChannels: UInt32, - timestamp: Int64, - data: BufferSource, - transfer: [ArrayBuffer]? = nil - ) { +public class AudioDataInit: BridgedDictionary { + public convenience init(format: AudioSampleFormat, sampleRate: Float, numberOfFrames: UInt32, numberOfChannels: UInt32, timestamp: Int64, data: BufferSource, transfer: [ArrayBuffer]) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.format] = _toJSValue(format) object[Strings.sampleRate] = _toJSValue(sampleRate) @@ -561,99 +584,93 @@ open class AudioDataInit: JSDictionaryCompatible { object[Strings.timestamp] = _toJSValue(timestamp) object[Strings.data] = _toJSValue(data) object[Strings.transfer] = _toJSValue(transfer) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var format: AudioSampleFormat { - get { jsObject[Strings.format].fromJSValue()! } - set { jsObject[Strings.format] = _toJSValue(newValue) } - } - @inlinable public var sampleRate: Float { - get { jsObject[Strings.sampleRate].fromJSValue()! } - set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } - } - @inlinable public var numberOfFrames: UInt32 { - get { jsObject[Strings.numberOfFrames].fromJSValue()! } - set { jsObject[Strings.numberOfFrames] = _toJSValue(newValue) } - } - @inlinable public var numberOfChannels: UInt32 { - get { jsObject[Strings.numberOfChannels].fromJSValue()! } - set { jsObject[Strings.numberOfChannels] = _toJSValue(newValue) } - } - @inlinable public var timestamp: Int64 { - get { jsObject[Strings.timestamp].fromJSValue()! } - set { jsObject[Strings.timestamp] = _toJSValue(newValue) } - } - @inlinable public var data: BufferSource { - get { jsObject[Strings.data].fromJSValue()! } - set { jsObject[Strings.data] = _toJSValue(newValue) } - } - @inlinable public var transfer: [ArrayBuffer] { - get { jsObject[Strings.transfer].fromJSValue()! } - set { jsObject[Strings.transfer] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _format = ReadWriteAttribute(jsObject: object, name: Strings.format) + _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) + _numberOfFrames = ReadWriteAttribute(jsObject: object, name: Strings.numberOfFrames) + _numberOfChannels = ReadWriteAttribute(jsObject: object, name: Strings.numberOfChannels) + _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) + _data = ReadWriteAttribute(jsObject: object, name: Strings.data) + _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var format: AudioSampleFormat + + @ReadWriteAttribute + public var sampleRate: Float + + @ReadWriteAttribute + public var numberOfFrames: UInt32 + + @ReadWriteAttribute + public var numberOfChannels: UInt32 + + @ReadWriteAttribute + public var timestamp: Int64 + + @ReadWriteAttribute + public var data: BufferSource + + @ReadWriteAttribute + public var transfer: [ArrayBuffer]? } + public class AudioDecoder: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioDecoder].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioDecoder].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) + _decodeQueueSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.decodeQueueSize) + _ondequeue = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondequeue) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init(`init`: AudioDecoderInit) { + @inlinable public convenience init(init: AudioDecoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public var state: CodecState { jsObject[Strings.state].fromJSValue()! } + @ReadonlyAttribute + public var state: CodecState - @inlinable public var decodeQueueSize: UInt32 { jsObject[Strings.decodeQueueSize].fromJSValue()! } + @ReadonlyAttribute + public var decodeQueueSize: UInt32 - @inlinable public var ondequeue: EventHandler { - get { - guard let function = jsObject[Strings.ondequeue].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondequeue] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondequeue] = .null - } - } - } + @ClosureAttribute1Optional + public var ondequeue: EventHandler - @inlinable final public func configure(config: AudioDecoderConfig) { + @inlinable public func configure(config: AudioDecoderConfig) { let this = jsObject _ = this[Strings.configure].function!(this: this, arguments: [_toJSValue(config)]) } - @inlinable final public func decode(chunk: EncodedAudioChunk) { + @inlinable public func decode(chunk: EncodedAudioChunk) { let this = jsObject _ = this[Strings.decode].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable final public func flush() -> JSPromise { + @inlinable public func flush() -> JSPromise { let this = jsObject return this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func flush() - async throws(JSException) - { - let this = jsObject - let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func flush() async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func reset() { + @inlinable public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -663,177 +680,138 @@ public class AudioDecoder: EventTarget { return this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isConfigSupported( - config: AudioDecoderConfig - ) async throws(JSException) -> AudioDecoderSupport { - let this = constructor! - let _promise: JSPromise = this[Strings.isConfigSupported].function!( - this: this, - arguments: [_toJSValue(config)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public class func isConfigSupported(config: AudioDecoderConfig) async throws -> AudioDecoderSupport { + let this = constructor! + let _promise: JSPromise = this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } } -open class AudioDecoderConfig: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - codec: String, - sampleRate: UInt32, - numberOfChannels: UInt32, - description: BufferSource? = nil - ) { +public class AudioDecoderConfig: BridgedDictionary { + public convenience init(codec: String, sampleRate: UInt32, numberOfChannels: UInt32, description: BufferSource) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.codec] = _toJSValue(codec) object[Strings.sampleRate] = _toJSValue(sampleRate) object[Strings.numberOfChannels] = _toJSValue(numberOfChannels) object[Strings.description] = _toJSValue(description) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var codec: String { - get { jsObject[Strings.codec].fromJSValue()! } - set { jsObject[Strings.codec] = _toJSValue(newValue) } - } - @inlinable public var sampleRate: UInt32 { - get { jsObject[Strings.sampleRate].fromJSValue()! } - set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } - } - @inlinable public var numberOfChannels: UInt32 { - get { jsObject[Strings.numberOfChannels].fromJSValue()! } - set { jsObject[Strings.numberOfChannels] = _toJSValue(newValue) } - } - @inlinable public var description: BufferSource { - get { jsObject[Strings.description].fromJSValue()! } - set { jsObject[Strings.description] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _codec = ReadWriteAttribute(jsObject: object, name: Strings.codec) + _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) + _numberOfChannels = ReadWriteAttribute(jsObject: object, name: Strings.numberOfChannels) + _description = ReadWriteAttribute(jsObject: object, name: Strings.description) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var codec: String + + @ReadWriteAttribute + public var sampleRate: UInt32 + + @ReadWriteAttribute + public var numberOfChannels: UInt32 + + @ReadWriteAttribute + public var description: BufferSource? } -open class AudioDecoderInit: JSDictionaryCompatible { - public let jsObject: JSObject +public class AudioDecoderInit: BridgedDictionary { public convenience init(output: @escaping AudioDataOutputCallback, error: @escaping WebCodecsErrorCallback) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.output] = _toJSValue(output) - object[Strings.error] = _toJSValue(error) - + ClosureAttribute1Void[Strings.output, in: object] = output + ClosureAttribute1Void[Strings.error, in: object] = error self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var output: AudioDataOutputCallback { - get { - let function = jsObject[Strings.output].function! - return { function(_toJSValue($0)) } - } - set { - jsObject[Strings.output] = - JSClosure { - newValue($0[0].fromJSValue()!) - return .undefined - }.jsValue - } - } - @inlinable public var error: WebCodecsErrorCallback { - get { - let function = jsObject[Strings.error].function! - return { function(_toJSValue($0)) } - } - set { - jsObject[Strings.error] = - JSClosure { - newValue($0[0].fromJSValue()!) - return .undefined - }.jsValue - } + public required init(unsafelyWrapping object: JSObject) { + _output = ClosureAttribute1Void(jsObject: object, name: Strings.output) + _error = ClosureAttribute1Void(jsObject: object, name: Strings.error) + super.init(unsafelyWrapping: object) } + + @ClosureAttribute1Void + public var output: AudioDataOutputCallback + + @ClosureAttribute1Void + public var error: WebCodecsErrorCallback } -open class AudioDecoderSupport: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(supported: Bool? = nil, config: AudioDecoderConfig? = nil) { +public class AudioDecoderSupport: BridgedDictionary { + public convenience init(supported: Bool, config: AudioDecoderConfig) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.supported] = _toJSValue(supported) object[Strings.config] = _toJSValue(config) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var supported: Bool { - get { jsObject[Strings.supported].fromJSValue()! } - set { jsObject[Strings.supported] = _toJSValue(newValue) } - } - @inlinable public var config: AudioDecoderConfig { - get { jsObject[Strings.config].fromJSValue()! } - set { jsObject[Strings.config] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _supported = ReadWriteAttribute(jsObject: object, name: Strings.supported) + _config = ReadWriteAttribute(jsObject: object, name: Strings.config) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var supported: Bool? + + @ReadWriteAttribute + public var config: AudioDecoderConfig? } + public class AudioEncoder: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioEncoder].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioEncoder].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) + _encodeQueueSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.encodeQueueSize) + _ondequeue = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondequeue) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init(`init`: AudioEncoderInit) { + @inlinable public convenience init(init: AudioEncoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public var state: CodecState { jsObject[Strings.state].fromJSValue()! } + @ReadonlyAttribute + public var state: CodecState - @inlinable public var encodeQueueSize: UInt32 { jsObject[Strings.encodeQueueSize].fromJSValue()! } + @ReadonlyAttribute + public var encodeQueueSize: UInt32 - @inlinable public var ondequeue: EventHandler { - get { - guard let function = jsObject[Strings.ondequeue].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondequeue] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondequeue] = .null - } - } - } + @ClosureAttribute1Optional + public var ondequeue: EventHandler - @inlinable final public func configure(config: AudioEncoderConfig) { + @inlinable public func configure(config: AudioEncoderConfig) { let this = jsObject _ = this[Strings.configure].function!(this: this, arguments: [_toJSValue(config)]) } - @inlinable final public func encode(data: AudioData) { + @inlinable public func encode(data: AudioData) { let this = jsObject _ = this[Strings.encode].function!(this: this, arguments: [_toJSValue(data)]) } - @inlinable final public func flush() -> JSPromise { + @inlinable public func flush() -> JSPromise { let this = jsObject return this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func flush() - async throws(JSException) - { - let this = jsObject - let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func flush() async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func reset() { + @inlinable public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -843,126 +821,92 @@ public class AudioEncoder: EventTarget { return this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isConfigSupported( - config: AudioEncoderConfig - ) async throws(JSException) -> AudioEncoderSupport { - let this = constructor! - let _promise: JSPromise = this[Strings.isConfigSupported].function!( - this: this, - arguments: [_toJSValue(config)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public class func isConfigSupported(config: AudioEncoderConfig) async throws -> AudioEncoderSupport { + let this = constructor! + let _promise: JSPromise = this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } } -open class AudioEncoderConfig: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - codec: String, - sampleRate: UInt32? = nil, - numberOfChannels: UInt32? = nil, - bitrate: UInt64? = nil, - bitrateMode: BitrateMode? = nil - ) { +public class AudioEncoderConfig: BridgedDictionary { + public convenience init(codec: String, sampleRate: UInt32, numberOfChannels: UInt32, bitrate: UInt64, bitrateMode: BitrateMode) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.codec] = _toJSValue(codec) object[Strings.sampleRate] = _toJSValue(sampleRate) object[Strings.numberOfChannels] = _toJSValue(numberOfChannels) object[Strings.bitrate] = _toJSValue(bitrate) object[Strings.bitrateMode] = _toJSValue(bitrateMode) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var codec: String { - get { jsObject[Strings.codec].fromJSValue()! } - set { jsObject[Strings.codec] = _toJSValue(newValue) } - } - @inlinable public var sampleRate: UInt32 { - get { jsObject[Strings.sampleRate].fromJSValue()! } - set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } - } - @inlinable public var numberOfChannels: UInt32 { - get { jsObject[Strings.numberOfChannels].fromJSValue()! } - set { jsObject[Strings.numberOfChannels] = _toJSValue(newValue) } - } - @inlinable public var bitrate: UInt64 { - get { jsObject[Strings.bitrate].fromJSValue()! } - set { jsObject[Strings.bitrate] = _toJSValue(newValue) } - } - @inlinable public var bitrateMode: BitrateMode { - get { jsObject[Strings.bitrateMode].fromJSValue()! } - set { jsObject[Strings.bitrateMode] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _codec = ReadWriteAttribute(jsObject: object, name: Strings.codec) + _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) + _numberOfChannels = ReadWriteAttribute(jsObject: object, name: Strings.numberOfChannels) + _bitrate = ReadWriteAttribute(jsObject: object, name: Strings.bitrate) + _bitrateMode = ReadWriteAttribute(jsObject: object, name: Strings.bitrateMode) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var codec: String + + @ReadWriteAttribute + public var sampleRate: UInt32? + + @ReadWriteAttribute + public var numberOfChannels: UInt32? + + @ReadWriteAttribute + public var bitrate: UInt64? + + @ReadWriteAttribute + public var bitrateMode: BitrateMode? } -open class AudioEncoderInit: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(output: @escaping EncodedAudioChunkOutputCallback, error: @escaping WebCodecsErrorCallback) - { +public class AudioEncoderInit: BridgedDictionary { + public convenience init(output: @escaping EncodedAudioChunkOutputCallback, error: @escaping WebCodecsErrorCallback) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.output] = _toJSValue(output) - object[Strings.error] = _toJSValue(error) - + ClosureAttribute2Void[Strings.output, in: object] = output + ClosureAttribute1Void[Strings.error, in: object] = error self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var output: EncodedAudioChunkOutputCallback { - get { - let function = jsObject[Strings.output].function! - return { function(_toJSValue($0), _toJSValue($1)) } - } - set { - jsObject[Strings.output] = - JSClosure { - newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!) - return .undefined - }.jsValue - } - } - @inlinable public var error: WebCodecsErrorCallback { - get { - let function = jsObject[Strings.error].function! - return { function(_toJSValue($0)) } - } - set { - jsObject[Strings.error] = - JSClosure { - newValue($0[0].fromJSValue()!) - return .undefined - }.jsValue - } + public required init(unsafelyWrapping object: JSObject) { + _output = ClosureAttribute2Void(jsObject: object, name: Strings.output) + _error = ClosureAttribute1Void(jsObject: object, name: Strings.error) + super.init(unsafelyWrapping: object) } + + @ClosureAttribute2Void + public var output: EncodedAudioChunkOutputCallback + + @ClosureAttribute1Void + public var error: WebCodecsErrorCallback } -open class AudioEncoderSupport: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(supported: Bool? = nil, config: AudioEncoderConfig? = nil) { +public class AudioEncoderSupport: BridgedDictionary { + public convenience init(supported: Bool, config: AudioEncoderConfig) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.supported] = _toJSValue(supported) object[Strings.config] = _toJSValue(config) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var supported: Bool { - get { jsObject[Strings.supported].fromJSValue()! } - set { jsObject[Strings.supported] = _toJSValue(newValue) } - } - @inlinable public var config: AudioEncoderConfig { - get { jsObject[Strings.config].fromJSValue()! } - set { jsObject[Strings.config] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _supported = ReadWriteAttribute(jsObject: object, name: Strings.supported) + _config = ReadWriteAttribute(jsObject: object, name: Strings.config) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var supported: Bool? + + @ReadWriteAttribute + public var config: AudioEncoderConfig? } + public enum AudioSampleFormat: JSString, JSValueCompatible { case u8 = "u8" case s16 = "s16" @@ -974,92 +918,84 @@ public enum AudioSampleFormat: JSString, JSValueCompatible { case f32Planar = "f32-planar" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class AudioTrack: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.AudioTrack].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) + _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) + _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) + _language = ReadonlyAttribute(jsObject: jsObject, name: Strings.language) + _enabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.enabled) + _sourceBuffer = ReadonlyAttribute(jsObject: jsObject, name: Strings.sourceBuffer) + self.jsObject = jsObject + } - @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } + @ReadonlyAttribute + public var id: String - @inlinable public var kind: String { jsObject[Strings.kind].fromJSValue()! } + @ReadonlyAttribute + public var kind: String - @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } + @ReadonlyAttribute + public var label: String - @inlinable public var language: String { jsObject[Strings.language].fromJSValue()! } + @ReadonlyAttribute + public var language: String - @inlinable public var enabled: Bool { - get { jsObject[Strings.enabled].fromJSValue()! } - set { jsObject[Strings.enabled] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var enabled: Bool - @inlinable public var sourceBuffer: SourceBuffer? { jsObject[Strings.sourceBuffer].fromJSValue() } + @ReadonlyAttribute + public var sourceBuffer: SourceBuffer? } public class AudioTrackList: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioTrackList].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioTrackList].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) + _onaddtrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddtrack) + _onremovetrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovetrack) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> AudioTrack { jsObject[key].fromJSValue()! } + @inlinable public subscript(key: Int) -> AudioTrack { + jsObject[key].fromJSValue()! + } - @inlinable final public func getTrackById(id: String) -> AudioTrack? { + @inlinable public func getTrackById(id: String) -> AudioTrack? { let this = jsObject return this[Strings.getTrackById].function!(this: this, arguments: [_toJSValue(id)]).fromJSValue() } - @inlinable public var onchange: EventHandler { - get { - guard let function = jsObject[Strings.onchange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onchange] = .null - } - } - } + @ClosureAttribute1Optional + public var onchange: EventHandler - @inlinable public var onaddtrack: EventHandler { - get { - guard let function = jsObject[Strings.onaddtrack].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onaddtrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onaddtrack] = .null - } - } - } + @ClosureAttribute1Optional + public var onaddtrack: EventHandler - @inlinable public var onremovetrack: EventHandler { - get { - guard let function = jsObject[Strings.onremovetrack].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onremovetrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onremovetrack] = .null - } - } - } + @ClosureAttribute1Optional + public var onremovetrack: EventHandler } public class BarProp: JSBridgedClass { @@ -1067,28 +1003,27 @@ public class BarProp: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _visible = ReadonlyAttribute(jsObject: jsObject, name: Strings.visible) + self.jsObject = jsObject + } - @inlinable public var visible: Bool { jsObject[Strings.visible].fromJSValue()! } + @ReadonlyAttribute + public var visible: Bool } public class BeforeUnloadEvent: Event { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.BeforeUnloadEvent].function - } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.BeforeUnloadEvent].function } - @available(*, unavailable) - override public var returnValue: Bool { - get { !self.returnValueAsString.isEmpty } - set {} + public required init(unsafelyWrapping jsObject: JSObject) { + _returnValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.returnValue) + super.init(unsafelyWrapping: jsObject) } - // renamed because `String` is not compatible with `Bool` - @inlinable public var returnValueAsString: String { - get { self.jsObject[Strings.returnValue].string! } - set { self.jsObject[Strings.returnValue] = .string(newValue) } + @usableFromInline let _returnValue: ReadWriteAttribute + @inlinable override public var returnValue: String { + get { _returnValue.wrappedValue } + set { _returnValue.wrappedValue = newValue } } } @@ -1097,282 +1032,257 @@ public enum BitrateMode: JSString, JSValueCompatible { case variable = "variable" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class Blob: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Blob].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + self.jsObject = jsObject + } @inlinable public convenience init(blobParts: [BlobPart]? = nil, options: BlobPropertyBag? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(blobParts), _toJSValue(options)])) } - @inlinable public var size: UInt64 { jsObject[Strings.size].fromJSValue()! } + @ReadonlyAttribute + public var size: UInt64 - @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } + @ReadonlyAttribute + public var type: String - @inlinable final public func slice(start: Int64? = nil, end: Int64? = nil, contentType: String? = nil) -> Blob { + @inlinable public func slice(start: Int64? = nil, end: Int64? = nil, contentType: String? = nil) -> Self { let this = jsObject - return this[Strings.slice].function!( - this: this, - arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(contentType)] - ).fromJSValue()! + return this[Strings.slice].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(contentType)]).fromJSValue()! } - @inlinable final public func stream() -> ReadableStream { + @inlinable public func stream() -> ReadableStream { let this = jsObject return this[Strings.stream].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func text() -> JSPromise { + @inlinable public func text() -> JSPromise { let this = jsObject return this[Strings.text].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func text() - async throws(JSException) -> String - { - let this = jsObject - let _promise: JSPromise = this[Strings.text].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func text() async throws -> String { + let this = jsObject + let _promise: JSPromise = this[Strings.text].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func arrayBuffer() -> JSPromise { + @inlinable public func arrayBuffer() -> JSPromise { let this = jsObject return this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func arrayBuffer() - async throws(JSException) -> ArrayBuffer - { - let this = jsObject - let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func arrayBuffer() async throws -> ArrayBuffer { + let this = jsObject + let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } } public class BlobEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.BlobEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.BlobEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) + _timecode = ReadonlyAttribute(jsObject: jsObject, name: Strings.timecode) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: BlobEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var data: Blob { jsObject[Strings.data].fromJSValue()! } + @ReadonlyAttribute + public var data: Blob - @inlinable public var timecode: DOMHighResTimeStamp { jsObject[Strings.timecode].fromJSValue()! } + @ReadonlyAttribute + public var timecode: DOMHighResTimeStamp } -open class BlobEventInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(data: Blob, timecode: DOMHighResTimeStamp? = nil) { +public class BlobEventInit: BridgedDictionary { + public convenience init(data: Blob, timecode: DOMHighResTimeStamp) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.data] = _toJSValue(data) object[Strings.timecode] = _toJSValue(timecode) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var data: Blob { - get { jsObject[Strings.data].fromJSValue()! } - set { jsObject[Strings.data] = _toJSValue(newValue) } - } - @inlinable public var timecode: DOMHighResTimeStamp { - get { jsObject[Strings.timecode].fromJSValue()! } - set { jsObject[Strings.timecode] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _data = ReadWriteAttribute(jsObject: object, name: Strings.data) + _timecode = ReadWriteAttribute(jsObject: object, name: Strings.timecode) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var data: Blob + + @ReadWriteAttribute + public var timecode: DOMHighResTimeStamp? } -open class BlobPropertyBag: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(type: String? = nil, endings: EndingType? = nil) { +public class BlobPropertyBag: BridgedDictionary { + public convenience init(type: String, endings: EndingType) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.endings] = _toJSValue(endings) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } - @inlinable public var endings: EndingType { - get { jsObject[Strings.endings].fromJSValue()! } - set { jsObject[Strings.endings] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _type = ReadWriteAttribute(jsObject: object, name: Strings.type) + _endings = ReadWriteAttribute(jsObject: object, name: Strings.endings) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var type: String? + + @ReadWriteAttribute + public var endings: EndingType? } + public protocol Body: JSBridgedClass {} -extension Body { - @inlinable public var body: ReadableStream? { jsObject[Strings.body].fromJSValue() } +public extension Body { + @inlinable var body: ReadableStream? { jsObject[Strings.body].fromJSValue() } - @inlinable public var bodyUsed: Bool { jsObject[Strings.bodyUsed].fromJSValue()! } + @inlinable var bodyUsed: Bool { jsObject[Strings.bodyUsed].fromJSValue()! } - @inlinable public func arrayBuffer() -> JSPromise { + @inlinable func arrayBuffer() -> JSPromise { let this = jsObject return this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func arrayBuffer() - async throws(JSException) -> ArrayBuffer - { - let this = jsObject - let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable func arrayBuffer() async throws -> ArrayBuffer { + let this = jsObject + let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable public func blob() -> JSPromise { + @inlinable func blob() -> JSPromise { let this = jsObject return this[Strings.blob].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func blob() - async throws(JSException) -> Blob - { - let this = jsObject - let _promise: JSPromise = this[Strings.blob].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable func blob() async throws -> Blob { + let this = jsObject + let _promise: JSPromise = this[Strings.blob].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable public func formData() -> JSPromise { + @inlinable func formData() -> JSPromise { let this = jsObject return this[Strings.formData].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func formData() - async throws(JSException) -> FormData - { - let this = jsObject - let _promise: JSPromise = this[Strings.formData].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable func formData() async throws -> FormData { + let this = jsObject + let _promise: JSPromise = this[Strings.formData].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable public func json() -> JSPromise { + @inlinable func json() -> JSPromise { let this = jsObject return this[Strings.json].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func json() - async throws(JSException) -> JSValue - { - let this = jsObject - let _promise: JSPromise = this[Strings.json].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable func json() async throws -> JSValue { + let this = jsObject + let _promise: JSPromise = this[Strings.json].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable public func text() -> JSPromise { + @inlinable func text() -> JSPromise { let this = jsObject return this[Strings.text].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func text() - async throws(JSException) -> String - { - let this = jsObject - let _promise: JSPromise = this[Strings.text].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable func text() async throws -> String { + let this = jsObject + let _promise: JSPromise = this[Strings.text].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } } -open class BoxQuadOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(box: CSSBoxType? = nil, relativeTo: GeometryNode? = nil) { +public class BoxQuadOptions: BridgedDictionary { + public convenience init(box: CSSBoxType, relativeTo: GeometryNode) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.box] = _toJSValue(box) object[Strings.relativeTo] = _toJSValue(relativeTo) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var box: CSSBoxType { - get { jsObject[Strings.box].fromJSValue()! } - set { jsObject[Strings.box] = _toJSValue(newValue) } - } - @inlinable public var relativeTo: GeometryNode { - get { jsObject[Strings.relativeTo].fromJSValue()! } - set { jsObject[Strings.relativeTo] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _box = ReadWriteAttribute(jsObject: object, name: Strings.box) + _relativeTo = ReadWriteAttribute(jsObject: object, name: Strings.relativeTo) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var box: CSSBoxType? + + @ReadWriteAttribute + public var relativeTo: GeometryNode? } + public class BroadcastChannel: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.BroadcastChannel].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.BroadcastChannel].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) + _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) + _onmessageerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessageerror) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(name: String) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(name)])) } - @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } + @ReadonlyAttribute + public var name: String - @inlinable final public func postMessage(message: JSValue) { + @inlinable public func postMessage(message: JSValue) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message)]) } - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @inlinable public var onmessage: EventHandler { - get { - guard let function = jsObject[Strings.onmessage].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmessage] = .null - } - } - } + @ClosureAttribute1Optional + public var onmessage: EventHandler - @inlinable public var onmessageerror: EventHandler { - get { - guard let function = jsObject[Strings.onmessageerror].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmessageerror] = .null - } - } - } + @ClosureAttribute1Optional + public var onmessageerror: EventHandler } public class ByteLengthQueuingStrategy: JSBridgedClass { @@ -1380,22 +1290,29 @@ public class ByteLengthQueuingStrategy: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _highWaterMark = ReadonlyAttribute(jsObject: jsObject, name: Strings.highWaterMark) + _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) + self.jsObject = jsObject + } - @inlinable public convenience init(`init`: QueuingStrategyInit) { + @inlinable public convenience init(init: QueuingStrategyInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public var highWaterMark: Double { jsObject[Strings.highWaterMark].fromJSValue()! } + @ReadonlyAttribute + public var highWaterMark: Double - @inlinable public var size: JSFunction { jsObject[Strings.size].fromJSValue()! } + @ReadonlyAttribute + public var size: JSFunction } public class CDATASection: Text { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CDATASection].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CDATASection].function } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } } public enum CSSBoxType: JSString, JSValueCompatible { @@ -1405,26 +1322,39 @@ public enum CSSBoxType: JSString, JSValueCompatible { case content = "content" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class CSSPseudoElement: EventTarget, GeometryUtils { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSPseudoElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSPseudoElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + _element = ReadonlyAttribute(jsObject: jsObject, name: Strings.element) + _parent = ReadonlyAttribute(jsObject: jsObject, name: Strings.parent) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } + @ReadonlyAttribute + public var type: String - @inlinable public var element: Element { jsObject[Strings.element].fromJSValue()! } + @ReadonlyAttribute + public var element: Element - @inlinable public var parent: CSSPseudoElement_or_Element { jsObject[Strings.parent].fromJSValue()! } + @ReadonlyAttribute + public var parent: CSSPseudoElement_or_Element - @inlinable final public func pseudo(type: String) -> CSSPseudoElement? { + @inlinable public func pseudo(type: String) -> CSSPseudoElement? { let this = jsObject return this[Strings.pseudo].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue() } @@ -1435,507 +1365,412 @@ public class Cache: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable final public func match(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable public func match(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) - .fromJSValue()! + return this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func match( - request: RequestInfo, - options: CacheQueryOptions? = nil - ) async throws(JSException) -> Response? { - let this = jsObject - let _promise: JSPromise = this[Strings.match].function!( - this: this, - arguments: [_toJSValue(request), _toJSValue(options)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func match(request: RequestInfo, options: CacheQueryOptions? = nil) async throws -> Response? { + let this = jsObject + let _promise: JSPromise = this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func matchAll(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable public func matchAll(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.matchAll].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) - .fromJSValue()! + return this[Strings.matchAll].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func matchAll( - request: RequestInfo? = nil, - options: CacheQueryOptions? = nil - ) async throws(JSException) -> [Response] { - let this = jsObject - let _promise: JSPromise = this[Strings.matchAll].function!( - this: this, - arguments: [_toJSValue(request), _toJSValue(options)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func matchAll(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) async throws -> [Response] { + let this = jsObject + let _promise: JSPromise = this[Strings.matchAll].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func add(request: RequestInfo) -> JSPromise { + @inlinable public func add(request: RequestInfo) -> JSPromise { let this = jsObject return this[Strings.add].function!(this: this, arguments: [_toJSValue(request)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func add( - request: RequestInfo - ) async throws(JSException) { - let this = jsObject - let _promise: JSPromise = this[Strings.add].function!(this: this, arguments: [_toJSValue(request)]) - .fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func add(request: RequestInfo) async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.add].function!(this: this, arguments: [_toJSValue(request)]).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func addAll(requests: [RequestInfo]) -> JSPromise { + @inlinable public func addAll(requests: [RequestInfo]) -> JSPromise { let this = jsObject return this[Strings.addAll].function!(this: this, arguments: [_toJSValue(requests)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func addAll( - requests: [RequestInfo] - ) async throws(JSException) { - let this = jsObject - let _promise: JSPromise = this[Strings.addAll].function!(this: this, arguments: [_toJSValue(requests)]) - .fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func addAll(requests: [RequestInfo]) async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.addAll].function!(this: this, arguments: [_toJSValue(requests)]).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func put(request: RequestInfo, response: Response) -> JSPromise { + @inlinable public func put(request: RequestInfo, response: Response) -> JSPromise { let this = jsObject - return this[Strings.put].function!(this: this, arguments: [_toJSValue(request), _toJSValue(response)]) - .fromJSValue()! + return this[Strings.put].function!(this: this, arguments: [_toJSValue(request), _toJSValue(response)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func put( - request: RequestInfo, - response: Response - ) async throws(JSException) { - let this = jsObject - let _promise: JSPromise = this[Strings.put].function!( - this: this, - arguments: [_toJSValue(request), _toJSValue(response)] - ).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func put(request: RequestInfo, response: Response) async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.put].function!(this: this, arguments: [_toJSValue(request), _toJSValue(response)]).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func delete(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable public func delete(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.delete].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) - .fromJSValue()! + return this[Strings.delete].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func delete( - request: RequestInfo, - options: CacheQueryOptions? = nil - ) async throws(JSException) -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.delete].function!( - this: this, - arguments: [_toJSValue(request), _toJSValue(options)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func delete(request: RequestInfo, options: CacheQueryOptions? = nil) async throws -> Bool { + let this = jsObject + let _promise: JSPromise = this[Strings.delete].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func keys(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable public func keys(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.keys].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) - .fromJSValue()! + return this[Strings.keys].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func keys( - request: RequestInfo? = nil, - options: CacheQueryOptions? = nil - ) async throws(JSException) -> [Request] { - let this = jsObject - let _promise: JSPromise = this[Strings.keys].function!( - this: this, - arguments: [_toJSValue(request), _toJSValue(options)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func keys(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) async throws -> [Request] { + let this = jsObject + let _promise: JSPromise = this[Strings.keys].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } } -open class CacheQueryOptions: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(ignoreSearch: Bool? = nil, ignoreMethod: Bool? = nil, ignoreVary: Bool? = nil) { +public class CacheQueryOptions: BridgedDictionary { + public convenience init(ignoreSearch: Bool, ignoreMethod: Bool, ignoreVary: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.ignoreSearch] = _toJSValue(ignoreSearch) object[Strings.ignoreMethod] = _toJSValue(ignoreMethod) object[Strings.ignoreVary] = _toJSValue(ignoreVary) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var ignoreSearch: Bool { - get { jsObject[Strings.ignoreSearch].fromJSValue()! } - set { jsObject[Strings.ignoreSearch] = _toJSValue(newValue) } - } - @inlinable public var ignoreMethod: Bool { - get { jsObject[Strings.ignoreMethod].fromJSValue()! } - set { jsObject[Strings.ignoreMethod] = _toJSValue(newValue) } - } - @inlinable public var ignoreVary: Bool { - get { jsObject[Strings.ignoreVary].fromJSValue()! } - set { jsObject[Strings.ignoreVary] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _ignoreSearch = ReadWriteAttribute(jsObject: object, name: Strings.ignoreSearch) + _ignoreMethod = ReadWriteAttribute(jsObject: object, name: Strings.ignoreMethod) + _ignoreVary = ReadWriteAttribute(jsObject: object, name: Strings.ignoreVary) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var ignoreSearch: Bool? + + @ReadWriteAttribute + public var ignoreMethod: Bool? + + @ReadWriteAttribute + public var ignoreVary: Bool? } + public class CacheStorage: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CacheStorage].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable final public func match(request: RequestInfo, options: MultiCacheQueryOptions? = nil) -> JSPromise { + @inlinable public func match(request: RequestInfo, options: MultiCacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) - .fromJSValue()! + return this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func match( - request: RequestInfo, - options: MultiCacheQueryOptions? = nil - ) async throws(JSException) -> Response? { - let this = jsObject - let _promise: JSPromise = this[Strings.match].function!( - this: this, - arguments: [_toJSValue(request), _toJSValue(options)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func match(request: RequestInfo, options: MultiCacheQueryOptions? = nil) async throws -> Response? { + let this = jsObject + let _promise: JSPromise = this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func has(cacheName: String) -> JSPromise { + @inlinable public func has(cacheName: String) -> JSPromise { let this = jsObject return this[Strings.has].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func has( - cacheName: String - ) async throws(JSException) -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.has].function!(this: this, arguments: [_toJSValue(cacheName)]) - .fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func has(cacheName: String) async throws -> Bool { + let this = jsObject + let _promise: JSPromise = this[Strings.has].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func open(cacheName: String) -> JSPromise { + @inlinable public func open(cacheName: String) -> JSPromise { let this = jsObject return this[Strings.open].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func open( - cacheName: String - ) async throws(JSException) -> Cache { - let this = jsObject - let _promise: JSPromise = this[Strings.open].function!(this: this, arguments: [_toJSValue(cacheName)]) - .fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func open(cacheName: String) async throws -> Cache { + let this = jsObject + let _promise: JSPromise = this[Strings.open].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func delete(cacheName: String) -> JSPromise { + @inlinable public func delete(cacheName: String) -> JSPromise { let this = jsObject return this[Strings.delete].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func delete( - cacheName: String - ) async throws(JSException) -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.delete].function!(this: this, arguments: [_toJSValue(cacheName)]) - .fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func delete(cacheName: String) async throws -> Bool { + let this = jsObject + let _promise: JSPromise = this[Strings.delete].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func keys() -> JSPromise { + @inlinable public func keys() -> JSPromise { let this = jsObject return this[Strings.keys].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func keys() - async throws(JSException) -> [String] - { - let this = jsObject - let _promise: JSPromise = this[Strings.keys].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func keys() async throws -> [String] { + let this = jsObject + let _promise: JSPromise = this[Strings.keys].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } } -open class CameraDevicePermissionDescriptor: DevicePermissionDescriptor { - - public convenience init(deviceId: String? = nil, panTiltZoom: Bool? = nil) { +public class CameraDevicePermissionDescriptor: BridgedDictionary { + public convenience init(panTiltZoom: Bool) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.panTiltZoom] = _toJSValue(panTiltZoom) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var panTiltZoom: Bool { - get { jsObject[Strings.panTiltZoom].fromJSValue()! } - set { jsObject[Strings.panTiltZoom] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _panTiltZoom = ReadWriteAttribute(jsObject: object, name: Strings.panTiltZoom) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var panTiltZoom: Bool? } + public enum CanPlayTypeResult: JSString, JSValueCompatible { case _empty = "" case maybe = "maybe" case probably = "probably" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public protocol CanvasCompositing: JSBridgedClass {} -extension CanvasCompositing { - @inlinable public var globalAlpha: Double { +public extension CanvasCompositing { + @inlinable var globalAlpha: Double { get { jsObject[Strings.globalAlpha].fromJSValue()! } - set { jsObject[Strings.globalAlpha] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.globalAlpha] = _toJSValue(newValue) } } - @inlinable public var globalCompositeOperation: String { + @inlinable var globalCompositeOperation: String { get { jsObject[Strings.globalCompositeOperation].fromJSValue()! } - set { jsObject[Strings.globalCompositeOperation] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.globalCompositeOperation] = _toJSValue(newValue) } } } + public enum CanvasDirection: JSString, JSValueCompatible { case ltr = "ltr" case rtl = "rtl" case inherit = "inherit" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public protocol CanvasDrawImage: JSBridgedClass {} -extension CanvasDrawImage { - @inlinable public func drawImage(image: CanvasImageSource, dx: Double, dy: Double) { +public extension CanvasDrawImage { + @inlinable func drawImage(image: CanvasImageSource, dx: Double, dy: Double) { let this = jsObject - _ = this[Strings.drawImage].function!( - this: this, - arguments: [_toJSValue(image), _toJSValue(dx), _toJSValue(dy)] - ) + _ = this[Strings.drawImage].function!(this: this, arguments: [_toJSValue(image), _toJSValue(dx), _toJSValue(dy)]) } - @inlinable public func drawImage(image: CanvasImageSource, dx: Double, dy: Double, dw: Double, dh: Double) { + @inlinable func drawImage(image: CanvasImageSource, dx: Double, dy: Double, dw: Double, dh: Double) { let this = jsObject - _ = this[Strings.drawImage].function!( - this: this, - arguments: [_toJSValue(image), _toJSValue(dx), _toJSValue(dy), _toJSValue(dw), _toJSValue(dh)] - ) + _ = this[Strings.drawImage].function!(this: this, arguments: [_toJSValue(image), _toJSValue(dx), _toJSValue(dy), _toJSValue(dw), _toJSValue(dh)]) } - @inlinable public func drawImage( - image: CanvasImageSource, - sx: Double, - sy: Double, - sw: Double, - sh: Double, - dx: Double, - dy: Double, - dw: Double, - dh: Double - ) { + @inlinable func drawImage(image: CanvasImageSource, sx: Double, sy: Double, sw: Double, sh: Double, dx: Double, dy: Double, dw: Double, dh: Double) { let this = jsObject - _ = this[Strings.drawImage].function!( - this: this, - arguments: [ - _toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(dx), - _toJSValue(dy), _toJSValue(dw), _toJSValue(dh), - ] - ) + _ = this[Strings.drawImage].function!(this: this, arguments: [_toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(dx), _toJSValue(dy), _toJSValue(dw), _toJSValue(dh)]) } } + public protocol CanvasDrawPath: JSBridgedClass {} -extension CanvasDrawPath { - @inlinable public func beginPath() { +public extension CanvasDrawPath { + @inlinable func beginPath() { let this = jsObject _ = this[Strings.beginPath].function!(this: this, arguments: []) } - @inlinable public func fill(fillRule: CanvasFillRule? = nil) { + @inlinable func fill(fillRule: CanvasFillRule? = nil) { let this = jsObject _ = this[Strings.fill].function!(this: this, arguments: [_toJSValue(fillRule)]) } - @inlinable public func fill(path: Path2D, fillRule: CanvasFillRule? = nil) { + @inlinable func fill(path: Path2D, fillRule: CanvasFillRule? = nil) { let this = jsObject _ = this[Strings.fill].function!(this: this, arguments: [_toJSValue(path), _toJSValue(fillRule)]) } - @inlinable public func stroke() { + @inlinable func stroke() { let this = jsObject _ = this[Strings.stroke].function!(this: this, arguments: []) } - @inlinable public func stroke(path: Path2D) { + @inlinable func stroke(path: Path2D) { let this = jsObject _ = this[Strings.stroke].function!(this: this, arguments: [_toJSValue(path)]) } - @inlinable public func clip(fillRule: CanvasFillRule? = nil) { + @inlinable func clip(fillRule: CanvasFillRule? = nil) { let this = jsObject _ = this[Strings.clip].function!(this: this, arguments: [_toJSValue(fillRule)]) } - @inlinable public func clip(path: Path2D, fillRule: CanvasFillRule? = nil) { + @inlinable func clip(path: Path2D, fillRule: CanvasFillRule? = nil) { let this = jsObject _ = this[Strings.clip].function!(this: this, arguments: [_toJSValue(path), _toJSValue(fillRule)]) } - @inlinable public func isPointInPath(x: Double, y: Double, fillRule: CanvasFillRule? = nil) -> Bool { + @inlinable func isPointInPath(x: Double, y: Double, fillRule: CanvasFillRule? = nil) -> Bool { let this = jsObject - return this[Strings.isPointInPath].function!( - this: this, - arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(fillRule)] - ).fromJSValue()! + return this[Strings.isPointInPath].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(fillRule)]).fromJSValue()! } - @inlinable public func isPointInPath(path: Path2D, x: Double, y: Double, fillRule: CanvasFillRule? = nil) -> Bool { + @inlinable func isPointInPath(path: Path2D, x: Double, y: Double, fillRule: CanvasFillRule? = nil) -> Bool { let this = jsObject - return this[Strings.isPointInPath].function!( - this: this, - arguments: [_toJSValue(path), _toJSValue(x), _toJSValue(y), _toJSValue(fillRule)] - ).fromJSValue()! + return this[Strings.isPointInPath].function!(this: this, arguments: [_toJSValue(path), _toJSValue(x), _toJSValue(y), _toJSValue(fillRule)]).fromJSValue()! } - @inlinable public func isPointInStroke(x: Double, y: Double) -> Bool { + @inlinable func isPointInStroke(x: Double, y: Double) -> Bool { let this = jsObject - return this[Strings.isPointInStroke].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) - .fromJSValue()! + return this[Strings.isPointInStroke].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue()! } - @inlinable public func isPointInStroke(path: Path2D, x: Double, y: Double) -> Bool { + @inlinable func isPointInStroke(path: Path2D, x: Double, y: Double) -> Bool { let this = jsObject - return this[Strings.isPointInStroke].function!( - this: this, - arguments: [_toJSValue(path), _toJSValue(x), _toJSValue(y)] - ).fromJSValue()! + return this[Strings.isPointInStroke].function!(this: this, arguments: [_toJSValue(path), _toJSValue(x), _toJSValue(y)]).fromJSValue()! } } + public enum CanvasFillRule: JSString, JSValueCompatible { case nonzero = "nonzero" case evenodd = "evenodd" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public protocol CanvasFillStrokeStyles: JSBridgedClass {} -extension CanvasFillStrokeStyles { - @inlinable public var strokeStyle: CanvasGradient_or_CanvasPattern_or_String { +public extension CanvasFillStrokeStyles { + @inlinable var strokeStyle: CanvasGradient_or_CanvasPattern_or_String { get { jsObject[Strings.strokeStyle].fromJSValue()! } - set { jsObject[Strings.strokeStyle] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.strokeStyle] = _toJSValue(newValue) } } - @inlinable public var fillStyle: CanvasGradient_or_CanvasPattern_or_String { + @inlinable var fillStyle: CanvasGradient_or_CanvasPattern_or_String { get { jsObject[Strings.fillStyle].fromJSValue()! } - set { jsObject[Strings.fillStyle] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.fillStyle] = _toJSValue(newValue) } } - @inlinable public func createLinearGradient(x0: Double, y0: Double, x1: Double, y1: Double) -> CanvasGradient { + @inlinable func createLinearGradient(x0: Double, y0: Double, x1: Double, y1: Double) -> CanvasGradient { let this = jsObject - return this[Strings.createLinearGradient].function!( - this: this, - arguments: [_toJSValue(x0), _toJSValue(y0), _toJSValue(x1), _toJSValue(y1)] - ).fromJSValue()! + return this[Strings.createLinearGradient].function!(this: this, arguments: [_toJSValue(x0), _toJSValue(y0), _toJSValue(x1), _toJSValue(y1)]).fromJSValue()! } - @inlinable public func createRadialGradient( - x0: Double, - y0: Double, - r0: Double, - x1: Double, - y1: Double, - r1: Double - ) -> CanvasGradient { + @inlinable func createRadialGradient(x0: Double, y0: Double, r0: Double, x1: Double, y1: Double, r1: Double) -> CanvasGradient { let this = jsObject - return this[Strings.createRadialGradient].function!( - this: this, - arguments: [_toJSValue(x0), _toJSValue(y0), _toJSValue(r0), _toJSValue(x1), _toJSValue(y1), _toJSValue(r1)] - ).fromJSValue()! + return this[Strings.createRadialGradient].function!(this: this, arguments: [_toJSValue(x0), _toJSValue(y0), _toJSValue(r0), _toJSValue(x1), _toJSValue(y1), _toJSValue(r1)]).fromJSValue()! } - @inlinable public func createConicGradient(startAngle: Double, x: Double, y: Double) -> CanvasGradient { + @inlinable func createConicGradient(startAngle: Double, x: Double, y: Double) -> CanvasGradient { let this = jsObject - return this[Strings.createConicGradient].function!( - this: this, - arguments: [_toJSValue(startAngle), _toJSValue(x), _toJSValue(y)] - ).fromJSValue()! + return this[Strings.createConicGradient].function!(this: this, arguments: [_toJSValue(startAngle), _toJSValue(x), _toJSValue(y)]).fromJSValue()! } - @inlinable public func createPattern(image: CanvasImageSource, repetition: String) -> CanvasPattern? { + @inlinable func createPattern(image: CanvasImageSource, repetition: String) -> CanvasPattern? { let this = jsObject - return this[Strings.createPattern].function!( - this: this, - arguments: [_toJSValue(image), _toJSValue(repetition)] - ).fromJSValue() + return this[Strings.createPattern].function!(this: this, arguments: [_toJSValue(image), _toJSValue(repetition)]).fromJSValue() } } + public protocol CanvasFilters: JSBridgedClass {} -extension CanvasFilters { - @inlinable public var filter: String { +public extension CanvasFilters { + @inlinable var filter: String { get { jsObject[Strings.filter].fromJSValue()! } - set { jsObject[Strings.filter] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.filter] = _toJSValue(newValue) } } } + public enum CanvasFontKerning: JSString, JSValueCompatible { case auto = "auto" case normal = "normal" case none = "none" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum CanvasFontStretch: JSString, JSValueCompatible { case ultraCondensed = "ultra-condensed" case extraCondensed = "extra-condensed" @@ -1948,14 +1783,19 @@ public enum CanvasFontStretch: JSString, JSValueCompatible { case ultraExpanded = "ultra-expanded" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum CanvasFontVariantCaps: JSString, JSValueCompatible { case normal = "normal" case smallCaps = "small-caps" @@ -1966,425 +1806,351 @@ public enum CanvasFontVariantCaps: JSString, JSValueCompatible { case titlingCaps = "titling-caps" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class CanvasGradient: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CanvasGradient].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable final public func addColorStop(offset: Double, color: String) { + @inlinable public func addColorStop(offset: Double, color: String) { let this = jsObject _ = this[Strings.addColorStop].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(color)]) } } public protocol CanvasImageData: JSBridgedClass {} -extension CanvasImageData { - @inlinable public func createImageData(sw: Int32, sh: Int32, settings: ImageDataSettings? = nil) -> ImageData { +public extension CanvasImageData { + @inlinable func createImageData(sw: Int32, sh: Int32, settings: ImageDataSettings? = nil) -> ImageData { let this = jsObject - return this[Strings.createImageData].function!( - this: this, - arguments: [_toJSValue(sw), _toJSValue(sh), _toJSValue(settings)] - ).fromJSValue()! + return this[Strings.createImageData].function!(this: this, arguments: [_toJSValue(sw), _toJSValue(sh), _toJSValue(settings)]).fromJSValue()! } - @inlinable public func createImageData(imagedata: ImageData) -> ImageData { + @inlinable func createImageData(imagedata: ImageData) -> ImageData { let this = jsObject return this[Strings.createImageData].function!(this: this, arguments: [_toJSValue(imagedata)]).fromJSValue()! } - @inlinable public func getImageData( - sx: Int32, - sy: Int32, - sw: Int32, - sh: Int32, - settings: ImageDataSettings? = nil - ) -> ImageData { + @inlinable func getImageData(sx: Int32, sy: Int32, sw: Int32, sh: Int32, settings: ImageDataSettings? = nil) -> ImageData { let this = jsObject - return this[Strings.getImageData].function!( - this: this, - arguments: [_toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(settings)] - ).fromJSValue()! + return this[Strings.getImageData].function!(this: this, arguments: [_toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(settings)]).fromJSValue()! } - @inlinable public func putImageData(imagedata: ImageData, dx: Int32, dy: Int32) { + @inlinable func putImageData(imagedata: ImageData, dx: Int32, dy: Int32) { let this = jsObject - _ = this[Strings.putImageData].function!( - this: this, - arguments: [_toJSValue(imagedata), _toJSValue(dx), _toJSValue(dy)] - ) + _ = this[Strings.putImageData].function!(this: this, arguments: [_toJSValue(imagedata), _toJSValue(dx), _toJSValue(dy)]) } - @inlinable public func putImageData( - imagedata: ImageData, - dx: Int32, - dy: Int32, - dirtyX: Int32, - dirtyY: Int32, - dirtyWidth: Int32, - dirtyHeight: Int32 - ) { + @inlinable func putImageData(imagedata: ImageData, dx: Int32, dy: Int32, dirtyX: Int32, dirtyY: Int32, dirtyWidth: Int32, dirtyHeight: Int32) { let this = jsObject - _ = this[Strings.putImageData].function!( - this: this, - arguments: [ - _toJSValue(imagedata), _toJSValue(dx), _toJSValue(dy), _toJSValue(dirtyX), _toJSValue(dirtyY), - _toJSValue(dirtyWidth), _toJSValue(dirtyHeight), - ] - ) + _ = this[Strings.putImageData].function!(this: this, arguments: [_toJSValue(imagedata), _toJSValue(dx), _toJSValue(dy), _toJSValue(dirtyX), _toJSValue(dirtyY), _toJSValue(dirtyWidth), _toJSValue(dirtyHeight)]) } } + public protocol CanvasImageSmoothing: JSBridgedClass {} -extension CanvasImageSmoothing { - @inlinable public var imageSmoothingEnabled: Bool { +public extension CanvasImageSmoothing { + @inlinable var imageSmoothingEnabled: Bool { get { jsObject[Strings.imageSmoothingEnabled].fromJSValue()! } - set { jsObject[Strings.imageSmoothingEnabled] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.imageSmoothingEnabled] = _toJSValue(newValue) } } - @inlinable public var imageSmoothingQuality: ImageSmoothingQuality { + @inlinable var imageSmoothingQuality: ImageSmoothingQuality { get { jsObject[Strings.imageSmoothingQuality].fromJSValue()! } - set { jsObject[Strings.imageSmoothingQuality] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.imageSmoothingQuality] = _toJSValue(newValue) } } } + public enum CanvasLineCap: JSString, JSValueCompatible { case butt = "butt" case round = "round" case square = "square" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum CanvasLineJoin: JSString, JSValueCompatible { case round = "round" case bevel = "bevel" case miter = "miter" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public protocol CanvasPath: JSBridgedClass {} -extension CanvasPath { - @inlinable public func closePath() { +public extension CanvasPath { + @inlinable func closePath() { let this = jsObject _ = this[Strings.closePath].function!(this: this, arguments: []) } - @inlinable public func moveTo(x: Double, y: Double) { + @inlinable func moveTo(x: Double, y: Double) { let this = jsObject _ = this[Strings.moveTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func lineTo(x: Double, y: Double) { + @inlinable func lineTo(x: Double, y: Double) { let this = jsObject _ = this[Strings.lineTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func quadraticCurveTo(cpx: Double, cpy: Double, x: Double, y: Double) { + @inlinable func quadraticCurveTo(cpx: Double, cpy: Double, x: Double, y: Double) { let this = jsObject - _ = this[Strings.quadraticCurveTo].function!( - this: this, - arguments: [_toJSValue(cpx), _toJSValue(cpy), _toJSValue(x), _toJSValue(y)] - ) + _ = this[Strings.quadraticCurveTo].function!(this: this, arguments: [_toJSValue(cpx), _toJSValue(cpy), _toJSValue(x), _toJSValue(y)]) } - @inlinable public func bezierCurveTo(cp1x: Double, cp1y: Double, cp2x: Double, cp2y: Double, x: Double, y: Double) { + @inlinable func bezierCurveTo(cp1x: Double, cp1y: Double, cp2x: Double, cp2y: Double, x: Double, y: Double) { let this = jsObject - _ = this[Strings.bezierCurveTo].function!( - this: this, - arguments: [ - _toJSValue(cp1x), _toJSValue(cp1y), _toJSValue(cp2x), _toJSValue(cp2y), _toJSValue(x), _toJSValue(y), - ] - ) + _ = this[Strings.bezierCurveTo].function!(this: this, arguments: [_toJSValue(cp1x), _toJSValue(cp1y), _toJSValue(cp2x), _toJSValue(cp2y), _toJSValue(x), _toJSValue(y)]) } - @inlinable public func arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radius: Double) { + @inlinable func arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radius: Double) { let this = jsObject - _ = this[Strings.arcTo].function!( - this: this, - arguments: [_toJSValue(x1), _toJSValue(y1), _toJSValue(x2), _toJSValue(y2), _toJSValue(radius)] - ) + _ = this[Strings.arcTo].function!(this: this, arguments: [_toJSValue(x1), _toJSValue(y1), _toJSValue(x2), _toJSValue(y2), _toJSValue(radius)]) } - @inlinable public func rect(x: Double, y: Double, w: Double, h: Double) { + @inlinable func rect(x: Double, y: Double, w: Double, h: Double) { let this = jsObject - _ = this[Strings.rect].function!( - this: this, - arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)] - ) + _ = this[Strings.rect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)]) } - @inlinable public func roundRect( - x: Double, - y: Double, - w: Double, - h: Double, - radii: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double? = nil - ) { + @inlinable func roundRect(x: Double, y: Double, w: Double, h: Double, radii: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double? = nil) { let this = jsObject - _ = this[Strings.roundRect].function!( - this: this, - arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h), _toJSValue(radii)] - ) + _ = this[Strings.roundRect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h), _toJSValue(radii)]) } - @inlinable public func arc( - x: Double, - y: Double, - radius: Double, - startAngle: Double, - endAngle: Double, - counterclockwise: Bool? = nil - ) { + @inlinable func arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double, counterclockwise: Bool? = nil) { let this = jsObject - _ = this[Strings.arc].function!( - this: this, - arguments: [ - _toJSValue(x), _toJSValue(y), _toJSValue(radius), _toJSValue(startAngle), _toJSValue(endAngle), - _toJSValue(counterclockwise), - ] - ) + _ = this[Strings.arc].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(radius), _toJSValue(startAngle), _toJSValue(endAngle), _toJSValue(counterclockwise)]) } - @inlinable public func ellipse( - x: Double, - y: Double, - radiusX: Double, - radiusY: Double, - rotation: Double, - startAngle: Double, - endAngle: Double, - counterclockwise: Bool? = nil - ) { + @inlinable func ellipse(x: Double, y: Double, radiusX: Double, radiusY: Double, rotation: Double, startAngle: Double, endAngle: Double, counterclockwise: Bool? = nil) { let this = jsObject - _ = this[Strings.ellipse].function!( - this: this, - arguments: [ - _toJSValue(x), _toJSValue(y), _toJSValue(radiusX), _toJSValue(radiusY), _toJSValue(rotation), - _toJSValue(startAngle), _toJSValue(endAngle), _toJSValue(counterclockwise), - ] - ) + _ = this[Strings.ellipse].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(radiusX), _toJSValue(radiusY), _toJSValue(rotation), _toJSValue(startAngle), _toJSValue(endAngle), _toJSValue(counterclockwise)]) } } + public protocol CanvasPathDrawingStyles: JSBridgedClass {} -extension CanvasPathDrawingStyles { - @inlinable public var lineWidth: Double { +public extension CanvasPathDrawingStyles { + @inlinable var lineWidth: Double { get { jsObject[Strings.lineWidth].fromJSValue()! } - set { jsObject[Strings.lineWidth] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.lineWidth] = _toJSValue(newValue) } } - @inlinable public var lineCap: CanvasLineCap { + @inlinable var lineCap: CanvasLineCap { get { jsObject[Strings.lineCap].fromJSValue()! } - set { jsObject[Strings.lineCap] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.lineCap] = _toJSValue(newValue) } } - @inlinable public var lineJoin: CanvasLineJoin { + @inlinable var lineJoin: CanvasLineJoin { get { jsObject[Strings.lineJoin].fromJSValue()! } - set { jsObject[Strings.lineJoin] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.lineJoin] = _toJSValue(newValue) } } - @inlinable public var miterLimit: Double { + @inlinable var miterLimit: Double { get { jsObject[Strings.miterLimit].fromJSValue()! } - set { jsObject[Strings.miterLimit] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.miterLimit] = _toJSValue(newValue) } } - @inlinable public func setLineDash(segments: [Double]) { + @inlinable func setLineDash(segments: [Double]) { let this = jsObject _ = this[Strings.setLineDash].function!(this: this, arguments: [_toJSValue(segments)]) } - @inlinable public func getLineDash() -> [Double] { + @inlinable func getLineDash() -> [Double] { let this = jsObject return this[Strings.getLineDash].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var lineDashOffset: Double { + @inlinable var lineDashOffset: Double { get { jsObject[Strings.lineDashOffset].fromJSValue()! } - set { jsObject[Strings.lineDashOffset] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.lineDashOffset] = _toJSValue(newValue) } } } + public class CanvasPattern: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CanvasPattern].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable final public func setTransform(transform: DOMMatrix2DInit? = nil) { + @inlinable public func setTransform(transform: DOMMatrix2DInit? = nil) { let this = jsObject _ = this[Strings.setTransform].function!(this: this, arguments: [_toJSValue(transform)]) } } public protocol CanvasRect: JSBridgedClass {} -extension CanvasRect { - @inlinable public func clearRect(x: Double, y: Double, w: Double, h: Double) { +public extension CanvasRect { + @inlinable func clearRect(x: Double, y: Double, w: Double, h: Double) { let this = jsObject - _ = this[Strings.clearRect].function!( - this: this, - arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)] - ) + _ = this[Strings.clearRect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)]) } - @inlinable public func fillRect(x: Double, y: Double, w: Double, h: Double) { + @inlinable func fillRect(x: Double, y: Double, w: Double, h: Double) { let this = jsObject - _ = this[Strings.fillRect].function!( - this: this, - arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)] - ) + _ = this[Strings.fillRect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)]) } - @inlinable public func strokeRect(x: Double, y: Double, w: Double, h: Double) { + @inlinable func strokeRect(x: Double, y: Double, w: Double, h: Double) { let this = jsObject - _ = this[Strings.strokeRect].function!( - this: this, - arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)] - ) + _ = this[Strings.strokeRect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)]) } } -public class CanvasRenderingContext2D: JSBridgedClass, CanvasState, CanvasTransform, CanvasCompositing, - CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, - CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, - CanvasPath -{ + +public class CanvasRenderingContext2D: JSBridgedClass, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CanvasRenderingContext2D].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _canvas = ReadonlyAttribute(jsObject: jsObject, name: Strings.canvas) + self.jsObject = jsObject + } - @inlinable public var canvas: HTMLCanvasElement { jsObject[Strings.canvas].fromJSValue()! } + @ReadonlyAttribute + public var canvas: HTMLCanvasElement - @inlinable final public func getContextAttributes() -> CanvasRenderingContext2DSettings { + @inlinable public func getContextAttributes() -> CanvasRenderingContext2DSettings { let this = jsObject return this[Strings.getContextAttributes].function!(this: this, arguments: []).fromJSValue()! } } -open class CanvasRenderingContext2DSettings: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - alpha: Bool? = nil, - desynchronized: Bool? = nil, - colorSpace: PredefinedColorSpace? = nil, - willReadFrequently: Bool? = nil - ) { +public class CanvasRenderingContext2DSettings: BridgedDictionary { + public convenience init(alpha: Bool, desynchronized: Bool, colorSpace: PredefinedColorSpace, willReadFrequently: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.alpha] = _toJSValue(alpha) object[Strings.desynchronized] = _toJSValue(desynchronized) object[Strings.colorSpace] = _toJSValue(colorSpace) object[Strings.willReadFrequently] = _toJSValue(willReadFrequently) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var alpha: Bool { - get { jsObject[Strings.alpha].fromJSValue()! } - set { jsObject[Strings.alpha] = _toJSValue(newValue) } - } - @inlinable public var desynchronized: Bool { - get { jsObject[Strings.desynchronized].fromJSValue()! } - set { jsObject[Strings.desynchronized] = _toJSValue(newValue) } - } - @inlinable public var colorSpace: PredefinedColorSpace { - get { jsObject[Strings.colorSpace].fromJSValue()! } - set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } - } - @inlinable public var willReadFrequently: Bool { - get { jsObject[Strings.willReadFrequently].fromJSValue()! } - set { jsObject[Strings.willReadFrequently] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) + _desynchronized = ReadWriteAttribute(jsObject: object, name: Strings.desynchronized) + _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) + _willReadFrequently = ReadWriteAttribute(jsObject: object, name: Strings.willReadFrequently) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var alpha: Bool? + + @ReadWriteAttribute + public var desynchronized: Bool? + + @ReadWriteAttribute + public var colorSpace: PredefinedColorSpace? + + @ReadWriteAttribute + public var willReadFrequently: Bool? } + public protocol CanvasShadowStyles: JSBridgedClass {} -extension CanvasShadowStyles { - @inlinable public var shadowOffsetX: Double { +public extension CanvasShadowStyles { + @inlinable var shadowOffsetX: Double { get { jsObject[Strings.shadowOffsetX].fromJSValue()! } - set { jsObject[Strings.shadowOffsetX] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.shadowOffsetX] = _toJSValue(newValue) } } - @inlinable public var shadowOffsetY: Double { + @inlinable var shadowOffsetY: Double { get { jsObject[Strings.shadowOffsetY].fromJSValue()! } - set { jsObject[Strings.shadowOffsetY] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.shadowOffsetY] = _toJSValue(newValue) } } - @inlinable public var shadowBlur: Double { + @inlinable var shadowBlur: Double { get { jsObject[Strings.shadowBlur].fromJSValue()! } - set { jsObject[Strings.shadowBlur] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.shadowBlur] = _toJSValue(newValue) } } - @inlinable public var shadowColor: String { + @inlinable var shadowColor: String { get { jsObject[Strings.shadowColor].fromJSValue()! } - set { jsObject[Strings.shadowColor] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.shadowColor] = _toJSValue(newValue) } } } + public protocol CanvasState: JSBridgedClass {} -extension CanvasState { - @inlinable public func save() { +public extension CanvasState { + @inlinable func save() { let this = jsObject _ = this[Strings.save].function!(this: this, arguments: []) } - @inlinable public func restore() { + @inlinable func restore() { let this = jsObject _ = this[Strings.restore].function!(this: this, arguments: []) } - @inlinable public func reset() { + @inlinable func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable public func isContextLost() -> Bool { + @inlinable func isContextLost() -> Bool { let this = jsObject return this[Strings.isContextLost].function!(this: this, arguments: []).fromJSValue()! } } + public protocol CanvasText: JSBridgedClass {} -extension CanvasText { - @inlinable public func fillText(text: String, x: Double, y: Double, maxWidth: Double? = nil) { +public extension CanvasText { + @inlinable func fillText(text: String, x: Double, y: Double, maxWidth: Double? = nil) { let this = jsObject - _ = this[Strings.fillText].function!( - this: this, - arguments: [_toJSValue(text), _toJSValue(x), _toJSValue(y), _toJSValue(maxWidth)] - ) + _ = this[Strings.fillText].function!(this: this, arguments: [_toJSValue(text), _toJSValue(x), _toJSValue(y), _toJSValue(maxWidth)]) } - @inlinable public func strokeText(text: String, x: Double, y: Double, maxWidth: Double? = nil) { + @inlinable func strokeText(text: String, x: Double, y: Double, maxWidth: Double? = nil) { let this = jsObject - _ = this[Strings.strokeText].function!( - this: this, - arguments: [_toJSValue(text), _toJSValue(x), _toJSValue(y), _toJSValue(maxWidth)] - ) + _ = this[Strings.strokeText].function!(this: this, arguments: [_toJSValue(text), _toJSValue(x), _toJSValue(y), _toJSValue(maxWidth)]) } - @inlinable public func measureText(text: String) -> TextMetrics { + @inlinable func measureText(text: String) -> TextMetrics { let this = jsObject return this[Strings.measureText].function!(this: this, arguments: [_toJSValue(text)]).fromJSValue()! } } + public enum CanvasTextAlign: JSString, JSValueCompatible { case start = "start" case end = "end" @@ -2393,14 +2159,19 @@ public enum CanvasTextAlign: JSString, JSValueCompatible { case center = "center" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum CanvasTextBaseline: JSString, JSValueCompatible { case top = "top" case hanging = "hanging" @@ -2410,66 +2181,72 @@ public enum CanvasTextBaseline: JSString, JSValueCompatible { case bottom = "bottom" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public protocol CanvasTextDrawingStyles: JSBridgedClass {} -extension CanvasTextDrawingStyles { - @inlinable public var font: String { +public extension CanvasTextDrawingStyles { + @inlinable var font: String { get { jsObject[Strings.font].fromJSValue()! } - set { jsObject[Strings.font] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.font] = _toJSValue(newValue) } } - @inlinable public var textAlign: CanvasTextAlign { + @inlinable var textAlign: CanvasTextAlign { get { jsObject[Strings.textAlign].fromJSValue()! } - set { jsObject[Strings.textAlign] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.textAlign] = _toJSValue(newValue) } } - @inlinable public var textBaseline: CanvasTextBaseline { + @inlinable var textBaseline: CanvasTextBaseline { get { jsObject[Strings.textBaseline].fromJSValue()! } - set { jsObject[Strings.textBaseline] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.textBaseline] = _toJSValue(newValue) } } - @inlinable public var direction: CanvasDirection { + @inlinable var direction: CanvasDirection { get { jsObject[Strings.direction].fromJSValue()! } - set { jsObject[Strings.direction] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.direction] = _toJSValue(newValue) } } - @inlinable public var letterSpacing: String { + @inlinable var letterSpacing: String { get { jsObject[Strings.letterSpacing].fromJSValue()! } - set { jsObject[Strings.letterSpacing] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.letterSpacing] = _toJSValue(newValue) } } - @inlinable public var fontKerning: CanvasFontKerning { + @inlinable var fontKerning: CanvasFontKerning { get { jsObject[Strings.fontKerning].fromJSValue()! } - set { jsObject[Strings.fontKerning] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.fontKerning] = _toJSValue(newValue) } } - @inlinable public var fontStretch: CanvasFontStretch { + @inlinable var fontStretch: CanvasFontStretch { get { jsObject[Strings.fontStretch].fromJSValue()! } - set { jsObject[Strings.fontStretch] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.fontStretch] = _toJSValue(newValue) } } - @inlinable public var fontVariantCaps: CanvasFontVariantCaps { + @inlinable var fontVariantCaps: CanvasFontVariantCaps { get { jsObject[Strings.fontVariantCaps].fromJSValue()! } - set { jsObject[Strings.fontVariantCaps] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.fontVariantCaps] = _toJSValue(newValue) } } - @inlinable public var textRendering: CanvasTextRendering { + @inlinable var textRendering: CanvasTextRendering { get { jsObject[Strings.textRendering].fromJSValue()! } - set { jsObject[Strings.textRendering] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.textRendering] = _toJSValue(newValue) } } - @inlinable public var wordSpacing: String { + @inlinable var wordSpacing: String { get { jsObject[Strings.wordSpacing].fromJSValue()! } - set { jsObject[Strings.wordSpacing] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.wordSpacing] = _toJSValue(newValue) } } } + public enum CanvasTextRendering: JSString, JSValueCompatible { case auto = "auto" case optimizeSpeed = "optimizeSpeed" @@ -2477,209 +2254,214 @@ public enum CanvasTextRendering: JSString, JSValueCompatible { case geometricPrecision = "geometricPrecision" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public protocol CanvasTransform: JSBridgedClass {} -extension CanvasTransform { - @inlinable public func scale(x: Double, y: Double) { +public extension CanvasTransform { + @inlinable func scale(x: Double, y: Double) { let this = jsObject _ = this[Strings.scale].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func rotate(angle: Double) { + @inlinable func rotate(angle: Double) { let this = jsObject _ = this[Strings.rotate].function!(this: this, arguments: [_toJSValue(angle)]) } - @inlinable public func translate(x: Double, y: Double) { + @inlinable func translate(x: Double, y: Double) { let this = jsObject _ = this[Strings.translate].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func transform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) { + @inlinable func transform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) { let this = jsObject - _ = this[Strings.transform].function!( - this: this, - arguments: [_toJSValue(a), _toJSValue(b), _toJSValue(c), _toJSValue(d), _toJSValue(e), _toJSValue(f)] - ) + _ = this[Strings.transform].function!(this: this, arguments: [_toJSValue(a), _toJSValue(b), _toJSValue(c), _toJSValue(d), _toJSValue(e), _toJSValue(f)]) } - @inlinable public func getTransform() -> DOMMatrix { + @inlinable func getTransform() -> DOMMatrix { let this = jsObject return this[Strings.getTransform].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setTransform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) { + @inlinable func setTransform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) { let this = jsObject - _ = this[Strings.setTransform].function!( - this: this, - arguments: [_toJSValue(a), _toJSValue(b), _toJSValue(c), _toJSValue(d), _toJSValue(e), _toJSValue(f)] - ) + _ = this[Strings.setTransform].function!(this: this, arguments: [_toJSValue(a), _toJSValue(b), _toJSValue(c), _toJSValue(d), _toJSValue(e), _toJSValue(f)]) } - @inlinable public func setTransform(transform: DOMMatrix2DInit? = nil) { + @inlinable func setTransform(transform: DOMMatrix2DInit? = nil) { let this = jsObject _ = this[Strings.setTransform].function!(this: this, arguments: [_toJSValue(transform)]) } - @inlinable public func resetTransform() { + @inlinable func resetTransform() { let this = jsObject _ = this[Strings.resetTransform].function!(this: this, arguments: []) } } + public protocol CanvasUserInterface: JSBridgedClass {} -extension CanvasUserInterface { - @inlinable public func drawFocusIfNeeded(element: Element) { +public extension CanvasUserInterface { + @inlinable func drawFocusIfNeeded(element: Element) { let this = jsObject _ = this[Strings.drawFocusIfNeeded].function!(this: this, arguments: [_toJSValue(element)]) } - @inlinable public func drawFocusIfNeeded(path: Path2D, element: Element) { + @inlinable func drawFocusIfNeeded(path: Path2D, element: Element) { let this = jsObject _ = this[Strings.drawFocusIfNeeded].function!(this: this, arguments: [_toJSValue(path), _toJSValue(element)]) } - @inlinable public func scrollPathIntoView() { + @inlinable func scrollPathIntoView() { let this = jsObject _ = this[Strings.scrollPathIntoView].function!(this: this, arguments: []) } - @inlinable public func scrollPathIntoView(path: Path2D) { + @inlinable func scrollPathIntoView(path: Path2D) { let this = jsObject _ = this[Strings.scrollPathIntoView].function!(this: this, arguments: [_toJSValue(path)]) } } + public class CaretPosition: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CaretPosition].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _offsetNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetNode) + _offset = ReadonlyAttribute(jsObject: jsObject, name: Strings.offset) + self.jsObject = jsObject + } - @inlinable public var offsetNode: Node { jsObject[Strings.offsetNode].fromJSValue()! } + @ReadonlyAttribute + public var offsetNode: Node - @inlinable public var offset: UInt32 { jsObject[Strings.offset].fromJSValue()! } + @ReadonlyAttribute + public var offset: UInt32 - @inlinable final public func getClientRect() -> DOMRect? { + @inlinable public func getClientRect() -> DOMRect? { let this = jsObject return this[Strings.getClientRect].function!(this: this, arguments: []).fromJSValue() } } public class CharacterData: Node, NonDocumentTypeChildNode, ChildNode { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CharacterData].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CharacterData].function } - @inlinable public var data: String { - get { jsObject[Strings.data].fromJSValue()! } - set { jsObject[Strings.data] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _data = ReadWriteAttribute(jsObject: jsObject, name: Strings.data) + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadWriteAttribute + public var data: String - @inlinable final public func substringData(offset: UInt32, count: UInt32) -> String { + @ReadonlyAttribute + public var length: UInt32 + + @inlinable public func substringData(offset: UInt32, count: UInt32) -> String { let this = jsObject - return this[Strings.substringData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(count)]) - .fromJSValue()! + return this[Strings.substringData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(count)]).fromJSValue()! } - @inlinable final public func appendData(data: String) { + @inlinable public func appendData(data: String) { let this = jsObject _ = this[Strings.appendData].function!(this: this, arguments: [_toJSValue(data)]) } - @inlinable final public func insertData(offset: UInt32, data: String) { + @inlinable public func insertData(offset: UInt32, data: String) { let this = jsObject _ = this[Strings.insertData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(data)]) } - @inlinable final public func deleteData(offset: UInt32, count: UInt32) { + @inlinable public func deleteData(offset: UInt32, count: UInt32) { let this = jsObject _ = this[Strings.deleteData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(count)]) } - @inlinable final public func replaceData(offset: UInt32, count: UInt32, data: String) { + @inlinable public func replaceData(offset: UInt32, count: UInt32, data: String) { let this = jsObject - _ = this[Strings.replaceData].function!( - this: this, - arguments: [_toJSValue(offset), _toJSValue(count), _toJSValue(data)] - ) + _ = this[Strings.replaceData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(count), _toJSValue(data)]) } } -open class CheckVisibilityOptions: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(checkOpacity: Bool? = nil, checkVisibilityCSS: Bool? = nil) { +public class CheckVisibilityOptions: BridgedDictionary { + public convenience init(checkOpacity: Bool, checkVisibilityCSS: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.checkOpacity] = _toJSValue(checkOpacity) object[Strings.checkVisibilityCSS] = _toJSValue(checkVisibilityCSS) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var checkOpacity: Bool { - get { jsObject[Strings.checkOpacity].fromJSValue()! } - set { jsObject[Strings.checkOpacity] = _toJSValue(newValue) } - } - @inlinable public var checkVisibilityCSS: Bool { - get { jsObject[Strings.checkVisibilityCSS].fromJSValue()! } - set { jsObject[Strings.checkVisibilityCSS] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _checkOpacity = ReadWriteAttribute(jsObject: object, name: Strings.checkOpacity) + _checkVisibilityCSS = ReadWriteAttribute(jsObject: object, name: Strings.checkVisibilityCSS) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var checkOpacity: Bool? + + @ReadWriteAttribute + public var checkVisibilityCSS: Bool? } + public protocol ChildNode: JSBridgedClass {} -extension ChildNode { - @inlinable public func before(nodes: Node_or_String...) { +public extension ChildNode { + @inlinable func before(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.before].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable public func after(nodes: Node_or_String...) { + @inlinable func after(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.after].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable public func replaceWith(nodes: Node_or_String...) { + @inlinable func replaceWith(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.replaceWith].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable public func remove() { + @inlinable func remove() { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: []) } } -open class ClientQueryOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(includeUncontrolled: Bool? = nil, type: ClientType? = nil) { +public class ClientQueryOptions: BridgedDictionary { + public convenience init(includeUncontrolled: Bool, type: ClientType) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.includeUncontrolled] = _toJSValue(includeUncontrolled) object[Strings.type] = _toJSValue(type) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var includeUncontrolled: Bool { - get { jsObject[Strings.includeUncontrolled].fromJSValue()! } - set { jsObject[Strings.includeUncontrolled] = _toJSValue(newValue) } - } - @inlinable public var type: ClientType { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _includeUncontrolled = ReadWriteAttribute(jsObject: object, name: Strings.includeUncontrolled) + _type = ReadWriteAttribute(jsObject: object, name: Strings.type) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var includeUncontrolled: Bool? + + @ReadWriteAttribute + public var type: ClientType? } + public enum ClientType: JSString, JSValueCompatible { case window = "window" case worker = "worker" @@ -2687,45 +2469,62 @@ public enum ClientType: JSString, JSValueCompatible { case all = "all" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum CodecState: JSString, JSValueCompatible { case unconfigured = "unconfigured" case configured = "configured" case closed = "closed" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum ColorSpaceConversion: JSString, JSValueCompatible { case none = "none" case `default` = "default" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class Comment: CharacterData { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Comment].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Comment].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(data: String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(data)])) @@ -2733,179 +2532,167 @@ public class Comment: CharacterData { } public class CompositionEvent: UIEvent { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CompositionEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CompositionEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: CompositionEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var data: String { jsObject[Strings.data].fromJSValue()! } + @ReadonlyAttribute + public var data: String - @inlinable final public func initCompositionEvent( - typeArg: String, - bubblesArg: Bool? = nil, - cancelableArg: Bool? = nil, - viewArg: WindowProxy? = nil, - dataArg: String? = nil - ) { + @inlinable public func initCompositionEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, viewArg: WindowProxy? = nil, dataArg: String? = nil) { let this = jsObject - _ = this[Strings.initCompositionEvent].function!( - this: this, - arguments: [ - _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), - _toJSValue(dataArg), - ] - ) + _ = this[Strings.initCompositionEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), _toJSValue(dataArg)]) } } -open class CompositionEventInit: UIEventInit { - - public convenience init(view: Window?, detail: Int32? = nil, which: UInt32? = nil, data: String? = nil) { +public class CompositionEventInit: BridgedDictionary { + public convenience init(data: String) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.view] = _toJSValue(view) - object[Strings.detail] = _toJSValue(detail) - object[Strings.which] = _toJSValue(which) object[Strings.data] = _toJSValue(data) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var data: String { - get { jsObject[Strings.data].fromJSValue()! } - set { jsObject[Strings.data] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _data = ReadWriteAttribute(jsObject: object, name: Strings.data) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var data: String? } -open class ConstrainBooleanParameters: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(exact: Bool? = nil, ideal: Bool? = nil) { +public class ConstrainBooleanParameters: BridgedDictionary { + public convenience init(exact: Bool, ideal: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.exact] = _toJSValue(exact) object[Strings.ideal] = _toJSValue(ideal) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var exact: Bool { - get { jsObject[Strings.exact].fromJSValue()! } - set { jsObject[Strings.exact] = _toJSValue(newValue) } - } - @inlinable public var ideal: Bool { - get { jsObject[Strings.ideal].fromJSValue()! } - set { jsObject[Strings.ideal] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _exact = ReadWriteAttribute(jsObject: object, name: Strings.exact) + _ideal = ReadWriteAttribute(jsObject: object, name: Strings.ideal) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var exact: Bool? + + @ReadWriteAttribute + public var ideal: Bool? } -open class ConstrainDOMStringParameters: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(exact: String_or_seq_of_String? = nil, ideal: String_or_seq_of_String? = nil) { +public class ConstrainDOMStringParameters: BridgedDictionary { + public convenience init(exact: String_or_seq_of_String, ideal: String_or_seq_of_String) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.exact] = _toJSValue(exact) object[Strings.ideal] = _toJSValue(ideal) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var exact: String_or_seq_of_String { - get { jsObject[Strings.exact].fromJSValue()! } - set { jsObject[Strings.exact] = _toJSValue(newValue) } - } - @inlinable public var ideal: String_or_seq_of_String { - get { jsObject[Strings.ideal].fromJSValue()! } - set { jsObject[Strings.ideal] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _exact = ReadWriteAttribute(jsObject: object, name: Strings.exact) + _ideal = ReadWriteAttribute(jsObject: object, name: Strings.ideal) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var exact: String_or_seq_of_String? + + @ReadWriteAttribute + public var ideal: String_or_seq_of_String? } -open class ConstrainDoubleRange: DoubleRange { - public convenience init(max: Double? = nil, min: Double? = nil, exact: Double? = nil, ideal: Double? = nil) { +public class ConstrainDoubleRange: BridgedDictionary { + public convenience init(exact: Double, ideal: Double) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.max] = _toJSValue(max) - object[Strings.min] = _toJSValue(min) object[Strings.exact] = _toJSValue(exact) object[Strings.ideal] = _toJSValue(ideal) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var exact: Double { - get { jsObject[Strings.exact].fromJSValue()! } - set { jsObject[Strings.exact] = _toJSValue(newValue) } - } - @inlinable public var ideal: Double { - get { jsObject[Strings.ideal].fromJSValue()! } - set { jsObject[Strings.ideal] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _exact = ReadWriteAttribute(jsObject: object, name: Strings.exact) + _ideal = ReadWriteAttribute(jsObject: object, name: Strings.ideal) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var exact: Double? + + @ReadWriteAttribute + public var ideal: Double? } -open class ConstrainULongRange: ULongRange { - public convenience init(max: UInt32? = nil, min: UInt32? = nil, exact: UInt32? = nil, ideal: UInt32? = nil) { +public class ConstrainULongRange: BridgedDictionary { + public convenience init(exact: UInt32, ideal: UInt32) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.max] = _toJSValue(max) - object[Strings.min] = _toJSValue(min) object[Strings.exact] = _toJSValue(exact) object[Strings.ideal] = _toJSValue(ideal) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var exact: UInt32 { - get { jsObject[Strings.exact].fromJSValue()! } - set { jsObject[Strings.exact] = _toJSValue(newValue) } - } - @inlinable public var ideal: UInt32 { - get { jsObject[Strings.ideal].fromJSValue()! } - set { jsObject[Strings.ideal] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _exact = ReadWriteAttribute(jsObject: object, name: Strings.exact) + _ideal = ReadWriteAttribute(jsObject: object, name: Strings.ideal) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var exact: UInt32? + + @ReadWriteAttribute + public var ideal: UInt32? } -open class ConvertCoordinateOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(fromBox: CSSBoxType? = nil, toBox: CSSBoxType? = nil) { +public class ConvertCoordinateOptions: BridgedDictionary { + public convenience init(fromBox: CSSBoxType, toBox: CSSBoxType) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.fromBox] = _toJSValue(fromBox) object[Strings.toBox] = _toJSValue(toBox) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var fromBox: CSSBoxType { - get { jsObject[Strings.fromBox].fromJSValue()! } - set { jsObject[Strings.fromBox] = _toJSValue(newValue) } - } - @inlinable public var toBox: CSSBoxType { - get { jsObject[Strings.toBox].fromJSValue()! } - set { jsObject[Strings.toBox] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _fromBox = ReadWriteAttribute(jsObject: object, name: Strings.fromBox) + _toBox = ReadWriteAttribute(jsObject: object, name: Strings.toBox) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var fromBox: CSSBoxType? + + @ReadWriteAttribute + public var toBox: CSSBoxType? } + public class CountQueuingStrategy: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CountQueuingStrategy].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _highWaterMark = ReadonlyAttribute(jsObject: jsObject, name: Strings.highWaterMark) + _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) + self.jsObject = jsObject + } - @inlinable public convenience init(`init`: QueuingStrategyInit) { + @inlinable public convenience init(init: QueuingStrategyInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public var highWaterMark: Double { jsObject[Strings.highWaterMark].fromJSValue()! } + @ReadonlyAttribute + public var highWaterMark: Double - @inlinable public var size: JSFunction { jsObject[Strings.size].fromJSValue()! } + @ReadonlyAttribute + public var size: JSFunction } public class CustomElementRegistry: JSBridgedClass { @@ -2913,282 +2700,353 @@ public class CustomElementRegistry: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable final public func define( - name: String, - constructor: CustomElementConstructor, - options: ElementDefinitionOptions? = nil - ) { + @inlinable public func define(name: String, constructor: CustomElementConstructor, options: ElementDefinitionOptions? = nil) { let this = jsObject - _ = this[Strings.define].function!( - this: this, - arguments: [_toJSValue(name), _toJSValue(constructor), _toJSValue(options)] - ) + _ = this[Strings.define].function!(this: this, arguments: [_toJSValue(name), _toJSValue(constructor), _toJSValue(options)]) } - @inlinable final public func get(name: String) -> CustomElementConstructor? { + @inlinable public func get(name: String) -> CustomElementConstructor? { let this = jsObject return this[Strings.get].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @inlinable final public func getName(constructor: CustomElementConstructor) -> String? { + @inlinable public func getName(constructor: CustomElementConstructor) -> String? { let this = jsObject return this[Strings.getName].function!(this: this, arguments: [_toJSValue(constructor)]).fromJSValue() } - @inlinable final public func whenDefined(name: String) -> JSPromise { + @inlinable public func whenDefined(name: String) -> JSPromise { let this = jsObject return this[Strings.whenDefined].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func whenDefined( - name: String - ) async throws(JSException) -> CustomElementConstructor { - let this = jsObject - let _promise: JSPromise = this[Strings.whenDefined].function!(this: this, arguments: [_toJSValue(name)]) - .fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func whenDefined(name: String) async throws -> CustomElementConstructor { + let this = jsObject + let _promise: JSPromise = this[Strings.whenDefined].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func upgrade(root: Node) { + @inlinable public func upgrade(root: Node) { let this = jsObject _ = this[Strings.upgrade].function!(this: this, arguments: [_toJSValue(root)]) } } public class CustomEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CustomEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CustomEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _detail = ReadonlyAttribute(jsObject: jsObject, name: Strings.detail) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: CustomEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var detail: JSValue { jsObject[Strings.detail].fromJSValue()! } + @ReadonlyAttribute + public var detail: JSValue - @inlinable final public func initCustomEvent( - type: String, - bubbles: Bool? = nil, - cancelable: Bool? = nil, - detail: JSValue? = nil - ) { + @inlinable public func initCustomEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil, detail: JSValue? = nil) { let this = jsObject - _ = this[Strings.initCustomEvent].function!( - this: this, - arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(detail)] - ) + _ = this[Strings.initCustomEvent].function!(this: this, arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(detail)]) } } -open class CustomEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - detail: JSValue? = nil - ) { +public class CustomEventInit: BridgedDictionary { + public convenience init(detail: JSValue) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.detail] = _toJSValue(detail) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var detail: JSValue { - get { jsObject[Strings.detail].fromJSValue()! } - set { jsObject[Strings.detail] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _detail = ReadWriteAttribute(jsObject: object, name: Strings.detail) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var detail: JSValue? } + public class DOMImplementation: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.DOMImplementation].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable final public func createDocumentType( - qualifiedName: String, - publicId: String, - systemId: String - ) -> DocumentType { + @inlinable public func createDocumentType(qualifiedName: String, publicId: String, systemId: String) -> DocumentType { let this = jsObject - return this[Strings.createDocumentType].function!( - this: this, - arguments: [_toJSValue(qualifiedName), _toJSValue(publicId), _toJSValue(systemId)] - ).fromJSValue()! + return this[Strings.createDocumentType].function!(this: this, arguments: [_toJSValue(qualifiedName), _toJSValue(publicId), _toJSValue(systemId)]).fromJSValue()! } - @inlinable final public func createDocument( - namespace: String?, - qualifiedName: String, - doctype: DocumentType? = nil - ) -> XMLDocument { + @inlinable public func createDocument(namespace: String?, qualifiedName: String, doctype: DocumentType? = nil) -> XMLDocument { let this = jsObject - return this[Strings.createDocument].function!( - this: this, - arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(doctype)] - ).fromJSValue()! + return this[Strings.createDocument].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(doctype)]).fromJSValue()! } - @inlinable final public func createHTMLDocument(title: String? = nil) -> Document { + @inlinable public func createHTMLDocument(title: String? = nil) -> Document { let this = jsObject return this[Strings.createHTMLDocument].function!(this: this, arguments: [_toJSValue(title)]).fromJSValue()! } - @inlinable final public func hasFeature() -> Bool { + @inlinable public func hasFeature() -> Bool { let this = jsObject return this[Strings.hasFeature].function!(this: this, arguments: []).fromJSValue()! } } public class DOMMatrix: DOMMatrixReadOnly { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DOMMatrix].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init(`init`: String_or_seq_of_Double? = nil) { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DOMMatrix].function } + + public required init(unsafelyWrapping jsObject: JSObject) { + _a = ReadWriteAttribute(jsObject: jsObject, name: Strings.a) + _b = ReadWriteAttribute(jsObject: jsObject, name: Strings.b) + _c = ReadWriteAttribute(jsObject: jsObject, name: Strings.c) + _d = ReadWriteAttribute(jsObject: jsObject, name: Strings.d) + _e = ReadWriteAttribute(jsObject: jsObject, name: Strings.e) + _f = ReadWriteAttribute(jsObject: jsObject, name: Strings.f) + _m11 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m11) + _m12 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m12) + _m13 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m13) + _m14 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m14) + _m21 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m21) + _m22 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m22) + _m23 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m23) + _m24 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m24) + _m31 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m31) + _m32 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m32) + _m33 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m33) + _m34 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m34) + _m41 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m41) + _m42 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m42) + _m43 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m43) + _m44 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m44) + super.init(unsafelyWrapping: jsObject) + } + + @inlinable public convenience init(init: String_or_seq_of_Double? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable override public class func fromMatrix(other: DOMMatrixInit? = nil) -> DOMMatrix { + @inlinable override public class func fromMatrix(other: DOMMatrixInit? = nil) -> Self { let this = constructor! return this[Strings.fromMatrix].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable override public class func fromFloat32Array(array32: Float32Array) -> DOMMatrix { + @inlinable override public class func fromFloat32Array(array32: Float32Array) -> Self { let this = constructor! return this[Strings.fromFloat32Array].function!(this: this, arguments: [_toJSValue(array32)]).fromJSValue()! } - @inlinable override public class func fromFloat64Array(array64: Float64Array) -> DOMMatrix { + @inlinable override public class func fromFloat64Array(array64: Float64Array) -> Self { let this = constructor! return this[Strings.fromFloat64Array].function!(this: this, arguments: [_toJSValue(array64)]).fromJSValue()! } - @inlinable final public func multiplySelf(other: DOMMatrixInit? = nil) -> DOMMatrix { + @usableFromInline let _a: ReadWriteAttribute + @inlinable override public var a: Double { + get { _a.wrappedValue } + set { _a.wrappedValue = newValue } + } + + @usableFromInline let _b: ReadWriteAttribute + @inlinable override public var b: Double { + get { _b.wrappedValue } + set { _b.wrappedValue = newValue } + } + + @usableFromInline let _c: ReadWriteAttribute + @inlinable override public var c: Double { + get { _c.wrappedValue } + set { _c.wrappedValue = newValue } + } + + @usableFromInline let _d: ReadWriteAttribute + @inlinable override public var d: Double { + get { _d.wrappedValue } + set { _d.wrappedValue = newValue } + } + + @usableFromInline let _e: ReadWriteAttribute + @inlinable override public var e: Double { + get { _e.wrappedValue } + set { _e.wrappedValue = newValue } + } + + @usableFromInline let _f: ReadWriteAttribute + @inlinable override public var f: Double { + get { _f.wrappedValue } + set { _f.wrappedValue = newValue } + } + + @usableFromInline let _m11: ReadWriteAttribute + @inlinable override public var m11: Double { + get { _m11.wrappedValue } + set { _m11.wrappedValue = newValue } + } + + @usableFromInline let _m12: ReadWriteAttribute + @inlinable override public var m12: Double { + get { _m12.wrappedValue } + set { _m12.wrappedValue = newValue } + } + + @usableFromInline let _m13: ReadWriteAttribute + @inlinable override public var m13: Double { + get { _m13.wrappedValue } + set { _m13.wrappedValue = newValue } + } + + @usableFromInline let _m14: ReadWriteAttribute + @inlinable override public var m14: Double { + get { _m14.wrappedValue } + set { _m14.wrappedValue = newValue } + } + + @usableFromInline let _m21: ReadWriteAttribute + @inlinable override public var m21: Double { + get { _m21.wrappedValue } + set { _m21.wrappedValue = newValue } + } + + @usableFromInline let _m22: ReadWriteAttribute + @inlinable override public var m22: Double { + get { _m22.wrappedValue } + set { _m22.wrappedValue = newValue } + } + + @usableFromInline let _m23: ReadWriteAttribute + @inlinable override public var m23: Double { + get { _m23.wrappedValue } + set { _m23.wrappedValue = newValue } + } + + @usableFromInline let _m24: ReadWriteAttribute + @inlinable override public var m24: Double { + get { _m24.wrappedValue } + set { _m24.wrappedValue = newValue } + } + + @usableFromInline let _m31: ReadWriteAttribute + @inlinable override public var m31: Double { + get { _m31.wrappedValue } + set { _m31.wrappedValue = newValue } + } + + @usableFromInline let _m32: ReadWriteAttribute + @inlinable override public var m32: Double { + get { _m32.wrappedValue } + set { _m32.wrappedValue = newValue } + } + + @usableFromInline let _m33: ReadWriteAttribute + @inlinable override public var m33: Double { + get { _m33.wrappedValue } + set { _m33.wrappedValue = newValue } + } + + @usableFromInline let _m34: ReadWriteAttribute + @inlinable override public var m34: Double { + get { _m34.wrappedValue } + set { _m34.wrappedValue = newValue } + } + + @usableFromInline let _m41: ReadWriteAttribute + @inlinable override public var m41: Double { + get { _m41.wrappedValue } + set { _m41.wrappedValue = newValue } + } + + @usableFromInline let _m42: ReadWriteAttribute + @inlinable override public var m42: Double { + get { _m42.wrappedValue } + set { _m42.wrappedValue = newValue } + } + + @usableFromInline let _m43: ReadWriteAttribute + @inlinable override public var m43: Double { + get { _m43.wrappedValue } + set { _m43.wrappedValue = newValue } + } + + @usableFromInline let _m44: ReadWriteAttribute + @inlinable override public var m44: Double { + get { _m44.wrappedValue } + set { _m44.wrappedValue = newValue } + } + + @inlinable public func multiplySelf(other: DOMMatrixInit? = nil) -> Self { let this = jsObject return this[Strings.multiplySelf].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable final public func preMultiplySelf(other: DOMMatrixInit? = nil) -> DOMMatrix { + @inlinable public func preMultiplySelf(other: DOMMatrixInit? = nil) -> Self { let this = jsObject return this[Strings.preMultiplySelf].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable final public func translateSelf(tx: Double? = nil, ty: Double? = nil, tz: Double? = nil) -> DOMMatrix { + @inlinable public func translateSelf(tx: Double? = nil, ty: Double? = nil, tz: Double? = nil) -> Self { let this = jsObject - return this[Strings.translateSelf].function!( - this: this, - arguments: [_toJSValue(tx), _toJSValue(ty), _toJSValue(tz)] - ).fromJSValue()! + return this[Strings.translateSelf].function!(this: this, arguments: [_toJSValue(tx), _toJSValue(ty), _toJSValue(tz)]).fromJSValue()! } - @inlinable final public func scaleSelf( - scaleX: Double? = nil, - scaleY: Double? = nil, - scaleZ: Double? = nil, - originX: Double? = nil, - originY: Double? = nil, - originZ: Double? = nil - ) -> DOMMatrix { + @inlinable public func scaleSelf(scaleX: Double? = nil, scaleY: Double? = nil, scaleZ: Double? = nil, originX: Double? = nil, originY: Double? = nil, originZ: Double? = nil) -> Self { let this = jsObject - return this[Strings.scaleSelf].function!( - this: this, - arguments: [ - _toJSValue(scaleX), _toJSValue(scaleY), _toJSValue(scaleZ), _toJSValue(originX), _toJSValue(originY), - _toJSValue(originZ), - ] - ).fromJSValue()! + return this[Strings.scaleSelf].function!(this: this, arguments: [_toJSValue(scaleX), _toJSValue(scaleY), _toJSValue(scaleZ), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)]).fromJSValue()! } - @inlinable final public func scale3dSelf( - scale: Double? = nil, - originX: Double? = nil, - originY: Double? = nil, - originZ: Double? = nil - ) -> DOMMatrix { + @inlinable public func scale3dSelf(scale: Double? = nil, originX: Double? = nil, originY: Double? = nil, originZ: Double? = nil) -> Self { let this = jsObject - return this[Strings.scale3dSelf].function!( - this: this, - arguments: [_toJSValue(scale), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)] - ).fromJSValue()! + return this[Strings.scale3dSelf].function!(this: this, arguments: [_toJSValue(scale), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)]).fromJSValue()! } - @inlinable final public func rotateSelf(rotX: Double? = nil, rotY: Double? = nil, rotZ: Double? = nil) -> DOMMatrix - { + @inlinable public func rotateSelf(rotX: Double? = nil, rotY: Double? = nil, rotZ: Double? = nil) -> Self { let this = jsObject - return this[Strings.rotateSelf].function!( - this: this, - arguments: [_toJSValue(rotX), _toJSValue(rotY), _toJSValue(rotZ)] - ).fromJSValue()! + return this[Strings.rotateSelf].function!(this: this, arguments: [_toJSValue(rotX), _toJSValue(rotY), _toJSValue(rotZ)]).fromJSValue()! } - @inlinable final public func rotateFromVectorSelf(x: Double? = nil, y: Double? = nil) -> DOMMatrix { + @inlinable public func rotateFromVectorSelf(x: Double? = nil, y: Double? = nil) -> Self { let this = jsObject - return this[Strings.rotateFromVectorSelf].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) - .fromJSValue()! + return this[Strings.rotateFromVectorSelf].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue()! } - @inlinable final public func rotateAxisAngleSelf( - x: Double? = nil, - y: Double? = nil, - z: Double? = nil, - angle: Double? = nil - ) -> DOMMatrix { + @inlinable public func rotateAxisAngleSelf(x: Double? = nil, y: Double? = nil, z: Double? = nil, angle: Double? = nil) -> Self { let this = jsObject - return this[Strings.rotateAxisAngleSelf].function!( - this: this, - arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle)] - ).fromJSValue()! + return this[Strings.rotateAxisAngleSelf].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle)]).fromJSValue()! } - @inlinable final public func skewXSelf(sx: Double? = nil) -> DOMMatrix { + @inlinable public func skewXSelf(sx: Double? = nil) -> Self { let this = jsObject return this[Strings.skewXSelf].function!(this: this, arguments: [_toJSValue(sx)]).fromJSValue()! } - @inlinable final public func skewYSelf(sy: Double? = nil) -> DOMMatrix { + @inlinable public func skewYSelf(sy: Double? = nil) -> Self { let this = jsObject return this[Strings.skewYSelf].function!(this: this, arguments: [_toJSValue(sy)]).fromJSValue()! } - @inlinable final public func invertSelf() -> DOMMatrix { + @inlinable public func invertSelf() -> Self { let this = jsObject return this[Strings.invertSelf].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func setMatrixValue(transformList: String) -> DOMMatrix { + @inlinable public func setMatrixValue(transformList: String) -> Self { let this = jsObject return this[Strings.setMatrixValue].function!(this: this, arguments: [_toJSValue(transformList)]).fromJSValue()! } } -open class DOMMatrix2DInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - a: Double? = nil, - b: Double? = nil, - c: Double? = nil, - d: Double? = nil, - e: Double? = nil, - f: Double? = nil, - m11: Double? = nil, - m12: Double? = nil, - m21: Double? = nil, - m22: Double? = nil, - m41: Double? = nil, - m42: Double? = nil - ) { +public class DOMMatrix2DInit: BridgedDictionary { + public convenience init(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double, m11: Double, m12: Double, m21: Double, m22: Double, m41: Double, m42: Double) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.a] = _toJSValue(a) object[Strings.b] = _toJSValue(b) @@ -3202,101 +3060,65 @@ open class DOMMatrix2DInit: JSDictionaryCompatible { object[Strings.m22] = _toJSValue(m22) object[Strings.m41] = _toJSValue(m41) object[Strings.m42] = _toJSValue(m42) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var a: Double { - get { jsObject[Strings.a].fromJSValue()! } - set { jsObject[Strings.a] = _toJSValue(newValue) } - } - @inlinable public var b: Double { - get { jsObject[Strings.b].fromJSValue()! } - set { jsObject[Strings.b] = _toJSValue(newValue) } - } - @inlinable public var c: Double { - get { jsObject[Strings.c].fromJSValue()! } - set { jsObject[Strings.c] = _toJSValue(newValue) } - } - @inlinable public var d: Double { - get { jsObject[Strings.d].fromJSValue()! } - set { jsObject[Strings.d] = _toJSValue(newValue) } - } - @inlinable public var e: Double { - get { jsObject[Strings.e].fromJSValue()! } - set { jsObject[Strings.e] = _toJSValue(newValue) } - } - @inlinable public var f: Double { - get { jsObject[Strings.f].fromJSValue()! } - set { jsObject[Strings.f] = _toJSValue(newValue) } - } - @inlinable public var m11: Double { - get { jsObject[Strings.m11].fromJSValue()! } - set { jsObject[Strings.m11] = _toJSValue(newValue) } - } - @inlinable public var m12: Double { - get { jsObject[Strings.m12].fromJSValue()! } - set { jsObject[Strings.m12] = _toJSValue(newValue) } - } - @inlinable public var m21: Double { - get { jsObject[Strings.m21].fromJSValue()! } - set { jsObject[Strings.m21] = _toJSValue(newValue) } - } - @inlinable public var m22: Double { - get { jsObject[Strings.m22].fromJSValue()! } - set { jsObject[Strings.m22] = _toJSValue(newValue) } - } - @inlinable public var m41: Double { - get { jsObject[Strings.m41].fromJSValue()! } - set { jsObject[Strings.m41] = _toJSValue(newValue) } - } - @inlinable public var m42: Double { - get { jsObject[Strings.m42].fromJSValue()! } - set { jsObject[Strings.m42] = _toJSValue(newValue) } - } -} -open class DOMMatrixInit: DOMMatrix2DInit { - - public convenience init( - a: Double? = nil, - b: Double? = nil, - c: Double? = nil, - d: Double? = nil, - e: Double? = nil, - f: Double? = nil, - m11: Double? = nil, - m12: Double? = nil, - m21: Double? = nil, - m22: Double? = nil, - m41: Double? = nil, - m42: Double? = nil, - m13: Double? = nil, - m14: Double? = nil, - m23: Double? = nil, - m24: Double? = nil, - m31: Double? = nil, - m32: Double? = nil, - m33: Double? = nil, - m34: Double? = nil, - m43: Double? = nil, - m44: Double? = nil, - is2D: Bool? = nil - ) { + public required init(unsafelyWrapping object: JSObject) { + _a = ReadWriteAttribute(jsObject: object, name: Strings.a) + _b = ReadWriteAttribute(jsObject: object, name: Strings.b) + _c = ReadWriteAttribute(jsObject: object, name: Strings.c) + _d = ReadWriteAttribute(jsObject: object, name: Strings.d) + _e = ReadWriteAttribute(jsObject: object, name: Strings.e) + _f = ReadWriteAttribute(jsObject: object, name: Strings.f) + _m11 = ReadWriteAttribute(jsObject: object, name: Strings.m11) + _m12 = ReadWriteAttribute(jsObject: object, name: Strings.m12) + _m21 = ReadWriteAttribute(jsObject: object, name: Strings.m21) + _m22 = ReadWriteAttribute(jsObject: object, name: Strings.m22) + _m41 = ReadWriteAttribute(jsObject: object, name: Strings.m41) + _m42 = ReadWriteAttribute(jsObject: object, name: Strings.m42) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var a: Double? + + @ReadWriteAttribute + public var b: Double? + + @ReadWriteAttribute + public var c: Double? + + @ReadWriteAttribute + public var d: Double? + + @ReadWriteAttribute + public var e: Double? + + @ReadWriteAttribute + public var f: Double? + + @ReadWriteAttribute + public var m11: Double? + + @ReadWriteAttribute + public var m12: Double? + + @ReadWriteAttribute + public var m21: Double? + + @ReadWriteAttribute + public var m22: Double? + + @ReadWriteAttribute + public var m41: Double? + + @ReadWriteAttribute + public var m42: Double? +} + +public class DOMMatrixInit: BridgedDictionary { + public convenience init(m13: Double, m14: Double, m23: Double, m24: Double, m31: Double, m32: Double, m33: Double, m34: Double, m43: Double, m44: Double, is2D: Bool) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.a] = _toJSValue(a) - object[Strings.b] = _toJSValue(b) - object[Strings.c] = _toJSValue(c) - object[Strings.d] = _toJSValue(d) - object[Strings.e] = _toJSValue(e) - object[Strings.f] = _toJSValue(f) - object[Strings.m11] = _toJSValue(m11) - object[Strings.m12] = _toJSValue(m12) - object[Strings.m21] = _toJSValue(m21) - object[Strings.m22] = _toJSValue(m22) - object[Strings.m41] = _toJSValue(m41) - object[Strings.m42] = _toJSValue(m42) object[Strings.m13] = _toJSValue(m13) object[Strings.m14] = _toJSValue(m14) object[Strings.m23] = _toJSValue(m23) @@ -3308,251 +3130,267 @@ open class DOMMatrixInit: DOMMatrix2DInit { object[Strings.m43] = _toJSValue(m43) object[Strings.m44] = _toJSValue(m44) object[Strings.is2D] = _toJSValue(is2D) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var m13: Double { - get { jsObject[Strings.m13].fromJSValue()! } - set { jsObject[Strings.m13] = _toJSValue(newValue) } - } - @inlinable public var m14: Double { - get { jsObject[Strings.m14].fromJSValue()! } - set { jsObject[Strings.m14] = _toJSValue(newValue) } - } - @inlinable public var m23: Double { - get { jsObject[Strings.m23].fromJSValue()! } - set { jsObject[Strings.m23] = _toJSValue(newValue) } - } - @inlinable public var m24: Double { - get { jsObject[Strings.m24].fromJSValue()! } - set { jsObject[Strings.m24] = _toJSValue(newValue) } - } - @inlinable public var m31: Double { - get { jsObject[Strings.m31].fromJSValue()! } - set { jsObject[Strings.m31] = _toJSValue(newValue) } - } - @inlinable public var m32: Double { - get { jsObject[Strings.m32].fromJSValue()! } - set { jsObject[Strings.m32] = _toJSValue(newValue) } - } - @inlinable public var m33: Double { - get { jsObject[Strings.m33].fromJSValue()! } - set { jsObject[Strings.m33] = _toJSValue(newValue) } - } - @inlinable public var m34: Double { - get { jsObject[Strings.m34].fromJSValue()! } - set { jsObject[Strings.m34] = _toJSValue(newValue) } - } - @inlinable public var m43: Double { - get { jsObject[Strings.m43].fromJSValue()! } - set { jsObject[Strings.m43] = _toJSValue(newValue) } - } - @inlinable public var m44: Double { - get { jsObject[Strings.m44].fromJSValue()! } - set { jsObject[Strings.m44] = _toJSValue(newValue) } - } - @inlinable public var is2D: Bool { - get { jsObject[Strings.is2D].fromJSValue()! } - set { jsObject[Strings.is2D] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _m13 = ReadWriteAttribute(jsObject: object, name: Strings.m13) + _m14 = ReadWriteAttribute(jsObject: object, name: Strings.m14) + _m23 = ReadWriteAttribute(jsObject: object, name: Strings.m23) + _m24 = ReadWriteAttribute(jsObject: object, name: Strings.m24) + _m31 = ReadWriteAttribute(jsObject: object, name: Strings.m31) + _m32 = ReadWriteAttribute(jsObject: object, name: Strings.m32) + _m33 = ReadWriteAttribute(jsObject: object, name: Strings.m33) + _m34 = ReadWriteAttribute(jsObject: object, name: Strings.m34) + _m43 = ReadWriteAttribute(jsObject: object, name: Strings.m43) + _m44 = ReadWriteAttribute(jsObject: object, name: Strings.m44) + _is2D = ReadWriteAttribute(jsObject: object, name: Strings.is2D) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var m13: Double? + + @ReadWriteAttribute + public var m14: Double? + + @ReadWriteAttribute + public var m23: Double? + + @ReadWriteAttribute + public var m24: Double? + + @ReadWriteAttribute + public var m31: Double? + + @ReadWriteAttribute + public var m32: Double? + + @ReadWriteAttribute + public var m33: Double? + + @ReadWriteAttribute + public var m34: Double? + + @ReadWriteAttribute + public var m43: Double? + + @ReadWriteAttribute + public var m44: Double? + + @ReadWriteAttribute + public var is2D: Bool? } + public class DOMMatrixReadOnly: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.DOMMatrixReadOnly].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - - @inlinable public convenience init(`init`: String_or_seq_of_Double? = nil) { + public required init(unsafelyWrapping jsObject: JSObject) { + _a = ReadonlyAttribute(jsObject: jsObject, name: Strings.a) + _b = ReadonlyAttribute(jsObject: jsObject, name: Strings.b) + _c = ReadonlyAttribute(jsObject: jsObject, name: Strings.c) + _d = ReadonlyAttribute(jsObject: jsObject, name: Strings.d) + _e = ReadonlyAttribute(jsObject: jsObject, name: Strings.e) + _f = ReadonlyAttribute(jsObject: jsObject, name: Strings.f) + _m11 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m11) + _m12 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m12) + _m13 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m13) + _m14 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m14) + _m21 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m21) + _m22 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m22) + _m23 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m23) + _m24 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m24) + _m31 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m31) + _m32 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m32) + _m33 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m33) + _m34 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m34) + _m41 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m41) + _m42 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m42) + _m43 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m43) + _m44 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m44) + _is2D = ReadonlyAttribute(jsObject: jsObject, name: Strings.is2D) + _isIdentity = ReadonlyAttribute(jsObject: jsObject, name: Strings.isIdentity) + self.jsObject = jsObject + } + + @inlinable public convenience init(init: String_or_seq_of_Double? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public class func fromMatrix(other: DOMMatrixInit? = nil) -> DOMMatrixReadOnly { + @inlinable public class func fromMatrix(other: DOMMatrixInit? = nil) -> Self { let this = constructor! return this[Strings.fromMatrix].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public class func fromFloat32Array(array32: Float32Array) -> DOMMatrixReadOnly { + @inlinable public class func fromFloat32Array(array32: Float32Array) -> Self { let this = constructor! return this[Strings.fromFloat32Array].function!(this: this, arguments: [_toJSValue(array32)]).fromJSValue()! } - @inlinable public class func fromFloat64Array(array64: Float64Array) -> DOMMatrixReadOnly { + @inlinable public class func fromFloat64Array(array64: Float64Array) -> Self { let this = constructor! return this[Strings.fromFloat64Array].function!(this: this, arguments: [_toJSValue(array64)]).fromJSValue()! } - @inlinable public var a: Double { jsObject[Strings.a].fromJSValue()! } + @ReadonlyAttribute + public var a: Double - @inlinable public var b: Double { jsObject[Strings.b].fromJSValue()! } + @ReadonlyAttribute + public var b: Double - @inlinable public var c: Double { jsObject[Strings.c].fromJSValue()! } + @ReadonlyAttribute + public var c: Double - @inlinable public var d: Double { jsObject[Strings.d].fromJSValue()! } + @ReadonlyAttribute + public var d: Double - @inlinable public var e: Double { jsObject[Strings.e].fromJSValue()! } + @ReadonlyAttribute + public var e: Double - @inlinable public var f: Double { jsObject[Strings.f].fromJSValue()! } + @ReadonlyAttribute + public var f: Double - @inlinable public var m11: Double { jsObject[Strings.m11].fromJSValue()! } + @ReadonlyAttribute + public var m11: Double - @inlinable public var m12: Double { jsObject[Strings.m12].fromJSValue()! } + @ReadonlyAttribute + public var m12: Double - @inlinable public var m13: Double { jsObject[Strings.m13].fromJSValue()! } + @ReadonlyAttribute + public var m13: Double - @inlinable public var m14: Double { jsObject[Strings.m14].fromJSValue()! } + @ReadonlyAttribute + public var m14: Double - @inlinable public var m21: Double { jsObject[Strings.m21].fromJSValue()! } + @ReadonlyAttribute + public var m21: Double - @inlinable public var m22: Double { jsObject[Strings.m22].fromJSValue()! } + @ReadonlyAttribute + public var m22: Double - @inlinable public var m23: Double { jsObject[Strings.m23].fromJSValue()! } + @ReadonlyAttribute + public var m23: Double - @inlinable public var m24: Double { jsObject[Strings.m24].fromJSValue()! } + @ReadonlyAttribute + public var m24: Double - @inlinable public var m31: Double { jsObject[Strings.m31].fromJSValue()! } + @ReadonlyAttribute + public var m31: Double - @inlinable public var m32: Double { jsObject[Strings.m32].fromJSValue()! } + @ReadonlyAttribute + public var m32: Double - @inlinable public var m33: Double { jsObject[Strings.m33].fromJSValue()! } + @ReadonlyAttribute + public var m33: Double - @inlinable public var m34: Double { jsObject[Strings.m34].fromJSValue()! } + @ReadonlyAttribute + public var m34: Double - @inlinable public var m41: Double { jsObject[Strings.m41].fromJSValue()! } + @ReadonlyAttribute + public var m41: Double - @inlinable public var m42: Double { jsObject[Strings.m42].fromJSValue()! } + @ReadonlyAttribute + public var m42: Double - @inlinable public var m43: Double { jsObject[Strings.m43].fromJSValue()! } + @ReadonlyAttribute + public var m43: Double - @inlinable public var m44: Double { jsObject[Strings.m44].fromJSValue()! } + @ReadonlyAttribute + public var m44: Double - @inlinable public var is2D: Bool { jsObject[Strings.is2D].fromJSValue()! } + @ReadonlyAttribute + public var is2D: Bool - @inlinable public var isIdentity: Bool { jsObject[Strings.isIdentity].fromJSValue()! } + @ReadonlyAttribute + public var isIdentity: Bool - @inlinable final public func translate(tx: Double? = nil, ty: Double? = nil, tz: Double? = nil) -> DOMMatrix { + @inlinable public func translate(tx: Double? = nil, ty: Double? = nil, tz: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.translate].function!( - this: this, - arguments: [_toJSValue(tx), _toJSValue(ty), _toJSValue(tz)] - ).fromJSValue()! + return this[Strings.translate].function!(this: this, arguments: [_toJSValue(tx), _toJSValue(ty), _toJSValue(tz)]).fromJSValue()! } - @inlinable final public func scale( - scaleX: Double? = nil, - scaleY: Double? = nil, - scaleZ: Double? = nil, - originX: Double? = nil, - originY: Double? = nil, - originZ: Double? = nil - ) -> DOMMatrix { + @inlinable public func scale(scaleX: Double? = nil, scaleY: Double? = nil, scaleZ: Double? = nil, originX: Double? = nil, originY: Double? = nil, originZ: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.scale].function!( - this: this, - arguments: [ - _toJSValue(scaleX), _toJSValue(scaleY), _toJSValue(scaleZ), _toJSValue(originX), _toJSValue(originY), - _toJSValue(originZ), - ] - ).fromJSValue()! + return this[Strings.scale].function!(this: this, arguments: [_toJSValue(scaleX), _toJSValue(scaleY), _toJSValue(scaleZ), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)]).fromJSValue()! } - @inlinable final public func scaleNonUniform(scaleX: Double? = nil, scaleY: Double? = nil) -> DOMMatrix { + @inlinable public func scaleNonUniform(scaleX: Double? = nil, scaleY: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.scaleNonUniform].function!(this: this, arguments: [_toJSValue(scaleX), _toJSValue(scaleY)]) - .fromJSValue()! + return this[Strings.scaleNonUniform].function!(this: this, arguments: [_toJSValue(scaleX), _toJSValue(scaleY)]).fromJSValue()! } - @inlinable final public func scale3d( - scale: Double? = nil, - originX: Double? = nil, - originY: Double? = nil, - originZ: Double? = nil - ) -> DOMMatrix { + @inlinable public func scale3d(scale: Double? = nil, originX: Double? = nil, originY: Double? = nil, originZ: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.scale3d].function!( - this: this, - arguments: [_toJSValue(scale), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)] - ).fromJSValue()! + return this[Strings.scale3d].function!(this: this, arguments: [_toJSValue(scale), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)]).fromJSValue()! } - @inlinable final public func rotate(rotX: Double? = nil, rotY: Double? = nil, rotZ: Double? = nil) -> DOMMatrix { + @inlinable public func rotate(rotX: Double? = nil, rotY: Double? = nil, rotZ: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.rotate].function!( - this: this, - arguments: [_toJSValue(rotX), _toJSValue(rotY), _toJSValue(rotZ)] - ).fromJSValue()! + return this[Strings.rotate].function!(this: this, arguments: [_toJSValue(rotX), _toJSValue(rotY), _toJSValue(rotZ)]).fromJSValue()! } - @inlinable final public func rotateFromVector(x: Double? = nil, y: Double? = nil) -> DOMMatrix { + @inlinable public func rotateFromVector(x: Double? = nil, y: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.rotateFromVector].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) - .fromJSValue()! + return this[Strings.rotateFromVector].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue()! } - @inlinable final public func rotateAxisAngle( - x: Double? = nil, - y: Double? = nil, - z: Double? = nil, - angle: Double? = nil - ) -> DOMMatrix { + @inlinable public func rotateAxisAngle(x: Double? = nil, y: Double? = nil, z: Double? = nil, angle: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.rotateAxisAngle].function!( - this: this, - arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle)] - ).fromJSValue()! + return this[Strings.rotateAxisAngle].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle)]).fromJSValue()! } - @inlinable final public func skewX(sx: Double? = nil) -> DOMMatrix { + @inlinable public func skewX(sx: Double? = nil) -> DOMMatrix { let this = jsObject return this[Strings.skewX].function!(this: this, arguments: [_toJSValue(sx)]).fromJSValue()! } - @inlinable final public func skewY(sy: Double? = nil) -> DOMMatrix { + @inlinable public func skewY(sy: Double? = nil) -> DOMMatrix { let this = jsObject return this[Strings.skewY].function!(this: this, arguments: [_toJSValue(sy)]).fromJSValue()! } - @inlinable final public func multiply(other: DOMMatrixInit? = nil) -> DOMMatrix { + @inlinable public func multiply(other: DOMMatrixInit? = nil) -> DOMMatrix { let this = jsObject return this[Strings.multiply].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable final public func flipX() -> DOMMatrix { + @inlinable public func flipX() -> DOMMatrix { let this = jsObject return this[Strings.flipX].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func flipY() -> DOMMatrix { + @inlinable public func flipY() -> DOMMatrix { let this = jsObject return this[Strings.flipY].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func inverse() -> DOMMatrix { + @inlinable public func inverse() -> DOMMatrix { let this = jsObject return this[Strings.inverse].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func transformPoint(point: DOMPointInit? = nil) -> DOMPoint { + @inlinable public func transformPoint(point: DOMPointInit? = nil) -> DOMPoint { let this = jsObject return this[Strings.transformPoint].function!(this: this, arguments: [_toJSValue(point)]).fromJSValue()! } - @inlinable final public func toFloat32Array() -> Float32Array { + @inlinable public func toFloat32Array() -> Float32Array { let this = jsObject return this[Strings.toFloat32Array].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func toFloat64Array() -> Float64Array { + @inlinable public func toFloat64Array() -> Float64Array { let this = jsObject return this[Strings.toFloat64Array].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } + @inlinable public var description: String { + jsObject[Strings.toString]!().fromJSValue()! + } - @inlinable final public func toJSON() -> JSObject { + @inlinable public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -3563,14 +3401,17 @@ public class DOMParser: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable final public func parseFromString(string: String, type: DOMParserSupportedType) -> Document { + @inlinable public func parseFromString(string: String, type: DOMParserSupportedType) -> Document { let this = jsObject - return this[Strings.parseFromString].function!(this: this, arguments: [_toJSValue(string), _toJSValue(type)]) - .fromJSValue()! + return this[Strings.parseFromString].function!(this: this, arguments: [_toJSValue(string), _toJSValue(type)]).fromJSValue()! } } @@ -3582,100 +3423,135 @@ public enum DOMParserSupportedType: JSString, JSValueCompatible { case imageSvgXml = "image/svg+xml" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class DOMPoint: DOMPointReadOnly { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DOMPoint].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DOMPoint].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _x = ReadWriteAttribute(jsObject: jsObject, name: Strings.x) + _y = ReadWriteAttribute(jsObject: jsObject, name: Strings.y) + _z = ReadWriteAttribute(jsObject: jsObject, name: Strings.z) + _w = ReadWriteAttribute(jsObject: jsObject, name: Strings.w) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(x: Double? = nil, y: Double? = nil, z: Double? = nil, w: Double? = nil) { - self.init( - unsafelyWrapping: Self.constructor!.new(arguments: [ - _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w), - ]) - ) + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)])) } - @inlinable override public class func fromPoint(other: DOMPointInit? = nil) -> DOMPoint { + @inlinable override public class func fromPoint(other: DOMPointInit? = nil) -> Self { let this = constructor! return this[Strings.fromPoint].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } -} + @usableFromInline let _x: ReadWriteAttribute + @inlinable override public var x: Double { + get { _x.wrappedValue } + set { _x.wrappedValue = newValue } + } -open class DOMPointInit: JSDictionaryCompatible { - public let jsObject: JSObject + @usableFromInline let _y: ReadWriteAttribute + @inlinable override public var y: Double { + get { _y.wrappedValue } + set { _y.wrappedValue = newValue } + } + + @usableFromInline let _z: ReadWriteAttribute + @inlinable override public var z: Double { + get { _z.wrappedValue } + set { _z.wrappedValue = newValue } + } + + @usableFromInline let _w: ReadWriteAttribute + @inlinable override public var w: Double { + get { _w.wrappedValue } + set { _w.wrappedValue = newValue } + } +} - public convenience init(x: Double? = nil, y: Double? = nil, z: Double? = nil, w: Double? = nil) { +public class DOMPointInit: BridgedDictionary { + public convenience init(x: Double, y: Double, z: Double, w: Double) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.x] = _toJSValue(x) object[Strings.y] = _toJSValue(y) object[Strings.z] = _toJSValue(z) object[Strings.w] = _toJSValue(w) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var x: Double { - get { jsObject[Strings.x].fromJSValue()! } - set { jsObject[Strings.x] = _toJSValue(newValue) } - } - @inlinable public var y: Double { - get { jsObject[Strings.y].fromJSValue()! } - set { jsObject[Strings.y] = _toJSValue(newValue) } - } - @inlinable public var z: Double { - get { jsObject[Strings.z].fromJSValue()! } - set { jsObject[Strings.z] = _toJSValue(newValue) } - } - @inlinable public var w: Double { - get { jsObject[Strings.w].fromJSValue()! } - set { jsObject[Strings.w] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _x = ReadWriteAttribute(jsObject: object, name: Strings.x) + _y = ReadWriteAttribute(jsObject: object, name: Strings.y) + _z = ReadWriteAttribute(jsObject: object, name: Strings.z) + _w = ReadWriteAttribute(jsObject: object, name: Strings.w) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var x: Double? + + @ReadWriteAttribute + public var y: Double? + + @ReadWriteAttribute + public var z: Double? + + @ReadWriteAttribute + public var w: Double? } + public class DOMPointReadOnly: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.DOMPointReadOnly].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) + _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) + _z = ReadonlyAttribute(jsObject: jsObject, name: Strings.z) + _w = ReadonlyAttribute(jsObject: jsObject, name: Strings.w) + self.jsObject = jsObject + } @inlinable public convenience init(x: Double? = nil, y: Double? = nil, z: Double? = nil, w: Double? = nil) { - self.init( - unsafelyWrapping: Self.constructor!.new(arguments: [ - _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w), - ]) - ) + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)])) } - @inlinable public class func fromPoint(other: DOMPointInit? = nil) -> DOMPointReadOnly { + @inlinable public class func fromPoint(other: DOMPointInit? = nil) -> Self { let this = constructor! return this[Strings.fromPoint].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public var x: Double { jsObject[Strings.x].fromJSValue()! } + @ReadonlyAttribute + public var x: Double - @inlinable public var y: Double { jsObject[Strings.y].fromJSValue()! } + @ReadonlyAttribute + public var y: Double - @inlinable public var z: Double { jsObject[Strings.z].fromJSValue()! } + @ReadonlyAttribute + public var z: Double - @inlinable public var w: Double { jsObject[Strings.w].fromJSValue()! } + @ReadonlyAttribute + public var w: Double - @inlinable final public func matrixTransform(matrix: DOMMatrixInit? = nil) -> DOMPoint { + @inlinable public func matrixTransform(matrix: DOMMatrixInit? = nil) -> DOMPoint { let this = jsObject return this[Strings.matrixTransform].function!(this: this, arguments: [_toJSValue(matrix)]).fromJSValue()! } - @inlinable final public func toJSON() -> JSObject { + @inlinable public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -3686,152 +3562,176 @@ public class DOMQuad: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _p1 = ReadonlyAttribute(jsObject: jsObject, name: Strings.p1) + _p2 = ReadonlyAttribute(jsObject: jsObject, name: Strings.p2) + _p3 = ReadonlyAttribute(jsObject: jsObject, name: Strings.p3) + _p4 = ReadonlyAttribute(jsObject: jsObject, name: Strings.p4) + self.jsObject = jsObject + } - @inlinable public convenience init( - p1: DOMPointInit? = nil, - p2: DOMPointInit? = nil, - p3: DOMPointInit? = nil, - p4: DOMPointInit? = nil - ) { - self.init( - unsafelyWrapping: Self.constructor!.new(arguments: [ - _toJSValue(p1), _toJSValue(p2), _toJSValue(p3), _toJSValue(p4), - ]) - ) + @inlinable public convenience init(p1: DOMPointInit? = nil, p2: DOMPointInit? = nil, p3: DOMPointInit? = nil, p4: DOMPointInit? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(p1), _toJSValue(p2), _toJSValue(p3), _toJSValue(p4)])) } - @inlinable public class func fromRect(other: DOMRectInit? = nil) -> DOMQuad { + @inlinable public class func fromRect(other: DOMRectInit? = nil) -> Self { let this = constructor! return this[Strings.fromRect].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public class func fromQuad(other: DOMQuadInit? = nil) -> DOMQuad { + @inlinable public class func fromQuad(other: DOMQuadInit? = nil) -> Self { let this = constructor! return this[Strings.fromQuad].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public var p1: DOMPoint { jsObject[Strings.p1].fromJSValue()! } + @ReadonlyAttribute + public var p1: DOMPoint - @inlinable public var p2: DOMPoint { jsObject[Strings.p2].fromJSValue()! } + @ReadonlyAttribute + public var p2: DOMPoint - @inlinable public var p3: DOMPoint { jsObject[Strings.p3].fromJSValue()! } + @ReadonlyAttribute + public var p3: DOMPoint - @inlinable public var p4: DOMPoint { jsObject[Strings.p4].fromJSValue()! } + @ReadonlyAttribute + public var p4: DOMPoint - @inlinable final public func getBounds() -> DOMRect { + @inlinable public func getBounds() -> DOMRect { let this = jsObject return this[Strings.getBounds].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func toJSON() -> JSObject { + @inlinable public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } } -open class DOMQuadInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - p1: DOMPointInit? = nil, - p2: DOMPointInit? = nil, - p3: DOMPointInit? = nil, - p4: DOMPointInit? = nil - ) { +public class DOMQuadInit: BridgedDictionary { + public convenience init(p1: DOMPointInit, p2: DOMPointInit, p3: DOMPointInit, p4: DOMPointInit) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.p1] = _toJSValue(p1) object[Strings.p2] = _toJSValue(p2) object[Strings.p3] = _toJSValue(p3) object[Strings.p4] = _toJSValue(p4) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var p1: DOMPointInit { - get { jsObject[Strings.p1].fromJSValue()! } - set { jsObject[Strings.p1] = _toJSValue(newValue) } - } - @inlinable public var p2: DOMPointInit { - get { jsObject[Strings.p2].fromJSValue()! } - set { jsObject[Strings.p2] = _toJSValue(newValue) } - } - @inlinable public var p3: DOMPointInit { - get { jsObject[Strings.p3].fromJSValue()! } - set { jsObject[Strings.p3] = _toJSValue(newValue) } - } - @inlinable public var p4: DOMPointInit { - get { jsObject[Strings.p4].fromJSValue()! } - set { jsObject[Strings.p4] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _p1 = ReadWriteAttribute(jsObject: object, name: Strings.p1) + _p2 = ReadWriteAttribute(jsObject: object, name: Strings.p2) + _p3 = ReadWriteAttribute(jsObject: object, name: Strings.p3) + _p4 = ReadWriteAttribute(jsObject: object, name: Strings.p4) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var p1: DOMPointInit? + + @ReadWriteAttribute + public var p2: DOMPointInit? + + @ReadWriteAttribute + public var p3: DOMPointInit? + + @ReadWriteAttribute + public var p4: DOMPointInit? } + public class DOMRect: DOMRectReadOnly { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DOMRect].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DOMRect].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _x = ReadWriteAttribute(jsObject: jsObject, name: Strings.x) + _y = ReadWriteAttribute(jsObject: jsObject, name: Strings.y) + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) - { - self.init( - unsafelyWrapping: Self.constructor!.new(arguments: [ - _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), - ]) - ) + @inlinable public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)])) } - @inlinable override public class func fromRect(other: DOMRectInit? = nil) -> DOMRect { + @inlinable override public class func fromRect(other: DOMRectInit? = nil) -> Self { let this = constructor! return this[Strings.fromRect].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } -} + @usableFromInline let _x: ReadWriteAttribute + @inlinable override public var x: Double { + get { _x.wrappedValue } + set { _x.wrappedValue = newValue } + } -open class DOMRectInit: JSDictionaryCompatible { - public let jsObject: JSObject + @usableFromInline let _y: ReadWriteAttribute + @inlinable override public var y: Double { + get { _y.wrappedValue } + set { _y.wrappedValue = newValue } + } + + @usableFromInline let _width: ReadWriteAttribute + @inlinable override public var width: Double { + get { _width.wrappedValue } + set { _width.wrappedValue = newValue } + } + + @usableFromInline let _height: ReadWriteAttribute + @inlinable override public var height: Double { + get { _height.wrappedValue } + set { _height.wrappedValue = newValue } + } +} - public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) { +public class DOMRectInit: BridgedDictionary { + public convenience init(x: Double, y: Double, width: Double, height: Double) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.x] = _toJSValue(x) object[Strings.y] = _toJSValue(y) object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var x: Double { - get { jsObject[Strings.x].fromJSValue()! } - set { jsObject[Strings.x] = _toJSValue(newValue) } - } - @inlinable public var y: Double { - get { jsObject[Strings.y].fromJSValue()! } - set { jsObject[Strings.y] = _toJSValue(newValue) } - } - @inlinable public var width: Double { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } - @inlinable public var height: Double { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _x = ReadWriteAttribute(jsObject: object, name: Strings.x) + _y = ReadWriteAttribute(jsObject: object, name: Strings.y) + _width = ReadWriteAttribute(jsObject: object, name: Strings.width) + _height = ReadWriteAttribute(jsObject: object, name: Strings.height) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var x: Double? + + @ReadWriteAttribute + public var y: Double? + + @ReadWriteAttribute + public var width: Double? + + @ReadWriteAttribute + public var height: Double? } + public class DOMRectList: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.DOMRectList].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> DOMRect? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: Int) -> DOMRect? { + jsObject[key].fromJSValue() + } - @inlinable final public func item(index: UInt32) -> DOMRect? { + @inlinable public func item(index: UInt32) -> DOMRect? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } @@ -3842,39 +3742,52 @@ public class DOMRectReadOnly: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) + _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) + _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) + _top = ReadonlyAttribute(jsObject: jsObject, name: Strings.top) + _right = ReadonlyAttribute(jsObject: jsObject, name: Strings.right) + _bottom = ReadonlyAttribute(jsObject: jsObject, name: Strings.bottom) + _left = ReadonlyAttribute(jsObject: jsObject, name: Strings.left) + self.jsObject = jsObject + } - @inlinable public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) - { - self.init( - unsafelyWrapping: Self.constructor!.new(arguments: [ - _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), - ]) - ) + @inlinable public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)])) } - @inlinable public class func fromRect(other: DOMRectInit? = nil) -> DOMRectReadOnly { + @inlinable public class func fromRect(other: DOMRectInit? = nil) -> Self { let this = constructor! return this[Strings.fromRect].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public var x: Double { jsObject[Strings.x].fromJSValue()! } + @ReadonlyAttribute + public var x: Double - @inlinable public var y: Double { jsObject[Strings.y].fromJSValue()! } + @ReadonlyAttribute + public var y: Double - @inlinable public var width: Double { jsObject[Strings.width].fromJSValue()! } + @ReadonlyAttribute + public var width: Double - @inlinable public var height: Double { jsObject[Strings.height].fromJSValue()! } + @ReadonlyAttribute + public var height: Double - @inlinable public var top: Double { jsObject[Strings.top].fromJSValue()! } + @ReadonlyAttribute + public var top: Double - @inlinable public var right: Double { jsObject[Strings.right].fromJSValue()! } + @ReadonlyAttribute + public var right: Double - @inlinable public var bottom: Double { jsObject[Strings.bottom].fromJSValue()! } + @ReadonlyAttribute + public var bottom: Double - @inlinable public var left: Double { jsObject[Strings.left].fromJSValue()! } + @ReadonlyAttribute + public var left: Double - @inlinable final public func toJSON() -> JSObject { + @inlinable public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -3885,18 +3798,24 @@ public class DOMStringList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> String? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: Int) -> String? { + jsObject[key].fromJSValue() + } - @inlinable final public func item(index: UInt32) -> String? { + @inlinable public func item(index: UInt32) -> String? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable final public func contains(string: String) -> Bool { + @inlinable public func contains(string: String) -> Bool { let this = jsObject return this[Strings.contains].function!(this: this, arguments: [_toJSValue(string)]).fromJSValue()! } @@ -3907,11 +3826,17 @@ public class DOMStringMap: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } @inlinable public subscript(key: String) -> String { - get { jsObject[key].fromJSValue()! } - set { jsObject[key] = _toJSValue(newValue) } + get { + jsObject[key].fromJSValue()! + } + set { + jsObject[key] = _toJSValue(newValue) + } } @inlinable public func removeValue(forKey key: String) { @@ -3924,56 +3849,61 @@ public class DOMTokenList: JSBridgedClass, Sequence { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + self.jsObject = jsObject + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> String? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: Int) -> String? { + jsObject[key].fromJSValue() + } - @inlinable final public func item(index: UInt32) -> String? { + @inlinable public func item(index: UInt32) -> String? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable final public func contains(token: String) -> Bool { + @inlinable public func contains(token: String) -> Bool { let this = jsObject return this[Strings.contains].function!(this: this, arguments: [_toJSValue(token)]).fromJSValue()! } - @inlinable final public func add(tokens: String...) { + @inlinable public func add(tokens: String...) { let this = jsObject _ = this[Strings.add].function!(this: this, arguments: tokens.map(_toJSValue)) } - @inlinable final public func remove(tokens: String...) { + @inlinable public func remove(tokens: String...) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: tokens.map(_toJSValue)) } - @inlinable final public func toggle(token: String, force: Bool? = nil) -> Bool { + @inlinable public func toggle(token: String, force: Bool? = nil) -> Bool { let this = jsObject - return this[Strings.toggle].function!(this: this, arguments: [_toJSValue(token), _toJSValue(force)]) - .fromJSValue()! + return this[Strings.toggle].function!(this: this, arguments: [_toJSValue(token), _toJSValue(force)]).fromJSValue()! } - @inlinable final public func replace(token: String, newToken: String) -> Bool { + @inlinable public func replace(token: String, newToken: String) -> Bool { let this = jsObject - return this[Strings.replace].function!(this: this, arguments: [_toJSValue(token), _toJSValue(newToken)]) - .fromJSValue()! + return this[Strings.replace].function!(this: this, arguments: [_toJSValue(token), _toJSValue(newToken)]).fromJSValue()! } - @inlinable final public func supports(token: String) -> Bool { + @inlinable public func supports(token: String) -> Bool { let this = jsObject return this[Strings.supports].function!(this: this, arguments: [_toJSValue(token)]).fromJSValue()! } - @inlinable public var value: String { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var value: String public typealias Element = String - public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } + public func makeIterator() -> ValueIterableIterator { + ValueIterableIterator(sequence: self) + } } public class DataTransfer: JSBridgedClass { @@ -3981,48 +3911,53 @@ public class DataTransfer: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var dropEffect: String { - get { jsObject[Strings.dropEffect].fromJSValue()! } - set { jsObject[Strings.dropEffect] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _dropEffect = ReadWriteAttribute(jsObject: jsObject, name: Strings.dropEffect) + _effectAllowed = ReadWriteAttribute(jsObject: jsObject, name: Strings.effectAllowed) + _items = ReadonlyAttribute(jsObject: jsObject, name: Strings.items) + _types = ReadonlyAttribute(jsObject: jsObject, name: Strings.types) + _files = ReadonlyAttribute(jsObject: jsObject, name: Strings.files) + self.jsObject = jsObject } - @inlinable public var effectAllowed: String { - get { jsObject[Strings.effectAllowed].fromJSValue()! } - set { jsObject[Strings.effectAllowed] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var items: DataTransferItemList { jsObject[Strings.items].fromJSValue()! } + @ReadWriteAttribute + public var dropEffect: String + + @ReadWriteAttribute + public var effectAllowed: String + + @ReadonlyAttribute + public var items: DataTransferItemList - @inlinable final public func setDragImage(image: Element, x: Int32, y: Int32) { + @inlinable public func setDragImage(image: Element, x: Int32, y: Int32) { let this = jsObject - _ = this[Strings.setDragImage].function!( - this: this, - arguments: [_toJSValue(image), _toJSValue(x), _toJSValue(y)] - ) + _ = this[Strings.setDragImage].function!(this: this, arguments: [_toJSValue(image), _toJSValue(x), _toJSValue(y)]) } - @inlinable public var types: [String] { jsObject[Strings.types].fromJSValue()! } + @ReadonlyAttribute + public var types: [String] - @inlinable final public func getData(format: String) -> String { + @inlinable public func getData(format: String) -> String { let this = jsObject return this[Strings.getData].function!(this: this, arguments: [_toJSValue(format)]).fromJSValue()! } - @inlinable final public func setData(format: String, data: String) { + @inlinable public func setData(format: String, data: String) { let this = jsObject _ = this[Strings.setData].function!(this: this, arguments: [_toJSValue(format), _toJSValue(data)]) } - @inlinable final public func clearData(format: String? = nil) { + @inlinable public func clearData(format: String? = nil) { let this = jsObject _ = this[Strings.clearData].function!(this: this, arguments: [_toJSValue(format)]) } - @inlinable public var files: FileList { jsObject[Strings.files].fromJSValue()! } + @ReadonlyAttribute + public var files: FileList } public class DataTransferItem: JSBridgedClass { @@ -4030,18 +3965,24 @@ public class DataTransferItem: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + self.jsObject = jsObject + } - @inlinable public var kind: String { jsObject[Strings.kind].fromJSValue()! } + @ReadonlyAttribute + public var kind: String - @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } + @ReadonlyAttribute + public var type: String - @inlinable final public func getAsString(callback: FunctionStringCallback?) { + @inlinable public func getAsString(callback: FunctionStringCallback?) { let this = jsObject _ = this[Strings.getAsString].function!(this: this, arguments: [_toJSValue(callback)]) } - @inlinable final public func getAsFile() -> File? { + @inlinable public func getAsFile() -> File? { let this = jsObject return this[Strings.getAsFile].function!(this: this, arguments: []).fromJSValue() } @@ -4052,180 +3993,214 @@ public class DataTransferItemList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> DataTransferItem { jsObject[key].fromJSValue()! } + @inlinable public subscript(key: Int) -> DataTransferItem { + jsObject[key].fromJSValue()! + } - @inlinable final public func add(data: String, type: String) -> DataTransferItem? { + @inlinable public func add(data: String, type: String) -> DataTransferItem? { let this = jsObject return this[Strings.add].function!(this: this, arguments: [_toJSValue(data), _toJSValue(type)]).fromJSValue() } - @inlinable final public func add(data: File) -> DataTransferItem? { + @inlinable public func add(data: File) -> DataTransferItem? { let this = jsObject return this[Strings.add].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue() } - @inlinable final public func remove(index: UInt32) { + @inlinable public func remove(index: UInt32) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: [_toJSValue(index)]) } - @inlinable final public func clear() { + @inlinable public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } } -open class DevicePermissionDescriptor: PermissionDescriptor { - - public convenience init(name: String, deviceId: String? = nil) { +public class DevicePermissionDescriptor: BridgedDictionary { + public convenience init(deviceId: String) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.name] = _toJSValue(name) object[Strings.deviceId] = _toJSValue(deviceId) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var deviceId: String { - get { jsObject[Strings.deviceId].fromJSValue()! } - set { jsObject[Strings.deviceId] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var deviceId: String? } -public class Document: Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, XPathEvaluatorBase, - GlobalEventHandlers, GeometryUtils -{ - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Document].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } +public class Document: Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, XPathEvaluatorBase, GlobalEventHandlers, GeometryUtils { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Document].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _implementation = ReadonlyAttribute(jsObject: jsObject, name: Strings.implementation) + _URL = ReadonlyAttribute(jsObject: jsObject, name: Strings.URL) + _documentURI = ReadonlyAttribute(jsObject: jsObject, name: Strings.documentURI) + _compatMode = ReadonlyAttribute(jsObject: jsObject, name: Strings.compatMode) + _characterSet = ReadonlyAttribute(jsObject: jsObject, name: Strings.characterSet) + _charset = ReadonlyAttribute(jsObject: jsObject, name: Strings.charset) + _inputEncoding = ReadonlyAttribute(jsObject: jsObject, name: Strings.inputEncoding) + _contentType = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentType) + _doctype = ReadonlyAttribute(jsObject: jsObject, name: Strings.doctype) + _documentElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.documentElement) + _location = ReadonlyAttribute(jsObject: jsObject, name: Strings.location) + _domain = ReadWriteAttribute(jsObject: jsObject, name: Strings.domain) + _referrer = ReadonlyAttribute(jsObject: jsObject, name: Strings.referrer) + _cookie = ReadWriteAttribute(jsObject: jsObject, name: Strings.cookie) + _lastModified = ReadonlyAttribute(jsObject: jsObject, name: Strings.lastModified) + _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) + _title = ReadWriteAttribute(jsObject: jsObject, name: Strings.title) + _dir = ReadWriteAttribute(jsObject: jsObject, name: Strings.dir) + _body = ReadWriteAttribute(jsObject: jsObject, name: Strings.body) + _head = ReadonlyAttribute(jsObject: jsObject, name: Strings.head) + _images = ReadonlyAttribute(jsObject: jsObject, name: Strings.images) + _embeds = ReadonlyAttribute(jsObject: jsObject, name: Strings.embeds) + _plugins = ReadonlyAttribute(jsObject: jsObject, name: Strings.plugins) + _links = ReadonlyAttribute(jsObject: jsObject, name: Strings.links) + _forms = ReadonlyAttribute(jsObject: jsObject, name: Strings.forms) + _scripts = ReadonlyAttribute(jsObject: jsObject, name: Strings.scripts) + _currentScript = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentScript) + _defaultView = ReadonlyAttribute(jsObject: jsObject, name: Strings.defaultView) + _designMode = ReadWriteAttribute(jsObject: jsObject, name: Strings.designMode) + _hidden = ReadonlyAttribute(jsObject: jsObject, name: Strings.hidden) + _visibilityState = ReadonlyAttribute(jsObject: jsObject, name: Strings.visibilityState) + _onreadystatechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onreadystatechange) + _onvisibilitychange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onvisibilitychange) + _fgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.fgColor) + _linkColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.linkColor) + _vlinkColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.vlinkColor) + _alinkColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.alinkColor) + _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) + _anchors = ReadonlyAttribute(jsObject: jsObject, name: Strings.anchors) + _applets = ReadonlyAttribute(jsObject: jsObject, name: Strings.applets) + _all = ReadonlyAttribute(jsObject: jsObject, name: Strings.all) + _scrollingElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollingElement) + super.init(unsafelyWrapping: jsObject) + } + + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable public var implementation: DOMImplementation { jsObject[Strings.implementation].fromJSValue()! } + @ReadonlyAttribute + public var implementation: DOMImplementation - @inlinable public var URL: String { jsObject[Strings.URL].fromJSValue()! } + @ReadonlyAttribute + public var URL: String - @inlinable public var documentURI: String { jsObject[Strings.documentURI].fromJSValue()! } + @ReadonlyAttribute + public var documentURI: String - @inlinable public var compatMode: String { jsObject[Strings.compatMode].fromJSValue()! } + @ReadonlyAttribute + public var compatMode: String - @inlinable public var characterSet: String { jsObject[Strings.characterSet].fromJSValue()! } + @ReadonlyAttribute + public var characterSet: String - @inlinable public var charset: String { jsObject[Strings.charset].fromJSValue()! } + @ReadonlyAttribute + public var charset: String - @inlinable public var inputEncoding: String { jsObject[Strings.inputEncoding].fromJSValue()! } + @ReadonlyAttribute + public var inputEncoding: String - @inlinable public var contentType: String { jsObject[Strings.contentType].fromJSValue()! } + @ReadonlyAttribute + public var contentType: String - @inlinable public var doctype: DocumentType? { jsObject[Strings.doctype].fromJSValue() } + @ReadonlyAttribute + public var doctype: DocumentType? - @inlinable public var documentElement: Element? { jsObject[Strings.documentElement].fromJSValue() } + @ReadonlyAttribute + public var documentElement: Element? - @inlinable final public func getElementsByTagName(qualifiedName: String) -> HTMLCollection { + @inlinable public func getElementsByTagName(qualifiedName: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByTagName].function!(this: this, arguments: [_toJSValue(qualifiedName)]) - .fromJSValue()! + return this[Strings.getElementsByTagName].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue()! } - @inlinable final public func getElementsByTagNameNS(namespace: String?, localName: String) -> HTMLCollection { + @inlinable public func getElementsByTagNameNS(namespace: String?, localName: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByTagNameNS].function!( - this: this, - arguments: [_toJSValue(namespace), _toJSValue(localName)] - ).fromJSValue()! + return this[Strings.getElementsByTagNameNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue()! } - @inlinable final public func getElementsByClassName(classNames: String) -> HTMLCollection { + @inlinable public func getElementsByClassName(classNames: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByClassName].function!(this: this, arguments: [_toJSValue(classNames)]) - .fromJSValue()! + return this[Strings.getElementsByClassName].function!(this: this, arguments: [_toJSValue(classNames)]).fromJSValue()! } - @inlinable final public func createElement( - localName: String, - options: ElementCreationOptions_or_String? = nil - ) -> Element { + @inlinable public func createElement(localName: String, options: ElementCreationOptions_or_String? = nil) -> Element { let this = jsObject - return this[Strings.createElement].function!( - this: this, - arguments: [_toJSValue(localName), _toJSValue(options)] - ).fromJSValue()! + return this[Strings.createElement].function!(this: this, arguments: [_toJSValue(localName), _toJSValue(options)]).fromJSValue()! } - @inlinable final public func createElementNS( - namespace: String?, - qualifiedName: String, - options: ElementCreationOptions_or_String? = nil - ) -> Element { + @inlinable public func createElementNS(namespace: String?, qualifiedName: String, options: ElementCreationOptions_or_String? = nil) -> Element { let this = jsObject - return this[Strings.createElementNS].function!( - this: this, - arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(options)] - ).fromJSValue()! + return this[Strings.createElementNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(options)]).fromJSValue()! } - @inlinable final public func createDocumentFragment() -> DocumentFragment { + @inlinable public func createDocumentFragment() -> DocumentFragment { let this = jsObject return this[Strings.createDocumentFragment].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func createTextNode(data: String) -> Text { + @inlinable public func createTextNode(data: String) -> Text { let this = jsObject return this[Strings.createTextNode].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable final public func createCDATASection(data: String) -> CDATASection { + @inlinable public func createCDATASection(data: String) -> CDATASection { let this = jsObject return this[Strings.createCDATASection].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable final public func createComment(data: String) -> Comment { + @inlinable public func createComment(data: String) -> Comment { let this = jsObject return this[Strings.createComment].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable final public func createProcessingInstruction(target: String, data: String) -> ProcessingInstruction { + @inlinable public func createProcessingInstruction(target: String, data: String) -> ProcessingInstruction { let this = jsObject - return this[Strings.createProcessingInstruction].function!( - this: this, - arguments: [_toJSValue(target), _toJSValue(data)] - ).fromJSValue()! + return this[Strings.createProcessingInstruction].function!(this: this, arguments: [_toJSValue(target), _toJSValue(data)]).fromJSValue()! } - @inlinable final public func importNode(node: Node, deep: Bool? = nil) -> Node { + @inlinable public func importNode(node: Node, deep: Bool? = nil) -> Node { let this = jsObject - return this[Strings.importNode].function!(this: this, arguments: [_toJSValue(node), _toJSValue(deep)]) - .fromJSValue()! + return this[Strings.importNode].function!(this: this, arguments: [_toJSValue(node), _toJSValue(deep)]).fromJSValue()! } - @inlinable final public func adoptNode(node: Node) -> Node { + @inlinable public func adoptNode(node: Node) -> Node { let this = jsObject return this[Strings.adoptNode].function!(this: this, arguments: [_toJSValue(node)]).fromJSValue()! } - @inlinable final public func createAttribute(localName: String) -> Attr { + @inlinable public func createAttribute(localName: String) -> Attr { let this = jsObject return this[Strings.createAttribute].function!(this: this, arguments: [_toJSValue(localName)]).fromJSValue()! } - @inlinable final public func createAttributeNS(namespace: String?, qualifiedName: String) -> Attr { + @inlinable public func createAttributeNS(namespace: String?, qualifiedName: String) -> Attr { let this = jsObject - return this[Strings.createAttributeNS].function!( - this: this, - arguments: [_toJSValue(namespace), _toJSValue(qualifiedName)] - ).fromJSValue()! + return this[Strings.createAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(qualifiedName)]).fromJSValue()! } - @inlinable final public func createEvent(interface: String) -> Event { + @inlinable public func createEvent(interface: String) -> Event { let this = jsObject return this[Strings.createEvent].function!(this: this, arguments: [_toJSValue(interface)]).fromJSValue()! } - @inlinable final public func createRange() -> Range { + @inlinable public func createRange() -> Range { let this = jsObject return this[Strings.createRange].function!(this: this, arguments: []).fromJSValue()! } @@ -4234,281 +4209,256 @@ public class Document: Node, NonElementParentNode, DocumentOrShadowRoot, ParentN // XXX: member 'createTreeWalker' is ignored - @inlinable public var location: Location? { jsObject[Strings.location].fromJSValue() } - - @inlinable public var domain: String { - get { jsObject[Strings.domain].fromJSValue()! } - set { jsObject[Strings.domain] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var location: Location? - @inlinable public var referrer: String { jsObject[Strings.referrer].fromJSValue()! } + @ReadWriteAttribute + public var domain: String - @inlinable public var cookie: String { - get { jsObject[Strings.cookie].fromJSValue()! } - set { jsObject[Strings.cookie] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var referrer: String - @inlinable public var lastModified: String { jsObject[Strings.lastModified].fromJSValue()! } + @ReadWriteAttribute + public var cookie: String - @inlinable public var readyState: DocumentReadyState { jsObject[Strings.readyState].fromJSValue()! } + @ReadonlyAttribute + public var lastModified: String - @inlinable public subscript(key: String) -> JSObject { jsObject[key].fromJSValue()! } + @ReadonlyAttribute + public var readyState: DocumentReadyState - @inlinable public var title: String { - get { jsObject[Strings.title].fromJSValue()! } - set { jsObject[Strings.title] = _toJSValue(newValue) } + @inlinable public subscript(key: String) -> JSObject { + jsObject[key].fromJSValue()! } - @inlinable public var dir: String { - get { jsObject[Strings.dir].fromJSValue()! } - set { jsObject[Strings.dir] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var title: String - @inlinable public var body: HTMLElement? { - get { jsObject[Strings.body].fromJSValue() } - set { jsObject[Strings.body] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var dir: String - @inlinable public var head: HTMLHeadElement? { jsObject[Strings.head].fromJSValue() } + @ReadWriteAttribute + public var body: HTMLElement? - @inlinable public var images: HTMLCollection { jsObject[Strings.images].fromJSValue()! } + @ReadonlyAttribute + public var head: HTMLHeadElement? - @inlinable public var embeds: HTMLCollection { jsObject[Strings.embeds].fromJSValue()! } + @ReadonlyAttribute + public var images: HTMLCollection - @inlinable public var plugins: HTMLCollection { jsObject[Strings.plugins].fromJSValue()! } + @ReadonlyAttribute + public var embeds: HTMLCollection - @inlinable public var links: HTMLCollection { jsObject[Strings.links].fromJSValue()! } + @ReadonlyAttribute + public var plugins: HTMLCollection - @inlinable public var forms: HTMLCollection { jsObject[Strings.forms].fromJSValue()! } + @ReadonlyAttribute + public var links: HTMLCollection - @inlinable public var scripts: HTMLCollection { jsObject[Strings.scripts].fromJSValue()! } + @ReadonlyAttribute + public var forms: HTMLCollection - @inlinable final public func getElementsByName(elementName: String) -> NodeList { + @ReadonlyAttribute + public var scripts: HTMLCollection + + @inlinable public func getElementsByName(elementName: String) -> NodeList { let this = jsObject - return this[Strings.getElementsByName].function!(this: this, arguments: [_toJSValue(elementName)]) - .fromJSValue()! + return this[Strings.getElementsByName].function!(this: this, arguments: [_toJSValue(elementName)]).fromJSValue()! } - @inlinable public var currentScript: HTMLOrSVGScriptElement? { jsObject[Strings.currentScript].fromJSValue() } + @ReadonlyAttribute + public var currentScript: HTMLOrSVGScriptElement? - @inlinable final public func open(unused1: String? = nil, unused2: String? = nil) -> Document { + @inlinable public func open(unused1: String? = nil, unused2: String? = nil) -> Self { let this = jsObject - return this[Strings.open].function!(this: this, arguments: [_toJSValue(unused1), _toJSValue(unused2)]) - .fromJSValue()! + return this[Strings.open].function!(this: this, arguments: [_toJSValue(unused1), _toJSValue(unused2)]).fromJSValue()! } - @inlinable final public func open(url: String, name: String, features: String) -> WindowProxy? { + @inlinable public func open(url: String, name: String, features: String) -> WindowProxy? { let this = jsObject - return this[Strings.open].function!( - this: this, - arguments: [_toJSValue(url), _toJSValue(name), _toJSValue(features)] - ).fromJSValue() + return this[Strings.open].function!(this: this, arguments: [_toJSValue(url), _toJSValue(name), _toJSValue(features)]).fromJSValue() } - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @inlinable final public func write(text: String...) { + @inlinable public func write(text: String...) { let this = jsObject _ = this[Strings.write].function!(this: this, arguments: text.map(_toJSValue)) } - @inlinable final public func writeln(text: String...) { + @inlinable public func writeln(text: String...) { let this = jsObject _ = this[Strings.writeln].function!(this: this, arguments: text.map(_toJSValue)) } - @inlinable public var defaultView: WindowProxy? { jsObject[Strings.defaultView].fromJSValue() } + @ReadonlyAttribute + public var defaultView: WindowProxy? - @inlinable final public func hasFocus() -> Bool { + @inlinable public func hasFocus() -> Bool { let this = jsObject return this[Strings.hasFocus].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var designMode: String { - get { jsObject[Strings.designMode].fromJSValue()! } - set { jsObject[Strings.designMode] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var designMode: String - @inlinable final public func execCommand(commandId: String, showUI: Bool? = nil, value: String? = nil) -> Bool { + @inlinable public func execCommand(commandId: String, showUI: Bool? = nil, value: String? = nil) -> Bool { let this = jsObject - return this[Strings.execCommand].function!( - this: this, - arguments: [_toJSValue(commandId), _toJSValue(showUI), _toJSValue(value)] - ).fromJSValue()! + return this[Strings.execCommand].function!(this: this, arguments: [_toJSValue(commandId), _toJSValue(showUI), _toJSValue(value)]).fromJSValue()! } - @inlinable final public func queryCommandEnabled(commandId: String) -> Bool { + @inlinable public func queryCommandEnabled(commandId: String) -> Bool { let this = jsObject - return this[Strings.queryCommandEnabled].function!(this: this, arguments: [_toJSValue(commandId)]) - .fromJSValue()! + return this[Strings.queryCommandEnabled].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! } - @inlinable final public func queryCommandIndeterm(commandId: String) -> Bool { + @inlinable public func queryCommandIndeterm(commandId: String) -> Bool { let this = jsObject - return this[Strings.queryCommandIndeterm].function!(this: this, arguments: [_toJSValue(commandId)]) - .fromJSValue()! + return this[Strings.queryCommandIndeterm].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! } - @inlinable final public func queryCommandState(commandId: String) -> Bool { + @inlinable public func queryCommandState(commandId: String) -> Bool { let this = jsObject return this[Strings.queryCommandState].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! } - @inlinable final public func queryCommandSupported(commandId: String) -> Bool { + @inlinable public func queryCommandSupported(commandId: String) -> Bool { let this = jsObject - return this[Strings.queryCommandSupported].function!(this: this, arguments: [_toJSValue(commandId)]) - .fromJSValue()! + return this[Strings.queryCommandSupported].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! } - @inlinable final public func queryCommandValue(commandId: String) -> String { + @inlinable public func queryCommandValue(commandId: String) -> String { let this = jsObject return this[Strings.queryCommandValue].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! } - @inlinable public var hidden: Bool { jsObject[Strings.hidden].fromJSValue()! } + @ReadonlyAttribute + public var hidden: Bool - @inlinable public var visibilityState: DocumentVisibilityState { jsObject[Strings.visibilityState].fromJSValue()! } + @ReadonlyAttribute + public var visibilityState: DocumentVisibilityState - @inlinable public var onreadystatechange: EventHandler { - get { - guard let function = jsObject[Strings.onreadystatechange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onreadystatechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onreadystatechange] = .null - } - } - } + @ClosureAttribute1Optional + public var onreadystatechange: EventHandler - @inlinable public var onvisibilitychange: EventHandler { - get { - guard let function = jsObject[Strings.onvisibilitychange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onvisibilitychange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onvisibilitychange] = .null - } - } - } + @ClosureAttribute1Optional + public var onvisibilitychange: EventHandler - @inlinable public var fgColor: String { - get { jsObject[Strings.fgColor].fromJSValue()! } - set { jsObject[Strings.fgColor] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var fgColor: String - @inlinable public var linkColor: String { - get { jsObject[Strings.linkColor].fromJSValue()! } - set { jsObject[Strings.linkColor] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var linkColor: String - @inlinable public var vlinkColor: String { - get { jsObject[Strings.vlinkColor].fromJSValue()! } - set { jsObject[Strings.vlinkColor] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var vlinkColor: String - @inlinable public var alinkColor: String { - get { jsObject[Strings.alinkColor].fromJSValue()! } - set { jsObject[Strings.alinkColor] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var alinkColor: String - @inlinable public var bgColor: String { - get { jsObject[Strings.bgColor].fromJSValue()! } - set { jsObject[Strings.bgColor] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var bgColor: String - @inlinable public var anchors: HTMLCollection { jsObject[Strings.anchors].fromJSValue()! } + @ReadonlyAttribute + public var anchors: HTMLCollection - @inlinable public var applets: HTMLCollection { jsObject[Strings.applets].fromJSValue()! } + @ReadonlyAttribute + public var applets: HTMLCollection - @inlinable final public func clear() { + @inlinable public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } - @inlinable final public func captureEvents() { + @inlinable public func captureEvents() { let this = jsObject _ = this[Strings.captureEvents].function!(this: this, arguments: []) } - @inlinable final public func releaseEvents() { + @inlinable public func releaseEvents() { let this = jsObject _ = this[Strings.releaseEvents].function!(this: this, arguments: []) } - @inlinable public var all: HTMLAllCollection { jsObject[Strings.all].fromJSValue()! } + @ReadonlyAttribute + public var all: HTMLAllCollection - @inlinable final public func elementFromPoint(x: Double, y: Double) -> Element? { + @inlinable public func elementFromPoint(x: Double, y: Double) -> Element? { let this = jsObject - return this[Strings.elementFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) - .fromJSValue() + return this[Strings.elementFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue() } - @inlinable final public func elementsFromPoint(x: Double, y: Double) -> [Element] { + @inlinable public func elementsFromPoint(x: Double, y: Double) -> [Element] { let this = jsObject - return this[Strings.elementsFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) - .fromJSValue()! + return this[Strings.elementsFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue()! } - @inlinable final public func caretPositionFromPoint(x: Double, y: Double) -> CaretPosition? { + @inlinable public func caretPositionFromPoint(x: Double, y: Double) -> CaretPosition? { let this = jsObject - return this[Strings.caretPositionFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) - .fromJSValue() + return this[Strings.caretPositionFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue() } - @inlinable public var scrollingElement: Element? { jsObject[Strings.scrollingElement].fromJSValue() } - - @inlinable final public func startViewTransition(updateCallback: UpdateCallback? = nil) -> ViewTransition { - let this = jsObject - return this[Strings.startViewTransition].function!(this: this, arguments: [_toJSValue(updateCallback)]) - .fromJSValue()! - } + @ReadonlyAttribute + public var scrollingElement: Element? } open class DocumentFragment: Node, NonElementParentNode, ParentNode { - @inlinable open override class var constructor: JSFunction? { JSObject.global[Strings.DocumentFragment].function } + @inlinable override open class var constructor: JSFunction? { JSObject.global[Strings.DocumentFragment].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } } public protocol DocumentOrShadowRoot: JSBridgedClass {} -extension DocumentOrShadowRoot { - @inlinable public var activeElement: Element? { jsObject[Strings.activeElement].fromJSValue() } +public extension DocumentOrShadowRoot { + @inlinable var activeElement: Element? { jsObject[Strings.activeElement].fromJSValue() } } + public enum DocumentReadyState: JSString, JSValueCompatible { case loading = "loading" case interactive = "interactive" case complete = "complete" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class DocumentType: Node, ChildNode { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DocumentType].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DocumentType].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) + _publicId = ReadonlyAttribute(jsObject: jsObject, name: Strings.publicId) + _systemId = ReadonlyAttribute(jsObject: jsObject, name: Strings.systemId) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } + @ReadonlyAttribute + public var name: String - @inlinable public var publicId: String { jsObject[Strings.publicId].fromJSValue()! } + @ReadonlyAttribute + public var publicId: String - @inlinable public var systemId: String { jsObject[Strings.systemId].fromJSValue()! } + @ReadonlyAttribute + public var systemId: String } public enum DocumentVisibilityState: JSString, JSValueCompatible { @@ -4516,446 +4466,436 @@ public enum DocumentVisibilityState: JSString, JSValueCompatible { case hidden = "hidden" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -open class DoubleRange: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(max: Double? = nil, min: Double? = nil) { +public class DoubleRange: BridgedDictionary { + public convenience init(max: Double, min: Double) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.max] = _toJSValue(max) object[Strings.min] = _toJSValue(min) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var max: Double { - get { jsObject[Strings.max].fromJSValue()! } - set { jsObject[Strings.max] = _toJSValue(newValue) } - } - @inlinable public var min: Double { - get { jsObject[Strings.min].fromJSValue()! } - set { jsObject[Strings.min] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _max = ReadWriteAttribute(jsObject: object, name: Strings.max) + _min = ReadWriteAttribute(jsObject: object, name: Strings.min) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var max: Double? + + @ReadWriteAttribute + public var min: Double? } + public class DragEvent: MouseEvent { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DragEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DragEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _dataTransfer = ReadonlyAttribute(jsObject: jsObject, name: Strings.dataTransfer) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: DragEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var dataTransfer: DataTransfer? { jsObject[Strings.dataTransfer].fromJSValue() } + @ReadonlyAttribute + public var dataTransfer: DataTransfer? } -open class DragEventInit: MouseEventInit { - - public convenience init( - screenX: Int32? = nil, - screenY: Int32? = nil, - clientX: Int32? = nil, - clientY: Int32? = nil, - button: Int16? = nil, - buttons: UInt16? = nil, - relatedTarget: EventTarget?, - dataTransfer: DataTransfer? - ) { +public class DragEventInit: BridgedDictionary { + public convenience init(dataTransfer: DataTransfer?) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.screenX] = _toJSValue(screenX) - object[Strings.screenY] = _toJSValue(screenY) - object[Strings.clientX] = _toJSValue(clientX) - object[Strings.clientY] = _toJSValue(clientY) - object[Strings.button] = _toJSValue(button) - object[Strings.buttons] = _toJSValue(buttons) - object[Strings.relatedTarget] = _toJSValue(relatedTarget) object[Strings.dataTransfer] = _toJSValue(dataTransfer) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var dataTransfer: DataTransfer? { - get { jsObject[Strings.dataTransfer].fromJSValue() } - set { jsObject[Strings.dataTransfer] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _dataTransfer = ReadWriteAttribute(jsObject: object, name: Strings.dataTransfer) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var dataTransfer: DataTransfer? } + open class Element: Node, ParentNode, NonDocumentTypeChildNode, ChildNode, Slottable, ARIAMixin, GeometryUtils { - @inlinable open override class var constructor: JSFunction? { JSObject.global[Strings.Element].function } + @inlinable override open class var constructor: JSFunction? { JSObject.global[Strings.Element].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _namespaceURI = ReadonlyAttribute(jsObject: jsObject, name: Strings.namespaceURI) + _prefix = ReadonlyAttribute(jsObject: jsObject, name: Strings.prefix) + _localName = ReadonlyAttribute(jsObject: jsObject, name: Strings.localName) + _tagName = ReadonlyAttribute(jsObject: jsObject, name: Strings.tagName) + _id = ReadWriteAttribute(jsObject: jsObject, name: Strings.id) + _className = ReadWriteAttribute(jsObject: jsObject, name: Strings.className) + _classList = ReadonlyAttribute(jsObject: jsObject, name: Strings.classList) + _slot = ReadWriteAttribute(jsObject: jsObject, name: Strings.slot) + _attributes = ReadonlyAttribute(jsObject: jsObject, name: Strings.attributes) + _shadowRoot = ReadonlyAttribute(jsObject: jsObject, name: Strings.shadowRoot) + _scrollTop = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollTop) + _scrollLeft = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollLeft) + _scrollWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollWidth) + _scrollHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollHeight) + _clientTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientTop) + _clientLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientLeft) + _clientWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientWidth) + _clientHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientHeight) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var namespaceURI: String? { jsObject[Strings.namespaceURI].fromJSValue() } + @ReadonlyAttribute + public var namespaceURI: String? - @inlinable public var prefix: String? { jsObject[Strings.prefix].fromJSValue() } + @ReadonlyAttribute + public var prefix: String? - @inlinable public var localName: String { jsObject[Strings.localName].fromJSValue()! } + @ReadonlyAttribute + public var localName: String - @inlinable public var tagName: String { jsObject[Strings.tagName].fromJSValue()! } + @ReadonlyAttribute + public var tagName: String - @inlinable public var id: String { - get { jsObject[Strings.id].fromJSValue()! } - set { jsObject[Strings.id] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var id: String - @inlinable public var className: String { - get { jsObject[Strings.className].fromJSValue()! } - set { jsObject[Strings.className] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var className: String - @inlinable public var classList: DOMTokenList { jsObject[Strings.classList].fromJSValue()! } + @ReadonlyAttribute + public var classList: DOMTokenList - @inlinable public var slot: String { - get { jsObject[Strings.slot].fromJSValue()! } - set { jsObject[Strings.slot] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var slot: String - @inlinable final public func hasAttributes() -> Bool { + @inlinable public func hasAttributes() -> Bool { let this = jsObject return this[Strings.hasAttributes].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var attributes: NamedNodeMap { jsObject[Strings.attributes].fromJSValue()! } + @ReadonlyAttribute + public var attributes: NamedNodeMap - @inlinable final public func getAttributeNames() -> [String] { + @inlinable public func getAttributeNames() -> [String] { let this = jsObject return this[Strings.getAttributeNames].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func getAttribute(qualifiedName: String) -> String? { + @inlinable public func getAttribute(qualifiedName: String) -> String? { let this = jsObject return this[Strings.getAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue() } - @inlinable final public func getAttributeNS(namespace: String?, localName: String) -> String? { + @inlinable public func getAttributeNS(namespace: String?, localName: String) -> String? { let this = jsObject - return this[Strings.getAttributeNS].function!( - this: this, - arguments: [_toJSValue(namespace), _toJSValue(localName)] - ).fromJSValue() + return this[Strings.getAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue() } - @inlinable final public func setAttribute(qualifiedName: String, value: String) { + @inlinable public func setAttribute(qualifiedName: String, value: String) { let this = jsObject _ = this[Strings.setAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName), _toJSValue(value)]) } - @inlinable final public func setAttributeNS(namespace: String?, qualifiedName: String, value: String) { + @inlinable public func setAttributeNS(namespace: String?, qualifiedName: String, value: String) { let this = jsObject - _ = this[Strings.setAttributeNS].function!( - this: this, - arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(value)] - ) + _ = this[Strings.setAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(value)]) } - @inlinable final public func removeAttribute(qualifiedName: String) { + @inlinable public func removeAttribute(qualifiedName: String) { let this = jsObject _ = this[Strings.removeAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName)]) } - @inlinable final public func removeAttributeNS(namespace: String?, localName: String) { + @inlinable public func removeAttributeNS(namespace: String?, localName: String) { let this = jsObject - _ = this[Strings.removeAttributeNS].function!( - this: this, - arguments: [_toJSValue(namespace), _toJSValue(localName)] - ) + _ = this[Strings.removeAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]) } - @inlinable final public func toggleAttribute(qualifiedName: String, force: Bool? = nil) -> Bool { + @inlinable public func toggleAttribute(qualifiedName: String, force: Bool? = nil) -> Bool { let this = jsObject - return this[Strings.toggleAttribute].function!( - this: this, - arguments: [_toJSValue(qualifiedName), _toJSValue(force)] - ).fromJSValue()! + return this[Strings.toggleAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName), _toJSValue(force)]).fromJSValue()! } - @inlinable final public func hasAttribute(qualifiedName: String) -> Bool { + @inlinable public func hasAttribute(qualifiedName: String) -> Bool { let this = jsObject return this[Strings.hasAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue()! } - @inlinable final public func hasAttributeNS(namespace: String?, localName: String) -> Bool { + @inlinable public func hasAttributeNS(namespace: String?, localName: String) -> Bool { let this = jsObject - return this[Strings.hasAttributeNS].function!( - this: this, - arguments: [_toJSValue(namespace), _toJSValue(localName)] - ).fromJSValue()! + return this[Strings.hasAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue()! } - @inlinable final public func getAttributeNode(qualifiedName: String) -> Attr? { + @inlinable public func getAttributeNode(qualifiedName: String) -> Attr? { let this = jsObject - return this[Strings.getAttributeNode].function!(this: this, arguments: [_toJSValue(qualifiedName)]) - .fromJSValue() + return this[Strings.getAttributeNode].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue() } - @inlinable final public func getAttributeNodeNS(namespace: String?, localName: String) -> Attr? { + @inlinable public func getAttributeNodeNS(namespace: String?, localName: String) -> Attr? { let this = jsObject - return this[Strings.getAttributeNodeNS].function!( - this: this, - arguments: [_toJSValue(namespace), _toJSValue(localName)] - ).fromJSValue() + return this[Strings.getAttributeNodeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue() } - @inlinable final public func setAttributeNode(attr: Attr) -> Attr? { + @inlinable public func setAttributeNode(attr: Attr) -> Attr? { let this = jsObject return this[Strings.setAttributeNode].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue() } - @inlinable final public func setAttributeNodeNS(attr: Attr) -> Attr? { + @inlinable public func setAttributeNodeNS(attr: Attr) -> Attr? { let this = jsObject return this[Strings.setAttributeNodeNS].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue() } - @inlinable final public func removeAttributeNode(attr: Attr) -> Attr { + @inlinable public func removeAttributeNode(attr: Attr) -> Attr { let this = jsObject return this[Strings.removeAttributeNode].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue()! } - @inlinable final public func attachShadow(`init`: ShadowRootInit) -> ShadowRoot { + @inlinable public func attachShadow(init: ShadowRootInit) -> ShadowRoot { let this = jsObject return this[Strings.attachShadow].function!(this: this, arguments: [_toJSValue(`init`)]).fromJSValue()! } - @inlinable public var shadowRoot: ShadowRoot? { jsObject[Strings.shadowRoot].fromJSValue() } + @ReadonlyAttribute + public var shadowRoot: ShadowRoot? - @inlinable final public func closest(selectors: String) -> Element? { + @inlinable public func closest(selectors: String) -> Element? { let this = jsObject return this[Strings.closest].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue() } - @inlinable final public func matches(selectors: String) -> Bool { + @inlinable public func matches(selectors: String) -> Bool { let this = jsObject return this[Strings.matches].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue()! } - @inlinable final public func webkitMatchesSelector(selectors: String) -> Bool { + @inlinable public func webkitMatchesSelector(selectors: String) -> Bool { let this = jsObject - return this[Strings.webkitMatchesSelector].function!(this: this, arguments: [_toJSValue(selectors)]) - .fromJSValue()! + return this[Strings.webkitMatchesSelector].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue()! } - @inlinable final public func getElementsByTagName(qualifiedName: String) -> HTMLCollection { + @inlinable public func getElementsByTagName(qualifiedName: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByTagName].function!(this: this, arguments: [_toJSValue(qualifiedName)]) - .fromJSValue()! + return this[Strings.getElementsByTagName].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue()! } - @inlinable final public func getElementsByTagNameNS(namespace: String?, localName: String) -> HTMLCollection { + @inlinable public func getElementsByTagNameNS(namespace: String?, localName: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByTagNameNS].function!( - this: this, - arguments: [_toJSValue(namespace), _toJSValue(localName)] - ).fromJSValue()! + return this[Strings.getElementsByTagNameNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue()! } - @inlinable final public func getElementsByClassName(classNames: String) -> HTMLCollection { + @inlinable public func getElementsByClassName(classNames: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByClassName].function!(this: this, arguments: [_toJSValue(classNames)]) - .fromJSValue()! + return this[Strings.getElementsByClassName].function!(this: this, arguments: [_toJSValue(classNames)]).fromJSValue()! } - @inlinable final public func insertAdjacentElement(`where`: String, element: Element) -> Element? { + @inlinable public func insertAdjacentElement(where: String, element: Element) -> Element? { let this = jsObject - return this[Strings.insertAdjacentElement].function!( - this: this, - arguments: [_toJSValue(`where`), _toJSValue(element)] - ).fromJSValue() + return this[Strings.insertAdjacentElement].function!(this: this, arguments: [_toJSValue(`where`), _toJSValue(element)]).fromJSValue() } - @inlinable final public func insertAdjacentText(`where`: String, data: String) { + @inlinable public func insertAdjacentText(where: String, data: String) { let this = jsObject _ = this[Strings.insertAdjacentText].function!(this: this, arguments: [_toJSValue(`where`), _toJSValue(data)]) } - @inlinable final public func pseudo(type: String) -> CSSPseudoElement? { + @inlinable public func pseudo(type: String) -> CSSPseudoElement? { let this = jsObject return this[Strings.pseudo].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue() } - @inlinable final public func getClientRects() -> DOMRectList { + @inlinable public func getClientRects() -> DOMRectList { let this = jsObject return this[Strings.getClientRects].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func getBoundingClientRect() -> DOMRect { + @inlinable public func getBoundingClientRect() -> DOMRect { let this = jsObject return this[Strings.getBoundingClientRect].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func checkVisibility(options: CheckVisibilityOptions? = nil) -> Bool { + @inlinable public func checkVisibility(options: CheckVisibilityOptions? = nil) -> Bool { let this = jsObject return this[Strings.checkVisibility].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable final public func scrollIntoView(arg: Bool_or_ScrollIntoViewOptions? = nil) { + @inlinable public func scrollIntoView(arg: Bool_or_ScrollIntoViewOptions? = nil) { let this = jsObject _ = this[Strings.scrollIntoView].function!(this: this, arguments: [_toJSValue(arg)]) } - @inlinable final public func scroll(options: ScrollToOptions? = nil) { + @inlinable public func scroll(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable final public func scroll(x: Double, y: Double) { + @inlinable public func scroll(x: Double, y: Double) { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable final public func scrollTo(options: ScrollToOptions? = nil) { + @inlinable public func scrollTo(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scrollTo].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable final public func scrollTo(x: Double, y: Double) { + @inlinable public func scrollTo(x: Double, y: Double) { let this = jsObject _ = this[Strings.scrollTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable final public func scrollBy(options: ScrollToOptions? = nil) { + @inlinable public func scrollBy(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scrollBy].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable final public func scrollBy(x: Double, y: Double) { + @inlinable public func scrollBy(x: Double, y: Double) { let this = jsObject _ = this[Strings.scrollBy].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public var scrollTop: Double { - get { jsObject[Strings.scrollTop].fromJSValue()! } - set { jsObject[Strings.scrollTop] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var scrollTop: Double - @inlinable public var scrollLeft: Double { - get { jsObject[Strings.scrollLeft].fromJSValue()! } - set { jsObject[Strings.scrollLeft] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var scrollLeft: Double - @inlinable public var scrollWidth: Int32 { jsObject[Strings.scrollWidth].fromJSValue()! } + @ReadonlyAttribute + public var scrollWidth: Int32 - @inlinable public var scrollHeight: Int32 { jsObject[Strings.scrollHeight].fromJSValue()! } + @ReadonlyAttribute + public var scrollHeight: Int32 - @inlinable public var clientTop: Int32 { jsObject[Strings.clientTop].fromJSValue()! } + @ReadonlyAttribute + public var clientTop: Int32 - @inlinable public var clientLeft: Int32 { jsObject[Strings.clientLeft].fromJSValue()! } + @ReadonlyAttribute + public var clientLeft: Int32 - @inlinable public var clientWidth: Int32 { jsObject[Strings.clientWidth].fromJSValue()! } + @ReadonlyAttribute + public var clientWidth: Int32 - @inlinable public var clientHeight: Int32 { jsObject[Strings.clientHeight].fromJSValue()! } + @ReadonlyAttribute + public var clientHeight: Int32 } public protocol ElementContentEditable: JSBridgedClass {} -extension ElementContentEditable { - @inlinable public var contentEditable: String { +public extension ElementContentEditable { + @inlinable var contentEditable: String { get { jsObject[Strings.contentEditable].fromJSValue()! } - set { jsObject[Strings.contentEditable] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.contentEditable] = _toJSValue(newValue) } } - @inlinable public var enterKeyHint: String { + @inlinable var enterKeyHint: String { get { jsObject[Strings.enterKeyHint].fromJSValue()! } - set { jsObject[Strings.enterKeyHint] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.enterKeyHint] = _toJSValue(newValue) } } - @inlinable public var isContentEditable: Bool { jsObject[Strings.isContentEditable].fromJSValue()! } + @inlinable var isContentEditable: Bool { jsObject[Strings.isContentEditable].fromJSValue()! } - @inlinable public var inputMode: String { + @inlinable var inputMode: String { get { jsObject[Strings.inputMode].fromJSValue()! } - set { jsObject[Strings.inputMode] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.inputMode] = _toJSValue(newValue) } } } -open class ElementCreationOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(`is`: String? = nil) { +public class ElementCreationOptions: BridgedDictionary { + public convenience init(is: String) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.`is`] = _toJSValue(`is`) - + object[Strings.is] = _toJSValue(`is`) self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var `is`: String { - get { jsObject[Strings.`is`].fromJSValue()! } - set { jsObject[Strings.`is`] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _is = ReadWriteAttribute(jsObject: object, name: Strings.is) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var `is`: String? } -open class ElementDefinitionOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(extends: String? = nil) { +public class ElementDefinitionOptions: BridgedDictionary { + public convenience init(extends: String) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.extends] = _toJSValue(extends) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var extends: String { - get { jsObject[Strings.extends].fromJSValue()! } - set { jsObject[Strings.extends] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _extends = ReadWriteAttribute(jsObject: object, name: Strings.extends) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var extends: String? } + public class ElementInternals: JSBridgedClass, ARIAMixin { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ElementInternals].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _shadowRoot = ReadonlyAttribute(jsObject: jsObject, name: Strings.shadowRoot) + _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) + _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) + _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) + _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) + _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) + self.jsObject = jsObject + } - @inlinable public var shadowRoot: ShadowRoot? { jsObject[Strings.shadowRoot].fromJSValue() } + @ReadonlyAttribute + public var shadowRoot: ShadowRoot? - @inlinable final public func setFormValue( - value: File_or_FormData_or_String?, - state: File_or_FormData_or_String? = nil - ) { + @inlinable public func setFormValue(value: File_or_FormData_or_String?, state: File_or_FormData_or_String? = nil) { let this = jsObject _ = this[Strings.setFormValue].function!(this: this, arguments: [_toJSValue(value), _toJSValue(state)]) } - @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } + @ReadonlyAttribute + public var form: HTMLFormElement? - @inlinable final public func setValidity( - flags: ValidityStateFlags? = nil, - message: String? = nil, - anchor: HTMLElement? = nil - ) { + @inlinable public func setValidity(flags: ValidityStateFlags? = nil, message: String? = nil, anchor: HTMLElement? = nil) { let this = jsObject - _ = this[Strings.setValidity].function!( - this: this, - arguments: [_toJSValue(flags), _toJSValue(message), _toJSValue(anchor)] - ) + _ = this[Strings.setValidity].function!(this: this, arguments: [_toJSValue(flags), _toJSValue(message), _toJSValue(anchor)]) } - @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } + @ReadonlyAttribute + public var willValidate: Bool - @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } + @ReadonlyAttribute + public var validity: ValidityState - @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } + @ReadonlyAttribute + public var validationMessage: String - @inlinable final public func checkValidity() -> Bool { + @inlinable public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func reportValidity() -> Bool { + @inlinable public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } + @ReadonlyAttribute + public var labels: NodeList } public class EncodedAudioChunk: JSBridgedClass { @@ -4963,309 +4903,354 @@ public class EncodedAudioChunk: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) + _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) + _byteLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.byteLength) + self.jsObject = jsObject + } - @inlinable public convenience init(`init`: EncodedAudioChunkInit) { + @inlinable public convenience init(init: EncodedAudioChunkInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public var type: EncodedAudioChunkType { jsObject[Strings.type].fromJSValue()! } + @ReadonlyAttribute + public var type: EncodedAudioChunkType - @inlinable public var timestamp: Int64 { jsObject[Strings.timestamp].fromJSValue()! } + @ReadonlyAttribute + public var timestamp: Int64 - @inlinable public var duration: UInt64? { jsObject[Strings.duration].fromJSValue() } + @ReadonlyAttribute + public var duration: UInt64? - @inlinable public var byteLength: UInt32 { jsObject[Strings.byteLength].fromJSValue()! } + @ReadonlyAttribute + public var byteLength: UInt32 - @inlinable final public func copyTo(destination: AllowSharedBufferSource) { + @inlinable public func copyTo(destination: AllowSharedBufferSource) { let this = jsObject _ = this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination)]) } } -open class EncodedAudioChunkInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(type: EncodedAudioChunkType, timestamp: Int64, duration: UInt64? = nil, data: BufferSource) - { +public class EncodedAudioChunkInit: BridgedDictionary { + public convenience init(type: EncodedAudioChunkType, timestamp: Int64, duration: UInt64, data: BufferSource) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.timestamp] = _toJSValue(timestamp) object[Strings.duration] = _toJSValue(duration) object[Strings.data] = _toJSValue(data) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var type: EncodedAudioChunkType { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } - @inlinable public var timestamp: Int64 { - get { jsObject[Strings.timestamp].fromJSValue()! } - set { jsObject[Strings.timestamp] = _toJSValue(newValue) } - } - @inlinable public var duration: UInt64 { - get { jsObject[Strings.duration].fromJSValue()! } - set { jsObject[Strings.duration] = _toJSValue(newValue) } - } - @inlinable public var data: BufferSource { - get { jsObject[Strings.data].fromJSValue()! } - set { jsObject[Strings.data] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _type = ReadWriteAttribute(jsObject: object, name: Strings.type) + _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) + _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) + _data = ReadWriteAttribute(jsObject: object, name: Strings.data) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var type: EncodedAudioChunkType + + @ReadWriteAttribute + public var timestamp: Int64 + + @ReadWriteAttribute + public var duration: UInt64? + + @ReadWriteAttribute + public var data: BufferSource } -open class EncodedAudioChunkMetadata: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(decoderConfig: AudioDecoderConfig? = nil) { +public class EncodedAudioChunkMetadata: BridgedDictionary { + public convenience init(decoderConfig: AudioDecoderConfig) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.decoderConfig] = _toJSValue(decoderConfig) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var decoderConfig: AudioDecoderConfig { - get { jsObject[Strings.decoderConfig].fromJSValue()! } - set { jsObject[Strings.decoderConfig] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _decoderConfig = ReadWriteAttribute(jsObject: object, name: Strings.decoderConfig) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var decoderConfig: AudioDecoderConfig? } + public enum EncodedAudioChunkType: JSString, JSValueCompatible { case key = "key" case delta = "delta" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class EncodedVideoChunk: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.EncodedVideoChunk].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) + _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) + _byteLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.byteLength) + self.jsObject = jsObject + } - @inlinable public convenience init(`init`: EncodedVideoChunkInit) { + @inlinable public convenience init(init: EncodedVideoChunkInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public var type: EncodedVideoChunkType { jsObject[Strings.type].fromJSValue()! } + @ReadonlyAttribute + public var type: EncodedVideoChunkType - @inlinable public var timestamp: Int64 { jsObject[Strings.timestamp].fromJSValue()! } + @ReadonlyAttribute + public var timestamp: Int64 - @inlinable public var duration: UInt64? { jsObject[Strings.duration].fromJSValue() } + @ReadonlyAttribute + public var duration: UInt64? - @inlinable public var byteLength: UInt32 { jsObject[Strings.byteLength].fromJSValue()! } + @ReadonlyAttribute + public var byteLength: UInt32 - @inlinable final public func copyTo(destination: AllowSharedBufferSource) { + @inlinable public func copyTo(destination: AllowSharedBufferSource) { let this = jsObject _ = this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination)]) } } -open class EncodedVideoChunkInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - type: EncodedVideoChunkType, - timestamp: Int64, - duration: UInt64? = nil, - data: AllowSharedBufferSource - ) { +public class EncodedVideoChunkInit: BridgedDictionary { + public convenience init(type: EncodedVideoChunkType, timestamp: Int64, duration: UInt64, data: AllowSharedBufferSource) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.timestamp] = _toJSValue(timestamp) object[Strings.duration] = _toJSValue(duration) object[Strings.data] = _toJSValue(data) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var type: EncodedVideoChunkType { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } - @inlinable public var timestamp: Int64 { - get { jsObject[Strings.timestamp].fromJSValue()! } - set { jsObject[Strings.timestamp] = _toJSValue(newValue) } - } - @inlinable public var duration: UInt64 { - get { jsObject[Strings.duration].fromJSValue()! } - set { jsObject[Strings.duration] = _toJSValue(newValue) } - } - @inlinable public var data: AllowSharedBufferSource { - get { jsObject[Strings.data].fromJSValue()! } - set { jsObject[Strings.data] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _type = ReadWriteAttribute(jsObject: object, name: Strings.type) + _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) + _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) + _data = ReadWriteAttribute(jsObject: object, name: Strings.data) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var type: EncodedVideoChunkType + + @ReadWriteAttribute + public var timestamp: Int64 + + @ReadWriteAttribute + public var duration: UInt64? + + @ReadWriteAttribute + public var data: AllowSharedBufferSource } -open class EncodedVideoChunkMetadata: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - decoderConfig: VideoDecoderConfig? = nil, - svc: SvcOutputMetadata? = nil, - alphaSideData: BufferSource? = nil - ) { +public class EncodedVideoChunkMetadata: BridgedDictionary { + public convenience init(decoderConfig: VideoDecoderConfig, svc: SvcOutputMetadata, alphaSideData: BufferSource) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.decoderConfig] = _toJSValue(decoderConfig) object[Strings.svc] = _toJSValue(svc) object[Strings.alphaSideData] = _toJSValue(alphaSideData) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var decoderConfig: VideoDecoderConfig { - get { jsObject[Strings.decoderConfig].fromJSValue()! } - set { jsObject[Strings.decoderConfig] = _toJSValue(newValue) } - } - @inlinable public var svc: SvcOutputMetadata { - get { jsObject[Strings.svc].fromJSValue()! } - set { jsObject[Strings.svc] = _toJSValue(newValue) } - } - @inlinable public var alphaSideData: BufferSource { - get { jsObject[Strings.alphaSideData].fromJSValue()! } - set { jsObject[Strings.alphaSideData] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _decoderConfig = ReadWriteAttribute(jsObject: object, name: Strings.decoderConfig) + _svc = ReadWriteAttribute(jsObject: object, name: Strings.svc) + _alphaSideData = ReadWriteAttribute(jsObject: object, name: Strings.alphaSideData) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var decoderConfig: VideoDecoderConfig? + + @ReadWriteAttribute + public var svc: SvcOutputMetadata? + + @ReadWriteAttribute + public var alphaSideData: BufferSource? } + public enum EncodedVideoChunkType: JSString, JSValueCompatible { case key = "key" case delta = "delta" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum EndOfStreamError: JSString, JSValueCompatible { case network = "network" case decode = "decode" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum EndingType: JSString, JSValueCompatible { case transparent = "transparent" case native = "native" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class ErrorEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.ErrorEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ErrorEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _message = ReadonlyAttribute(jsObject: jsObject, name: Strings.message) + _filename = ReadonlyAttribute(jsObject: jsObject, name: Strings.filename) + _lineno = ReadonlyAttribute(jsObject: jsObject, name: Strings.lineno) + _colno = ReadonlyAttribute(jsObject: jsObject, name: Strings.colno) + _error = ReadonlyAttribute(jsObject: jsObject, name: Strings.error) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: ErrorEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var message: String { jsObject[Strings.message].fromJSValue()! } + @ReadonlyAttribute + public var message: String - @inlinable public var filename: String { jsObject[Strings.filename].fromJSValue()! } + @ReadonlyAttribute + public var filename: String - @inlinable public var lineno: UInt32 { jsObject[Strings.lineno].fromJSValue()! } + @ReadonlyAttribute + public var lineno: UInt32 - @inlinable public var colno: UInt32 { jsObject[Strings.colno].fromJSValue()! } + @ReadonlyAttribute + public var colno: UInt32 - @inlinable public var error: JSValue { jsObject[Strings.error].fromJSValue()! } + @ReadonlyAttribute + public var error: JSValue } -open class ErrorEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - message: String? = nil, - filename: String? = nil, - lineno: UInt32? = nil, - colno: UInt32? = nil, - error: JSValue? = nil - ) { +public class ErrorEventInit: BridgedDictionary { + public convenience init(message: String, filename: String, lineno: UInt32, colno: UInt32, error: JSValue) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.message] = _toJSValue(message) object[Strings.filename] = _toJSValue(filename) object[Strings.lineno] = _toJSValue(lineno) object[Strings.colno] = _toJSValue(colno) object[Strings.error] = _toJSValue(error) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var message: String { - get { jsObject[Strings.message].fromJSValue()! } - set { jsObject[Strings.message] = _toJSValue(newValue) } - } - @inlinable public var filename: String { - get { jsObject[Strings.filename].fromJSValue()! } - set { jsObject[Strings.filename] = _toJSValue(newValue) } - } - @inlinable public var lineno: UInt32 { - get { jsObject[Strings.lineno].fromJSValue()! } - set { jsObject[Strings.lineno] = _toJSValue(newValue) } - } - @inlinable public var colno: UInt32 { - get { jsObject[Strings.colno].fromJSValue()! } - set { jsObject[Strings.colno] = _toJSValue(newValue) } - } - @inlinable public var error: JSValue { - get { jsObject[Strings.error].fromJSValue()! } - set { jsObject[Strings.error] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _message = ReadWriteAttribute(jsObject: object, name: Strings.message) + _filename = ReadWriteAttribute(jsObject: object, name: Strings.filename) + _lineno = ReadWriteAttribute(jsObject: object, name: Strings.lineno) + _colno = ReadWriteAttribute(jsObject: object, name: Strings.colno) + _error = ReadWriteAttribute(jsObject: object, name: Strings.error) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var message: String? + + @ReadWriteAttribute + public var filename: String? + + @ReadWriteAttribute + public var lineno: UInt32? + + @ReadWriteAttribute + public var colno: UInt32? + + @ReadWriteAttribute + public var error: JSValue? } + open class Event: JSBridgedClass { @inlinable open class var constructor: JSFunction? { JSObject.global[Strings.Event].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + _target = ReadonlyAttribute(jsObject: jsObject, name: Strings.target) + _srcElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.srcElement) + _currentTarget = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentTarget) + _eventPhase = ReadonlyAttribute(jsObject: jsObject, name: Strings.eventPhase) + _cancelBubble = ReadWriteAttribute(jsObject: jsObject, name: Strings.cancelBubble) + _bubbles = ReadonlyAttribute(jsObject: jsObject, name: Strings.bubbles) + _cancelable = ReadonlyAttribute(jsObject: jsObject, name: Strings.cancelable) + _returnValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.returnValue) + _defaultPrevented = ReadonlyAttribute(jsObject: jsObject, name: Strings.defaultPrevented) + _composed = ReadonlyAttribute(jsObject: jsObject, name: Strings.composed) + _isTrusted = ReadonlyAttribute(jsObject: jsObject, name: Strings.isTrusted) + _timeStamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timeStamp) + self.jsObject = jsObject + } @inlinable public convenience init(type: String, eventInitDict: EventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } + @ReadonlyAttribute + public var type: String - @inlinable public var target: EventTarget? { jsObject[Strings.target].fromJSValue() } + @ReadonlyAttribute + public var target: EventTarget? - @inlinable public var srcElement: EventTarget? { jsObject[Strings.srcElement].fromJSValue() } + @ReadonlyAttribute + public var srcElement: EventTarget? - @inlinable public var currentTarget: EventTarget? { jsObject[Strings.currentTarget].fromJSValue() } + @ReadonlyAttribute + public var currentTarget: EventTarget? - @inlinable final public func composedPath() -> [EventTarget] { + @inlinable public func composedPath() -> [EventTarget] { let this = jsObject return this[Strings.composedPath].function!(this: this, arguments: []).fromJSValue()! } @@ -5278,125 +5263,100 @@ open class Event: JSBridgedClass { public static let BUBBLING_PHASE: UInt16 = 3 - @inlinable public var eventPhase: UInt16 { jsObject[Strings.eventPhase].fromJSValue()! } + @ReadonlyAttribute + public var eventPhase: UInt16 - @inlinable final public func stopPropagation() { + @inlinable public func stopPropagation() { let this = jsObject _ = this[Strings.stopPropagation].function!(this: this, arguments: []) } - @inlinable public var cancelBubble: Bool { - get { jsObject[Strings.cancelBubble].fromJSValue()! } - set { jsObject[Strings.cancelBubble] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var cancelBubble: Bool - @inlinable final public func stopImmediatePropagation() { + @inlinable public func stopImmediatePropagation() { let this = jsObject _ = this[Strings.stopImmediatePropagation].function!(this: this, arguments: []) } - @inlinable public var bubbles: Bool { jsObject[Strings.bubbles].fromJSValue()! } + @ReadonlyAttribute + public var bubbles: Bool - @inlinable public var cancelable: Bool { jsObject[Strings.cancelable].fromJSValue()! } + @ReadonlyAttribute + public var cancelable: Bool - @inlinable public var returnValue: Bool { - get { jsObject[Strings.returnValue].fromJSValue()! } - set { jsObject[Strings.returnValue] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var returnValue: Bool - @inlinable final public func preventDefault() { + @inlinable public func preventDefault() { let this = jsObject _ = this[Strings.preventDefault].function!(this: this, arguments: []) } - @inlinable public var defaultPrevented: Bool { jsObject[Strings.defaultPrevented].fromJSValue()! } + @ReadonlyAttribute + public var defaultPrevented: Bool - @inlinable public var composed: Bool { jsObject[Strings.composed].fromJSValue()! } + @ReadonlyAttribute + public var composed: Bool - @inlinable public var isTrusted: Bool { jsObject[Strings.isTrusted].fromJSValue()! } + @ReadonlyAttribute + public var isTrusted: Bool - @inlinable public var timeStamp: DOMHighResTimeStamp { jsObject[Strings.timeStamp].fromJSValue()! } + @ReadonlyAttribute + public var timeStamp: DOMHighResTimeStamp - @inlinable final public func initEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil) { + @inlinable public func initEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil) { let this = jsObject - _ = this[Strings.initEvent].function!( - this: this, - arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable)] - ) + _ = this[Strings.initEvent].function!(this: this, arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable)]) } } -open class EventInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(bubbles: Bool? = nil, cancelable: Bool? = nil, composed: Bool? = nil) { +public class EventInit: BridgedDictionary { + public convenience init(bubbles: Bool, cancelable: Bool, composed: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.bubbles] = _toJSValue(bubbles) object[Strings.cancelable] = _toJSValue(cancelable) object[Strings.composed] = _toJSValue(composed) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var bubbles: Bool { - get { jsObject[Strings.bubbles].fromJSValue()! } - set { jsObject[Strings.bubbles] = _toJSValue(newValue) } - } - @inlinable public var cancelable: Bool { - get { jsObject[Strings.cancelable].fromJSValue()! } - set { jsObject[Strings.cancelable] = _toJSValue(newValue) } - } - @inlinable public var composed: Bool { - get { jsObject[Strings.composed].fromJSValue()! } - set { jsObject[Strings.composed] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _bubbles = ReadWriteAttribute(jsObject: object, name: Strings.bubbles) + _cancelable = ReadWriteAttribute(jsObject: object, name: Strings.cancelable) + _composed = ReadWriteAttribute(jsObject: object, name: Strings.composed) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var bubbles: Bool? + + @ReadWriteAttribute + public var cancelable: Bool? + + @ReadWriteAttribute + public var composed: Bool? } public typealias EventListener = (Event) -> Void -open class EventListenerOptions: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(capture: Bool? = nil) { +public class EventListenerOptions: BridgedDictionary { + public convenience init(capture: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.capture] = _toJSValue(capture) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var capture: Bool { - get { jsObject[Strings.capture].fromJSValue()! } - set { jsObject[Strings.capture] = _toJSValue(newValue) } - } -} -open class EventModifierInit: UIEventInit { - - public convenience init( - view: Window?, - detail: Int32? = nil, - which: UInt32? = nil, - ctrlKey: Bool? = nil, - shiftKey: Bool? = nil, - altKey: Bool? = nil, - metaKey: Bool? = nil, - modifierAltGraph: Bool? = nil, - modifierCapsLock: Bool? = nil, - modifierFn: Bool? = nil, - modifierFnLock: Bool? = nil, - modifierHyper: Bool? = nil, - modifierNumLock: Bool? = nil, - modifierScrollLock: Bool? = nil, - modifierSuper: Bool? = nil, - modifierSymbol: Bool? = nil, - modifierSymbolLock: Bool? = nil - ) { + public required init(unsafelyWrapping object: JSObject) { + _capture = ReadWriteAttribute(jsObject: object, name: Strings.capture) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var capture: Bool? +} + +public class EventModifierInit: BridgedDictionary { + public convenience init(ctrlKey: Bool, shiftKey: Bool, altKey: Bool, metaKey: Bool, modifierAltGraph: Bool, modifierCapsLock: Bool, modifierFn: Bool, modifierFnLock: Bool, modifierHyper: Bool, modifierNumLock: Bool, modifierScrollLock: Bool, modifierSuper: Bool, modifierSymbol: Bool, modifierSymbolLock: Bool) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.view] = _toJSValue(view) - object[Strings.detail] = _toJSValue(detail) - object[Strings.which] = _toJSValue(which) object[Strings.ctrlKey] = _toJSValue(ctrlKey) object[Strings.shiftKey] = _toJSValue(shiftKey) object[Strings.altKey] = _toJSValue(altKey) @@ -5411,83 +5371,92 @@ open class EventModifierInit: UIEventInit { object[Strings.modifierSuper] = _toJSValue(modifierSuper) object[Strings.modifierSymbol] = _toJSValue(modifierSymbol) object[Strings.modifierSymbolLock] = _toJSValue(modifierSymbolLock) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var ctrlKey: Bool { - get { jsObject[Strings.ctrlKey].fromJSValue()! } - set { jsObject[Strings.ctrlKey] = _toJSValue(newValue) } - } - @inlinable public var shiftKey: Bool { - get { jsObject[Strings.shiftKey].fromJSValue()! } - set { jsObject[Strings.shiftKey] = _toJSValue(newValue) } - } - @inlinable public var altKey: Bool { - get { jsObject[Strings.altKey].fromJSValue()! } - set { jsObject[Strings.altKey] = _toJSValue(newValue) } - } - @inlinable public var metaKey: Bool { - get { jsObject[Strings.metaKey].fromJSValue()! } - set { jsObject[Strings.metaKey] = _toJSValue(newValue) } - } - @inlinable public var modifierAltGraph: Bool { - get { jsObject[Strings.modifierAltGraph].fromJSValue()! } - set { jsObject[Strings.modifierAltGraph] = _toJSValue(newValue) } - } - @inlinable public var modifierCapsLock: Bool { - get { jsObject[Strings.modifierCapsLock].fromJSValue()! } - set { jsObject[Strings.modifierCapsLock] = _toJSValue(newValue) } - } - @inlinable public var modifierFn: Bool { - get { jsObject[Strings.modifierFn].fromJSValue()! } - set { jsObject[Strings.modifierFn] = _toJSValue(newValue) } - } - @inlinable public var modifierFnLock: Bool { - get { jsObject[Strings.modifierFnLock].fromJSValue()! } - set { jsObject[Strings.modifierFnLock] = _toJSValue(newValue) } - } - @inlinable public var modifierHyper: Bool { - get { jsObject[Strings.modifierHyper].fromJSValue()! } - set { jsObject[Strings.modifierHyper] = _toJSValue(newValue) } - } - @inlinable public var modifierNumLock: Bool { - get { jsObject[Strings.modifierNumLock].fromJSValue()! } - set { jsObject[Strings.modifierNumLock] = _toJSValue(newValue) } - } - @inlinable public var modifierScrollLock: Bool { - get { jsObject[Strings.modifierScrollLock].fromJSValue()! } - set { jsObject[Strings.modifierScrollLock] = _toJSValue(newValue) } - } - @inlinable public var modifierSuper: Bool { - get { jsObject[Strings.modifierSuper].fromJSValue()! } - set { jsObject[Strings.modifierSuper] = _toJSValue(newValue) } - } - @inlinable public var modifierSymbol: Bool { - get { jsObject[Strings.modifierSymbol].fromJSValue()! } - set { jsObject[Strings.modifierSymbol] = _toJSValue(newValue) } - } - @inlinable public var modifierSymbolLock: Bool { - get { jsObject[Strings.modifierSymbolLock].fromJSValue()! } - set { jsObject[Strings.modifierSymbolLock] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _ctrlKey = ReadWriteAttribute(jsObject: object, name: Strings.ctrlKey) + _shiftKey = ReadWriteAttribute(jsObject: object, name: Strings.shiftKey) + _altKey = ReadWriteAttribute(jsObject: object, name: Strings.altKey) + _metaKey = ReadWriteAttribute(jsObject: object, name: Strings.metaKey) + _modifierAltGraph = ReadWriteAttribute(jsObject: object, name: Strings.modifierAltGraph) + _modifierCapsLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierCapsLock) + _modifierFn = ReadWriteAttribute(jsObject: object, name: Strings.modifierFn) + _modifierFnLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierFnLock) + _modifierHyper = ReadWriteAttribute(jsObject: object, name: Strings.modifierHyper) + _modifierNumLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierNumLock) + _modifierScrollLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierScrollLock) + _modifierSuper = ReadWriteAttribute(jsObject: object, name: Strings.modifierSuper) + _modifierSymbol = ReadWriteAttribute(jsObject: object, name: Strings.modifierSymbol) + _modifierSymbolLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierSymbolLock) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var ctrlKey: Bool? + + @ReadWriteAttribute + public var shiftKey: Bool? + + @ReadWriteAttribute + public var altKey: Bool? + + @ReadWriteAttribute + public var metaKey: Bool? + + @ReadWriteAttribute + public var modifierAltGraph: Bool? + + @ReadWriteAttribute + public var modifierCapsLock: Bool? + + @ReadWriteAttribute + public var modifierFn: Bool? + + @ReadWriteAttribute + public var modifierFnLock: Bool? + + @ReadWriteAttribute + public var modifierHyper: Bool? + + @ReadWriteAttribute + public var modifierNumLock: Bool? + + @ReadWriteAttribute + public var modifierScrollLock: Bool? + + @ReadWriteAttribute + public var modifierSuper: Bool? + + @ReadWriteAttribute + public var modifierSymbol: Bool? + + @ReadWriteAttribute + public var modifierSymbolLock: Bool? } + public class EventSource: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.EventSource].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.EventSource].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) + _withCredentials = ReadonlyAttribute(jsObject: jsObject, name: Strings.withCredentials) + _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) + _onopen = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onopen) + _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) + _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(url: String, eventSourceInitDict: EventSourceInit? = nil) { - self.init( - unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(url), _toJSValue(eventSourceInitDict)]) - ) + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(url), _toJSValue(eventSourceInitDict)])) } - @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } + @ReadonlyAttribute + public var url: String - @inlinable public var withCredentials: Bool { jsObject[Strings.withCredentials].fromJSValue()! } + @ReadonlyAttribute + public var withCredentials: Bool public static let CONNECTING: UInt16 = 0 @@ -5495,154 +5464,103 @@ public class EventSource: EventTarget { public static let CLOSED: UInt16 = 2 - @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } + @ReadonlyAttribute + public var readyState: UInt16 - @inlinable public var onopen: EventHandler { - get { - guard let function = jsObject[Strings.onopen].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onopen] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onopen] = .null - } - } - } + @ClosureAttribute1Optional + public var onopen: EventHandler - @inlinable public var onmessage: EventHandler { - get { - guard let function = jsObject[Strings.onmessage].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmessage] = .null - } - } - } + @ClosureAttribute1Optional + public var onmessage: EventHandler - @inlinable public var onerror: EventHandler { - get { - guard let function = jsObject[Strings.onerror].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onerror] = .null - } - } - } + @ClosureAttribute1Optional + public var onerror: EventHandler - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } } -open class EventSourceInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(withCredentials: Bool? = nil) { +public class EventSourceInit: BridgedDictionary { + public convenience init(withCredentials: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.withCredentials] = _toJSValue(withCredentials) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var withCredentials: Bool { - get { jsObject[Strings.withCredentials].fromJSValue()! } - set { jsObject[Strings.withCredentials] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _withCredentials = ReadWriteAttribute(jsObject: object, name: Strings.withCredentials) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var withCredentials: Bool? } + open class EventTarget: JSBridgedClass { @inlinable open class var constructor: JSFunction? { JSObject.global[Strings.EventTarget].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable final public func addEventListener( - type: String, - callback: EventListener?, - options: AddEventListenerOptions_or_Bool? = nil - ) { + @inlinable public func addEventListener(type: String, callback: EventListener?, options: AddEventListenerOptions_or_Bool? = nil) { let this = jsObject - _ = this[Strings.addEventListener].function!( - this: this, - arguments: [_toJSValue(type), _toJSValue(callback), _toJSValue(options)] - ) + _ = this[Strings.addEventListener].function!(this: this, arguments: [_toJSValue(type), _toJSValue(callback), _toJSValue(options)]) } - @inlinable final public func removeEventListener( - type: String, - callback: EventListener?, - options: Bool_or_EventListenerOptions? = nil - ) { + @inlinable public func removeEventListener(type: String, callback: EventListener?, options: Bool_or_EventListenerOptions? = nil) { let this = jsObject - _ = this[Strings.removeEventListener].function!( - this: this, - arguments: [_toJSValue(type), _toJSValue(callback), _toJSValue(options)] - ) + _ = this[Strings.removeEventListener].function!(this: this, arguments: [_toJSValue(type), _toJSValue(callback), _toJSValue(options)]) } - @inlinable final public func dispatchEvent(event: Event) -> Bool { + @inlinable public func dispatchEvent(event: Event) -> Bool { let this = jsObject return this[Strings.dispatchEvent].function!(this: this, arguments: [_toJSValue(event)]).fromJSValue()! } } -open class ExtendableEventInit: EventInit { - - public convenience init(bubbles: Bool? = nil, cancelable: Bool? = nil, composed: Bool? = nil) { +public class ExtendableEventInit: BridgedDictionary { + public convenience init() { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - + public required init(unsafelyWrapping object: JSObject) { + super.init(unsafelyWrapping: object) + } } + public class External: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.External].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable final public func AddSearchProvider() { + @inlinable public func AddSearchProvider() { let this = jsObject _ = this[Strings.AddSearchProvider].function!(this: this, arguments: []) } - @inlinable final public func IsSearchProviderInstalled() { + @inlinable public func IsSearchProviderInstalled() { let this = jsObject _ = this[Strings.IsSearchProviderInstalled].function!(this: this, arguments: []) } } -open class FetchEventInit: ExtendableEventInit { - - public convenience init( - request: Request, - preloadResponse: JSPromise? = nil, - clientId: String? = nil, - resultingClientId: String? = nil, - replacesClientId: String? = nil, - handled: JSPromise? = nil - ) { +public class FetchEventInit: BridgedDictionary { + public convenience init(request: Request, preloadResponse: JSPromise, clientId: String, resultingClientId: String, replacesClientId: String, handled: JSPromise) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.request] = _toJSValue(request) object[Strings.preloadResponse] = _toJSValue(preloadResponse) @@ -5650,53 +5568,56 @@ open class FetchEventInit: ExtendableEventInit { object[Strings.resultingClientId] = _toJSValue(resultingClientId) object[Strings.replacesClientId] = _toJSValue(replacesClientId) object[Strings.handled] = _toJSValue(handled) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var request: Request { - get { jsObject[Strings.request].fromJSValue()! } - set { jsObject[Strings.request] = _toJSValue(newValue) } - } - @inlinable public var preloadResponse: JSPromise { - get { jsObject[Strings.preloadResponse].fromJSValue()! } - set { jsObject[Strings.preloadResponse] = _toJSValue(newValue) } - } - @inlinable public var clientId: String { - get { jsObject[Strings.clientId].fromJSValue()! } - set { jsObject[Strings.clientId] = _toJSValue(newValue) } - } - @inlinable public var resultingClientId: String { - get { jsObject[Strings.resultingClientId].fromJSValue()! } - set { jsObject[Strings.resultingClientId] = _toJSValue(newValue) } - } - @inlinable public var replacesClientId: String { - get { jsObject[Strings.replacesClientId].fromJSValue()! } - set { jsObject[Strings.replacesClientId] = _toJSValue(newValue) } - } - @inlinable public var handled: JSPromise { - get { jsObject[Strings.handled].fromJSValue()! } - set { jsObject[Strings.handled] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _request = ReadWriteAttribute(jsObject: object, name: Strings.request) + _preloadResponse = ReadWriteAttribute(jsObject: object, name: Strings.preloadResponse) + _clientId = ReadWriteAttribute(jsObject: object, name: Strings.clientId) + _resultingClientId = ReadWriteAttribute(jsObject: object, name: Strings.resultingClientId) + _replacesClientId = ReadWriteAttribute(jsObject: object, name: Strings.replacesClientId) + _handled = ReadWriteAttribute(jsObject: object, name: Strings.handled) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var request: Request + + @ReadWriteAttribute + public var preloadResponse: JSPromise? + + @ReadWriteAttribute + public var clientId: String? + + @ReadWriteAttribute + public var resultingClientId: String? + + @ReadWriteAttribute + public var replacesClientId: String? + + @ReadWriteAttribute + public var handled: JSPromise? } + public class File: Blob { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.File].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.File].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) + _lastModified = ReadonlyAttribute(jsObject: jsObject, name: Strings.lastModified) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(fileBits: [BlobPart], fileName: String, options: FilePropertyBag? = nil) { - self.init( - unsafelyWrapping: Self.constructor!.new(arguments: [ - _toJSValue(fileBits), _toJSValue(fileName), _toJSValue(options), - ]) - ) + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(fileBits), _toJSValue(fileName), _toJSValue(options)])) } - @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } + @ReadonlyAttribute + public var name: String - @inlinable public var lastModified: Int64 { jsObject[Strings.lastModified].fromJSValue()! } + @ReadonlyAttribute + public var lastModified: Int64 } public class FileList: JSBridgedClass { @@ -5704,64 +5625,81 @@ public class FileList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public subscript(key: Int) -> File? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: Int) -> File? { + jsObject[key].fromJSValue() + } - @inlinable final public func item(index: UInt32) -> File? { + @inlinable public func item(index: UInt32) -> File? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 } -open class FilePropertyBag: BlobPropertyBag { - - public convenience init(type: String? = nil, endings: EndingType? = nil, lastModified: Int64? = nil) { +public class FilePropertyBag: BridgedDictionary { + public convenience init(lastModified: Int64) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.type] = _toJSValue(type) - object[Strings.endings] = _toJSValue(endings) object[Strings.lastModified] = _toJSValue(lastModified) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var lastModified: Int64 { - get { jsObject[Strings.lastModified].fromJSValue()! } - set { jsObject[Strings.lastModified] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _lastModified = ReadWriteAttribute(jsObject: object, name: Strings.lastModified) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var lastModified: Int64? } + public class FileReader: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.FileReader].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.FileReader].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) + _result = ReadonlyAttribute(jsObject: jsObject, name: Strings.result) + _error = ReadonlyAttribute(jsObject: jsObject, name: Strings.error) + _onloadstart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onloadstart) + _onprogress = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onprogress) + _onload = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onload) + _onabort = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onabort) + _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) + _onloadend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onloadend) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable final public func readAsArrayBuffer(blob: Blob) { + @inlinable public func readAsArrayBuffer(blob: Blob) { let this = jsObject _ = this[Strings.readAsArrayBuffer].function!(this: this, arguments: [_toJSValue(blob)]) } - @inlinable final public func readAsBinaryString(blob: Blob) { + @inlinable public func readAsBinaryString(blob: Blob) { let this = jsObject _ = this[Strings.readAsBinaryString].function!(this: this, arguments: [_toJSValue(blob)]) } - @inlinable final public func readAsText(blob: Blob, encoding: String? = nil) { + @inlinable public func readAsText(blob: Blob, encoding: String? = nil) { let this = jsObject _ = this[Strings.readAsText].function!(this: this, arguments: [_toJSValue(blob), _toJSValue(encoding)]) } - @inlinable final public func readAsDataURL(blob: Blob) { + @inlinable public func readAsDataURL(blob: Blob) { let this = jsObject _ = this[Strings.readAsDataURL].function!(this: this, arguments: [_toJSValue(blob)]) } - @inlinable final public func abort() { + @inlinable public func abort() { let this = jsObject _ = this[Strings.abort].function!(this: this, arguments: []) } @@ -5772,242 +5710,178 @@ public class FileReader: EventTarget { public static let DONE: UInt16 = 2 - @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } + @ReadonlyAttribute + public var readyState: UInt16 - @inlinable public var result: ArrayBuffer_or_String? { jsObject[Strings.result].fromJSValue() } + @ReadonlyAttribute + public var result: ArrayBuffer_or_String? - @inlinable public var error: DOMException? { jsObject[Strings.error].fromJSValue() } + @ReadonlyAttribute + public var error: DOMException? - @inlinable public var onloadstart: EventHandler { - get { - guard let function = jsObject[Strings.onloadstart].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onloadstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onloadstart] = .null - } - } - } + @ClosureAttribute1Optional + public var onloadstart: EventHandler - @inlinable public var onprogress: EventHandler { - get { - guard let function = jsObject[Strings.onprogress].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onprogress] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onprogress] = .null - } - } - } + @ClosureAttribute1Optional + public var onprogress: EventHandler - @inlinable public var onload: EventHandler { - get { - guard let function = jsObject[Strings.onload].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onload] = .null - } - } - } + @ClosureAttribute1Optional + public var onload: EventHandler - @inlinable public var onabort: EventHandler { - get { - guard let function = jsObject[Strings.onabort].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onabort] = .null - } - } - } + @ClosureAttribute1Optional + public var onabort: EventHandler - @inlinable public var onerror: EventHandler { - get { - guard let function = jsObject[Strings.onerror].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onerror] = .null - } - } - } + @ClosureAttribute1Optional + public var onerror: EventHandler - @inlinable public var onloadend: EventHandler { - get { - guard let function = jsObject[Strings.onloadend].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onloadend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onloadend] = .null - } - } - } + @ClosureAttribute1Optional + public var onloadend: EventHandler } public class FocusEvent: UIEvent { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.FocusEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.FocusEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _relatedTarget = ReadonlyAttribute(jsObject: jsObject, name: Strings.relatedTarget) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: FocusEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var relatedTarget: EventTarget? { jsObject[Strings.relatedTarget].fromJSValue() } + @ReadonlyAttribute + public var relatedTarget: EventTarget? } -open class FocusEventInit: UIEventInit { - - public convenience init(view: Window?, detail: Int32? = nil, which: UInt32? = nil, relatedTarget: EventTarget?) { +public class FocusEventInit: BridgedDictionary { + public convenience init(relatedTarget: EventTarget?) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.view] = _toJSValue(view) - object[Strings.detail] = _toJSValue(detail) - object[Strings.which] = _toJSValue(which) object[Strings.relatedTarget] = _toJSValue(relatedTarget) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var relatedTarget: EventTarget? { - get { jsObject[Strings.relatedTarget].fromJSValue() } - set { jsObject[Strings.relatedTarget] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _relatedTarget = ReadWriteAttribute(jsObject: object, name: Strings.relatedTarget) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var relatedTarget: EventTarget? } -open class FocusOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(preventScroll: Bool? = nil, focusVisible: Bool? = nil) { +public class FocusOptions: BridgedDictionary { + public convenience init(preventScroll: Bool, focusVisible: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.preventScroll] = _toJSValue(preventScroll) object[Strings.focusVisible] = _toJSValue(focusVisible) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var preventScroll: Bool { - get { jsObject[Strings.preventScroll].fromJSValue()! } - set { jsObject[Strings.preventScroll] = _toJSValue(newValue) } - } - @inlinable public var focusVisible: Bool { - get { jsObject[Strings.focusVisible].fromJSValue()! } - set { jsObject[Strings.focusVisible] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _preventScroll = ReadWriteAttribute(jsObject: object, name: Strings.preventScroll) + _focusVisible = ReadWriteAttribute(jsObject: object, name: Strings.focusVisible) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var preventScroll: Bool? + + @ReadWriteAttribute + public var focusVisible: Bool? } + public class FormData: JSBridgedClass, Sequence { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.FormData].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } @inlinable public convenience init(form: HTMLFormElement? = nil, submitter: HTMLElement? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(form), _toJSValue(submitter)])) } - @inlinable final public func append(name: String, value: String) { + @inlinable public func append(name: String, value: String) { let this = jsObject _ = this[Strings.append].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @inlinable final public func append(name: String, blobValue: Blob, filename: String? = nil) { + @inlinable public func append(name: String, blobValue: Blob, filename: String? = nil) { let this = jsObject - _ = this[Strings.append].function!( - this: this, - arguments: [_toJSValue(name), _toJSValue(blobValue), _toJSValue(filename)] - ) + _ = this[Strings.append].function!(this: this, arguments: [_toJSValue(name), _toJSValue(blobValue), _toJSValue(filename)]) } - @inlinable final public func delete(name: String) { + @inlinable public func delete(name: String) { let this = jsObject _ = this[Strings.delete].function!(this: this, arguments: [_toJSValue(name)]) } - @inlinable final public func get(name: String) -> FormDataEntryValue? { + @inlinable public func get(name: String) -> FormDataEntryValue? { let this = jsObject return this[Strings.get].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable final public func getAll(name: String) -> [FormDataEntryValue] { + @inlinable public func getAll(name: String) -> [FormDataEntryValue] { let this = jsObject return this[Strings.getAll].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @inlinable final public func has(name: String) -> Bool { + @inlinable public func has(name: String) -> Bool { let this = jsObject return this[Strings.has].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @inlinable final public func set(name: String, value: String) { + @inlinable public func set(name: String, value: String) { let this = jsObject _ = this[Strings.set].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @inlinable final public func set(name: String, blobValue: Blob, filename: String? = nil) { + @inlinable public func set(name: String, blobValue: Blob, filename: String? = nil) { let this = jsObject - _ = this[Strings.set].function!( - this: this, - arguments: [_toJSValue(name), _toJSValue(blobValue), _toJSValue(filename)] - ) + _ = this[Strings.set].function!(this: this, arguments: [_toJSValue(name), _toJSValue(blobValue), _toJSValue(filename)]) } public typealias Element = String - public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } + public func makeIterator() -> ValueIterableIterator { + ValueIterableIterator(sequence: self) + } } public class FormDataEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.FormDataEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.FormDataEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _formData = ReadonlyAttribute(jsObject: jsObject, name: Strings.formData) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: FormDataEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var formData: FormData { jsObject[Strings.formData].fromJSValue()! } + @ReadonlyAttribute + public var formData: FormData } -open class FormDataEventInit: EventInit { - - public convenience init(bubbles: Bool? = nil, cancelable: Bool? = nil, composed: Bool? = nil, formData: FormData) { +public class FormDataEventInit: BridgedDictionary { + public convenience init(formData: FormData) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.formData] = _toJSValue(formData) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var formData: FormData { - get { jsObject[Strings.formData].fromJSValue()! } - set { jsObject[Strings.formData] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _formData = ReadWriteAttribute(jsObject: object, name: Strings.formData) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var formData: FormData } + public enum FrameType: JSString, JSValueCompatible { case auxiliary = "auxiliary" case topLevel = "top-level" @@ -6015,1556 +5889,814 @@ public enum FrameType: JSString, JSValueCompatible { case none = "none" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public protocol GenericTransformStream: JSBridgedClass {} -extension GenericTransformStream { - @inlinable public var readable: ReadableStream { jsObject[Strings.readable].fromJSValue()! } +public extension GenericTransformStream { + @inlinable var readable: ReadableStream { jsObject[Strings.readable].fromJSValue()! } - @inlinable public var writable: WritableStream { jsObject[Strings.writable].fromJSValue()! } + @inlinable var writable: WritableStream { jsObject[Strings.writable].fromJSValue()! } } + public protocol GeometryUtils: JSBridgedClass {} -extension GeometryUtils { - @inlinable public func getBoxQuads(options: BoxQuadOptions? = nil) -> [DOMQuad] { +public extension GeometryUtils { + @inlinable func getBoxQuads(options: BoxQuadOptions? = nil) -> [DOMQuad] { let this = jsObject return this[Strings.getBoxQuads].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func convertQuadFromNode( - quad: DOMQuadInit, - from: GeometryNode, - options: ConvertCoordinateOptions? = nil - ) -> DOMQuad { + @inlinable func convertQuadFromNode(quad: DOMQuadInit, from: GeometryNode, options: ConvertCoordinateOptions? = nil) -> DOMQuad { let this = jsObject - return this[Strings.convertQuadFromNode].function!( - this: this, - arguments: [_toJSValue(quad), _toJSValue(from), _toJSValue(options)] - ).fromJSValue()! + return this[Strings.convertQuadFromNode].function!(this: this, arguments: [_toJSValue(quad), _toJSValue(from), _toJSValue(options)]).fromJSValue()! } - @inlinable public func convertRectFromNode( - rect: DOMRectReadOnly, - from: GeometryNode, - options: ConvertCoordinateOptions? = nil - ) -> DOMQuad { + @inlinable func convertRectFromNode(rect: DOMRectReadOnly, from: GeometryNode, options: ConvertCoordinateOptions? = nil) -> DOMQuad { let this = jsObject - return this[Strings.convertRectFromNode].function!( - this: this, - arguments: [_toJSValue(rect), _toJSValue(from), _toJSValue(options)] - ).fromJSValue()! + return this[Strings.convertRectFromNode].function!(this: this, arguments: [_toJSValue(rect), _toJSValue(from), _toJSValue(options)]).fromJSValue()! } - @inlinable public func convertPointFromNode( - point: DOMPointInit, - from: GeometryNode, - options: ConvertCoordinateOptions? = nil - ) -> DOMPoint { + @inlinable func convertPointFromNode(point: DOMPointInit, from: GeometryNode, options: ConvertCoordinateOptions? = nil) -> DOMPoint { let this = jsObject - return this[Strings.convertPointFromNode].function!( - this: this, - arguments: [_toJSValue(point), _toJSValue(from), _toJSValue(options)] - ).fromJSValue()! + return this[Strings.convertPointFromNode].function!(this: this, arguments: [_toJSValue(point), _toJSValue(from), _toJSValue(options)]).fromJSValue()! } } -open class GetRootNodeOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(composed: Bool? = nil) { +public class GetRootNodeOptions: BridgedDictionary { + public convenience init(composed: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.composed] = _toJSValue(composed) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var composed: Bool { - get { jsObject[Strings.composed].fromJSValue()! } - set { jsObject[Strings.composed] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _composed = ReadWriteAttribute(jsObject: object, name: Strings.composed) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var composed: Bool? } + public protocol GlobalEventHandlers: JSBridgedClass {} -extension GlobalEventHandlers { - @inlinable public var onabort: EventHandler { - get { - guard let function = jsObject[Strings.onabort].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onabort] = .null - } - } +public extension GlobalEventHandlers { + @inlinable var onabort: EventHandler { + get { ClosureAttribute1Optional[Strings.onabort, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onabort, in: jsObject] = newValue } } - @inlinable public var onauxclick: EventHandler { - get { - guard let function = jsObject[Strings.onauxclick].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onauxclick] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onauxclick] = .null - } - } + @inlinable var onauxclick: EventHandler { + get { ClosureAttribute1Optional[Strings.onauxclick, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onauxclick, in: jsObject] = newValue } } - @inlinable public var onbeforeinput: EventHandler { - get { - guard let function = jsObject[Strings.onbeforeinput].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onbeforeinput] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onbeforeinput] = .null - } - } + @inlinable var onbeforeinput: EventHandler { + get { ClosureAttribute1Optional[Strings.onbeforeinput, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onbeforeinput, in: jsObject] = newValue } } - @inlinable public var onbeforematch: EventHandler { - get { - guard let function = jsObject[Strings.onbeforematch].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onbeforematch] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onbeforematch] = .null - } - } + @inlinable var onbeforematch: EventHandler { + get { ClosureAttribute1Optional[Strings.onbeforematch, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onbeforematch, in: jsObject] = newValue } } - @inlinable public var onbeforetoggle: EventHandler { - get { - guard let function = jsObject[Strings.onbeforetoggle].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onbeforetoggle] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onbeforetoggle] = .null - } - } + @inlinable var onbeforetoggle: EventHandler { + get { ClosureAttribute1Optional[Strings.onbeforetoggle, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onbeforetoggle, in: jsObject] = newValue } } - @inlinable public var onblur: EventHandler { - get { - guard let function = jsObject[Strings.onblur].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onblur] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onblur] = .null - } - } + @inlinable var onblur: EventHandler { + get { ClosureAttribute1Optional[Strings.onblur, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onblur, in: jsObject] = newValue } } - @inlinable public var oncancel: EventHandler { - get { - guard let function = jsObject[Strings.oncancel].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncancel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncancel] = .null - } - } + @inlinable var oncancel: EventHandler { + get { ClosureAttribute1Optional[Strings.oncancel, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.oncancel, in: jsObject] = newValue } } - @inlinable public var oncanplay: EventHandler { - get { - guard let function = jsObject[Strings.oncanplay].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncanplay] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncanplay] = .null - } - } + @inlinable var oncanplay: EventHandler { + get { ClosureAttribute1Optional[Strings.oncanplay, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.oncanplay, in: jsObject] = newValue } } - @inlinable public var oncanplaythrough: EventHandler { - get { - guard let function = jsObject[Strings.oncanplaythrough].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncanplaythrough] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncanplaythrough] = .null - } - } + @inlinable var oncanplaythrough: EventHandler { + get { ClosureAttribute1Optional[Strings.oncanplaythrough, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.oncanplaythrough, in: jsObject] = newValue } } - @inlinable public var onchange: EventHandler { - get { - guard let function = jsObject[Strings.onchange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onchange] = .null - } - } + @inlinable var onchange: EventHandler { + get { ClosureAttribute1Optional[Strings.onchange, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onchange, in: jsObject] = newValue } } - @inlinable public var onclick: EventHandler { - get { - guard let function = jsObject[Strings.onclick].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onclick] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onclick] = .null - } - } + @inlinable var onclick: EventHandler { + get { ClosureAttribute1Optional[Strings.onclick, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onclick, in: jsObject] = newValue } } - @inlinable public var onclose: EventHandler { - get { - guard let function = jsObject[Strings.onclose].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onclose] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onclose] = .null - } - } + @inlinable var onclose: EventHandler { + get { ClosureAttribute1Optional[Strings.onclose, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onclose, in: jsObject] = newValue } } - @inlinable public var oncontextlost: EventHandler { - get { - guard let function = jsObject[Strings.oncontextlost].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncontextlost] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncontextlost] = .null - } - } + @inlinable var oncontextlost: EventHandler { + get { ClosureAttribute1Optional[Strings.oncontextlost, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.oncontextlost, in: jsObject] = newValue } } - @inlinable public var oncontextmenu: EventHandler { - get { - guard let function = jsObject[Strings.oncontextmenu].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncontextmenu] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncontextmenu] = .null - } - } + @inlinable var oncontextmenu: EventHandler { + get { ClosureAttribute1Optional[Strings.oncontextmenu, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.oncontextmenu, in: jsObject] = newValue } } - @inlinable public var oncontextrestored: EventHandler { - get { - guard let function = jsObject[Strings.oncontextrestored].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncontextrestored] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncontextrestored] = .null - } - } + @inlinable var oncontextrestored: EventHandler { + get { ClosureAttribute1Optional[Strings.oncontextrestored, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.oncontextrestored, in: jsObject] = newValue } } - @inlinable public var oncopy: EventHandler { - get { - guard let function = jsObject[Strings.oncopy].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncopy] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncopy] = .null - } - } + @inlinable var oncopy: EventHandler { + get { ClosureAttribute1Optional[Strings.oncopy, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.oncopy, in: jsObject] = newValue } } - @inlinable public var oncuechange: EventHandler { - get { - guard let function = jsObject[Strings.oncuechange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncuechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncuechange] = .null - } - } + @inlinable var oncuechange: EventHandler { + get { ClosureAttribute1Optional[Strings.oncuechange, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.oncuechange, in: jsObject] = newValue } } - @inlinable public var oncut: EventHandler { - get { - guard let function = jsObject[Strings.oncut].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncut] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncut] = .null - } - } + @inlinable var oncut: EventHandler { + get { ClosureAttribute1Optional[Strings.oncut, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.oncut, in: jsObject] = newValue } } - @inlinable public var ondblclick: EventHandler { - get { - guard let function = jsObject[Strings.ondblclick].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondblclick] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondblclick] = .null - } - } + @inlinable var ondblclick: EventHandler { + get { ClosureAttribute1Optional[Strings.ondblclick, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ondblclick, in: jsObject] = newValue } } - @inlinable public var ondrag: EventHandler { - get { - guard let function = jsObject[Strings.ondrag].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondrag] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondrag] = .null - } - } + @inlinable var ondrag: EventHandler { + get { ClosureAttribute1Optional[Strings.ondrag, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ondrag, in: jsObject] = newValue } } - @inlinable public var ondragend: EventHandler { - get { - guard let function = jsObject[Strings.ondragend].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondragend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondragend] = .null - } - } + @inlinable var ondragend: EventHandler { + get { ClosureAttribute1Optional[Strings.ondragend, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ondragend, in: jsObject] = newValue } } - @inlinable public var ondragenter: EventHandler { - get { - guard let function = jsObject[Strings.ondragenter].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondragenter] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondragenter] = .null - } - } + @inlinable var ondragenter: EventHandler { + get { ClosureAttribute1Optional[Strings.ondragenter, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ondragenter, in: jsObject] = newValue } } - @inlinable public var ondragleave: EventHandler { - get { - guard let function = jsObject[Strings.ondragleave].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondragleave] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondragleave] = .null - } - } + @inlinable var ondragleave: EventHandler { + get { ClosureAttribute1Optional[Strings.ondragleave, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ondragleave, in: jsObject] = newValue } } - @inlinable public var ondragover: EventHandler { - get { - guard let function = jsObject[Strings.ondragover].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondragover] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondragover] = .null - } - } + @inlinable var ondragover: EventHandler { + get { ClosureAttribute1Optional[Strings.ondragover, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ondragover, in: jsObject] = newValue } } - @inlinable public var ondragstart: EventHandler { - get { - guard let function = jsObject[Strings.ondragstart].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondragstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondragstart] = .null - } - } + @inlinable var ondragstart: EventHandler { + get { ClosureAttribute1Optional[Strings.ondragstart, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ondragstart, in: jsObject] = newValue } } - @inlinable public var ondrop: EventHandler { - get { - guard let function = jsObject[Strings.ondrop].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondrop] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondrop] = .null - } - } + @inlinable var ondrop: EventHandler { + get { ClosureAttribute1Optional[Strings.ondrop, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ondrop, in: jsObject] = newValue } } - @inlinable public var ondurationchange: EventHandler { - get { - guard let function = jsObject[Strings.ondurationchange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondurationchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondurationchange] = .null - } - } + @inlinable var ondurationchange: EventHandler { + get { ClosureAttribute1Optional[Strings.ondurationchange, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ondurationchange, in: jsObject] = newValue } } - @inlinable public var onemptied: EventHandler { - get { - guard let function = jsObject[Strings.onemptied].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onemptied] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onemptied] = .null - } - } + @inlinable var onemptied: EventHandler { + get { ClosureAttribute1Optional[Strings.onemptied, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onemptied, in: jsObject] = newValue } } - @inlinable public var onended: EventHandler { - get { - guard let function = jsObject[Strings.onended].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onended] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onended] = .null - } - } + @inlinable var onended: EventHandler { + get { ClosureAttribute1Optional[Strings.onended, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onended, in: jsObject] = newValue } } - @inlinable public var onerror: OnErrorEventHandler { - get { - guard let function = jsObject[Strings.onerror].function else { return nil } - return { - function(_toJSValue($0), _toJSValue($1), _toJSValue($2), _toJSValue($3), _toJSValue($4)).fromJSValue()! - } - } - set { - if let newValue = newValue { - jsObject[Strings.onerror] = - JSClosure { - _toJSValue( - newValue( - $0[0].fromJSValue()!, - $0[1].fromJSValue()!, - $0[2].fromJSValue()!, - $0[3].fromJSValue()!, - $0[4].fromJSValue()! - ) - ) - }.jsValue - } else { - jsObject[Strings.onerror] = .null - } - } - } - - @inlinable public var onfocus: EventHandler { - get { - guard let function = jsObject[Strings.onfocus].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onfocus] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onfocus] = .null - } - } + @inlinable var onerror: OnErrorEventHandler { + get { ClosureAttribute5Optional[Strings.onerror, in: jsObject] } + nonmutating set { ClosureAttribute5Optional[Strings.onerror, in: jsObject] = newValue } } - @inlinable public var onformdata: EventHandler { - get { - guard let function = jsObject[Strings.onformdata].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onformdata] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onformdata] = .null - } - } + @inlinable var onfocus: EventHandler { + get { ClosureAttribute1Optional[Strings.onfocus, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onfocus, in: jsObject] = newValue } } - @inlinable public var oninput: EventHandler { - get { - guard let function = jsObject[Strings.oninput].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oninput] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oninput] = .null - } - } + @inlinable var onformdata: EventHandler { + get { ClosureAttribute1Optional[Strings.onformdata, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onformdata, in: jsObject] = newValue } } - @inlinable public var oninvalid: EventHandler { - get { - guard let function = jsObject[Strings.oninvalid].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oninvalid] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oninvalid] = .null - } - } + @inlinable var oninput: EventHandler { + get { ClosureAttribute1Optional[Strings.oninput, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.oninput, in: jsObject] = newValue } } - @inlinable public var onkeydown: EventHandler { - get { - guard let function = jsObject[Strings.onkeydown].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onkeydown] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onkeydown] = .null - } - } + @inlinable var oninvalid: EventHandler { + get { ClosureAttribute1Optional[Strings.oninvalid, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.oninvalid, in: jsObject] = newValue } } - @inlinable public var onkeypress: EventHandler { - get { - guard let function = jsObject[Strings.onkeypress].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onkeypress] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onkeypress] = .null - } - } + @inlinable var onkeydown: EventHandler { + get { ClosureAttribute1Optional[Strings.onkeydown, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onkeydown, in: jsObject] = newValue } } - @inlinable public var onkeyup: EventHandler { - get { - guard let function = jsObject[Strings.onkeyup].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onkeyup] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onkeyup] = .null - } - } + @inlinable var onkeypress: EventHandler { + get { ClosureAttribute1Optional[Strings.onkeypress, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onkeypress, in: jsObject] = newValue } } - @inlinable public var onload: EventHandler { - get { - guard let function = jsObject[Strings.onload].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onload] = .null - } - } + @inlinable var onkeyup: EventHandler { + get { ClosureAttribute1Optional[Strings.onkeyup, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onkeyup, in: jsObject] = newValue } } - @inlinable public var onloadeddata: EventHandler { - get { - guard let function = jsObject[Strings.onloadeddata].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onloadeddata] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onloadeddata] = .null - } - } + @inlinable var onload: EventHandler { + get { ClosureAttribute1Optional[Strings.onload, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onload, in: jsObject] = newValue } } - @inlinable public var onloadedmetadata: EventHandler { - get { - guard let function = jsObject[Strings.onloadedmetadata].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onloadedmetadata] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onloadedmetadata] = .null - } - } + @inlinable var onloadeddata: EventHandler { + get { ClosureAttribute1Optional[Strings.onloadeddata, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onloadeddata, in: jsObject] = newValue } } - @inlinable public var onloadstart: EventHandler { - get { - guard let function = jsObject[Strings.onloadstart].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onloadstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onloadstart] = .null - } - } + @inlinable var onloadedmetadata: EventHandler { + get { ClosureAttribute1Optional[Strings.onloadedmetadata, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onloadedmetadata, in: jsObject] = newValue } } - @inlinable public var onmousedown: EventHandler { - get { - guard let function = jsObject[Strings.onmousedown].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmousedown] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmousedown] = .null - } - } + @inlinable var onloadstart: EventHandler { + get { ClosureAttribute1Optional[Strings.onloadstart, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onloadstart, in: jsObject] = newValue } } - @inlinable public var onmouseenter: EventHandler { - get { - guard let function = jsObject[Strings.onmouseenter].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmouseenter] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmouseenter] = .null - } - } + @inlinable var onmousedown: EventHandler { + get { ClosureAttribute1Optional[Strings.onmousedown, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onmousedown, in: jsObject] = newValue } } - @inlinable public var onmouseleave: EventHandler { - get { - guard let function = jsObject[Strings.onmouseleave].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmouseleave] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmouseleave] = .null - } - } + @inlinable var onmouseenter: EventHandler { + get { ClosureAttribute1Optional[Strings.onmouseenter, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onmouseenter, in: jsObject] = newValue } } - @inlinable public var onmousemove: EventHandler { - get { - guard let function = jsObject[Strings.onmousemove].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmousemove] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmousemove] = .null - } - } + @inlinable var onmouseleave: EventHandler { + get { ClosureAttribute1Optional[Strings.onmouseleave, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onmouseleave, in: jsObject] = newValue } } - @inlinable public var onmouseout: EventHandler { - get { - guard let function = jsObject[Strings.onmouseout].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmouseout] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmouseout] = .null - } - } + @inlinable var onmousemove: EventHandler { + get { ClosureAttribute1Optional[Strings.onmousemove, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onmousemove, in: jsObject] = newValue } } - @inlinable public var onmouseover: EventHandler { - get { - guard let function = jsObject[Strings.onmouseover].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmouseover] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmouseover] = .null - } - } + @inlinable var onmouseout: EventHandler { + get { ClosureAttribute1Optional[Strings.onmouseout, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onmouseout, in: jsObject] = newValue } } - @inlinable public var onmouseup: EventHandler { - get { - guard let function = jsObject[Strings.onmouseup].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmouseup] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmouseup] = .null - } - } + @inlinable var onmouseover: EventHandler { + get { ClosureAttribute1Optional[Strings.onmouseover, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onmouseover, in: jsObject] = newValue } } - @inlinable public var onpaste: EventHandler { - get { - guard let function = jsObject[Strings.onpaste].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onpaste] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onpaste] = .null - } - } + @inlinable var onmouseup: EventHandler { + get { ClosureAttribute1Optional[Strings.onmouseup, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onmouseup, in: jsObject] = newValue } } - @inlinable public var onpause: EventHandler { - get { - guard let function = jsObject[Strings.onpause].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onpause] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onpause] = .null - } - } + @inlinable var onpaste: EventHandler { + get { ClosureAttribute1Optional[Strings.onpaste, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onpaste, in: jsObject] = newValue } } - @inlinable public var onplay: EventHandler { - get { - guard let function = jsObject[Strings.onplay].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onplay] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onplay] = .null - } - } + @inlinable var onpause: EventHandler { + get { ClosureAttribute1Optional[Strings.onpause, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onpause, in: jsObject] = newValue } } - @inlinable public var onplaying: EventHandler { - get { - guard let function = jsObject[Strings.onplaying].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onplaying] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onplaying] = .null - } - } + @inlinable var onplay: EventHandler { + get { ClosureAttribute1Optional[Strings.onplay, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onplay, in: jsObject] = newValue } } - @inlinable public var onprogress: EventHandler { - get { - guard let function = jsObject[Strings.onprogress].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onprogress] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onprogress] = .null - } - } + @inlinable var onplaying: EventHandler { + get { ClosureAttribute1Optional[Strings.onplaying, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onplaying, in: jsObject] = newValue } } - @inlinable public var onratechange: EventHandler { - get { - guard let function = jsObject[Strings.onratechange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onratechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onratechange] = .null - } - } + @inlinable var onprogress: EventHandler { + get { ClosureAttribute1Optional[Strings.onprogress, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onprogress, in: jsObject] = newValue } } - @inlinable public var onreset: EventHandler { - get { - guard let function = jsObject[Strings.onreset].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onreset] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onreset] = .null - } - } + @inlinable var onratechange: EventHandler { + get { ClosureAttribute1Optional[Strings.onratechange, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onratechange, in: jsObject] = newValue } } - @inlinable public var onresize: EventHandler { - get { - guard let function = jsObject[Strings.onresize].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onresize] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onresize] = .null - } - } + @inlinable var onreset: EventHandler { + get { ClosureAttribute1Optional[Strings.onreset, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onreset, in: jsObject] = newValue } } - @inlinable public var onscroll: EventHandler { - get { - guard let function = jsObject[Strings.onscroll].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onscroll] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onscroll] = .null - } - } + @inlinable var onresize: EventHandler { + get { ClosureAttribute1Optional[Strings.onresize, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onresize, in: jsObject] = newValue } } - @inlinable public var onscrollend: EventHandler { - get { - guard let function = jsObject[Strings.onscrollend].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onscrollend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onscrollend] = .null - } - } + @inlinable var onscroll: EventHandler { + get { ClosureAttribute1Optional[Strings.onscroll, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onscroll, in: jsObject] = newValue } } - @inlinable public var onsecuritypolicyviolation: EventHandler { - get { - guard let function = jsObject[Strings.onsecuritypolicyviolation].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onsecuritypolicyviolation] = - JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onsecuritypolicyviolation] = .null - } - } + @inlinable var onscrollend: EventHandler { + get { ClosureAttribute1Optional[Strings.onscrollend, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onscrollend, in: jsObject] = newValue } } - @inlinable public var onseeked: EventHandler { - get { - guard let function = jsObject[Strings.onseeked].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onseeked] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onseeked] = .null - } - } + @inlinable var onsecuritypolicyviolation: EventHandler { + get { ClosureAttribute1Optional[Strings.onsecuritypolicyviolation, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onsecuritypolicyviolation, in: jsObject] = newValue } } - @inlinable public var onseeking: EventHandler { - get { - guard let function = jsObject[Strings.onseeking].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onseeking] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onseeking] = .null - } - } + @inlinable var onseeked: EventHandler { + get { ClosureAttribute1Optional[Strings.onseeked, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onseeked, in: jsObject] = newValue } } - @inlinable public var onselect: EventHandler { - get { - guard let function = jsObject[Strings.onselect].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onselect] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onselect] = .null - } - } + @inlinable var onseeking: EventHandler { + get { ClosureAttribute1Optional[Strings.onseeking, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onseeking, in: jsObject] = newValue } } - @inlinable public var onslotchange: EventHandler { - get { - guard let function = jsObject[Strings.onslotchange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onslotchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onslotchange] = .null - } - } + @inlinable var onselect: EventHandler { + get { ClosureAttribute1Optional[Strings.onselect, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onselect, in: jsObject] = newValue } } - @inlinable public var onstalled: EventHandler { - get { - guard let function = jsObject[Strings.onstalled].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onstalled] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onstalled] = .null - } - } + @inlinable var onslotchange: EventHandler { + get { ClosureAttribute1Optional[Strings.onslotchange, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onslotchange, in: jsObject] = newValue } } - @inlinable public var onsubmit: EventHandler { - get { - guard let function = jsObject[Strings.onsubmit].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onsubmit] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onsubmit] = .null - } - } + @inlinable var onstalled: EventHandler { + get { ClosureAttribute1Optional[Strings.onstalled, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onstalled, in: jsObject] = newValue } } - @inlinable public var onsuspend: EventHandler { - get { - guard let function = jsObject[Strings.onsuspend].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onsuspend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onsuspend] = .null - } - } + @inlinable var onsubmit: EventHandler { + get { ClosureAttribute1Optional[Strings.onsubmit, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onsubmit, in: jsObject] = newValue } } - @inlinable public var ontimeupdate: EventHandler { - get { - guard let function = jsObject[Strings.ontimeupdate].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ontimeupdate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ontimeupdate] = .null - } - } + @inlinable var onsuspend: EventHandler { + get { ClosureAttribute1Optional[Strings.onsuspend, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onsuspend, in: jsObject] = newValue } } - @inlinable public var ontoggle: EventHandler { - get { - guard let function = jsObject[Strings.ontoggle].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ontoggle] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ontoggle] = .null - } - } + @inlinable var ontimeupdate: EventHandler { + get { ClosureAttribute1Optional[Strings.ontimeupdate, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ontimeupdate, in: jsObject] = newValue } } - @inlinable public var onvolumechange: EventHandler { - get { - guard let function = jsObject[Strings.onvolumechange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onvolumechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onvolumechange] = .null - } - } + @inlinable var ontoggle: EventHandler { + get { ClosureAttribute1Optional[Strings.ontoggle, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ontoggle, in: jsObject] = newValue } } - @inlinable public var onwaiting: EventHandler { - get { - guard let function = jsObject[Strings.onwaiting].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onwaiting] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onwaiting] = .null - } - } + @inlinable var onvolumechange: EventHandler { + get { ClosureAttribute1Optional[Strings.onvolumechange, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onvolumechange, in: jsObject] = newValue } } - @inlinable public var onwebkitanimationend: EventHandler { - get { - guard let function = jsObject[Strings.onwebkitanimationend].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onwebkitanimationend] = - JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onwebkitanimationend] = .null - } - } + @inlinable var onwaiting: EventHandler { + get { ClosureAttribute1Optional[Strings.onwaiting, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onwaiting, in: jsObject] = newValue } } - @inlinable public var onwebkitanimationiteration: EventHandler { - get { - guard let function = jsObject[Strings.onwebkitanimationiteration].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onwebkitanimationiteration] = - JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onwebkitanimationiteration] = .null - } - } + @inlinable var onwebkitanimationend: EventHandler { + get { ClosureAttribute1Optional[Strings.onwebkitanimationend, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onwebkitanimationend, in: jsObject] = newValue } } - @inlinable public var onwebkitanimationstart: EventHandler { - get { - guard let function = jsObject[Strings.onwebkitanimationstart].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onwebkitanimationstart] = - JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onwebkitanimationstart] = .null - } - } + @inlinable var onwebkitanimationiteration: EventHandler { + get { ClosureAttribute1Optional[Strings.onwebkitanimationiteration, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onwebkitanimationiteration, in: jsObject] = newValue } } - @inlinable public var onwebkittransitionend: EventHandler { - get { - guard let function = jsObject[Strings.onwebkittransitionend].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onwebkittransitionend] = - JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onwebkittransitionend] = .null - } - } + @inlinable var onwebkitanimationstart: EventHandler { + get { ClosureAttribute1Optional[Strings.onwebkitanimationstart, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onwebkitanimationstart, in: jsObject] = newValue } } - @inlinable public var onwheel: EventHandler { - get { - guard let function = jsObject[Strings.onwheel].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onwheel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onwheel] = .null - } - } + @inlinable var onwebkittransitionend: EventHandler { + get { ClosureAttribute1Optional[Strings.onwebkittransitionend, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onwebkittransitionend, in: jsObject] = newValue } } - @inlinable public var ontouchstart: EventHandler { - get { - guard let function = jsObject[Strings.ontouchstart].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ontouchstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ontouchstart] = .null - } - } + @inlinable var onwheel: EventHandler { + get { ClosureAttribute1Optional[Strings.onwheel, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onwheel, in: jsObject] = newValue } } - @inlinable public var ontouchend: EventHandler { - get { - guard let function = jsObject[Strings.ontouchend].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ontouchend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ontouchend] = .null - } - } + @inlinable var ontouchstart: EventHandler { + get { ClosureAttribute1Optional[Strings.ontouchstart, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ontouchstart, in: jsObject] = newValue } } - @inlinable public var ontouchmove: EventHandler { - get { - guard let function = jsObject[Strings.ontouchmove].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ontouchmove] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ontouchmove] = .null - } - } + @inlinable var ontouchend: EventHandler { + get { ClosureAttribute1Optional[Strings.ontouchend, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ontouchend, in: jsObject] = newValue } } - @inlinable public var ontouchcancel: EventHandler { - get { - guard let function = jsObject[Strings.ontouchcancel].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ontouchcancel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ontouchcancel] = .null - } - } + @inlinable var ontouchmove: EventHandler { + get { ClosureAttribute1Optional[Strings.ontouchmove, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ontouchmove, in: jsObject] = newValue } + } + + @inlinable var ontouchcancel: EventHandler { + get { ClosureAttribute1Optional[Strings.ontouchcancel, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ontouchcancel, in: jsObject] = newValue } } } + public class HTMLAllCollection: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.HTMLAllCollection].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> Element { jsObject[key].fromJSValue()! } + @inlinable public subscript(key: Int) -> Element { + jsObject[key].fromJSValue()! + } - @inlinable public subscript(key: String) -> Element_or_HTMLCollection? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: String) -> Element_or_HTMLCollection? { + jsObject[key].fromJSValue() + } - @inlinable final public func namedItem(name: String) -> Element_or_HTMLCollection? { + @inlinable public func namedItem(name: String) -> Element_or_HTMLCollection? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable final public func item(nameOrIndex: String? = nil) -> Element_or_HTMLCollection? { + @inlinable public func item(nameOrIndex: String? = nil) -> Element_or_HTMLCollection? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(nameOrIndex)]).fromJSValue() } } -public class HTMLAnchorElement: HTMLElement, HTMLHyperlinkElementUtils { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLAnchorElement].function - } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLAnchorElement: HTMLElement, HTMLHyperlinkElementUtils { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLAnchorElement].function } - @inlinable public var target: String { - get { jsObject[Strings.target].fromJSValue()! } - set { jsObject[Strings.target] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) + _download = ReadWriteAttribute(jsObject: jsObject, name: Strings.download) + _ping = ReadWriteAttribute(jsObject: jsObject, name: Strings.ping) + _rel = ReadWriteAttribute(jsObject: jsObject, name: Strings.rel) + _relList = ReadonlyAttribute(jsObject: jsObject, name: Strings.relList) + _hreflang = ReadWriteAttribute(jsObject: jsObject, name: Strings.hreflang) + _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) + _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) + _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) + _coords = ReadWriteAttribute(jsObject: jsObject, name: Strings.coords) + _charset = ReadWriteAttribute(jsObject: jsObject, name: Strings.charset) + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _rev = ReadWriteAttribute(jsObject: jsObject, name: Strings.rev) + _shape = ReadWriteAttribute(jsObject: jsObject, name: Strings.shape) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var download: String { - get { jsObject[Strings.download].fromJSValue()! } - set { jsObject[Strings.download] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var ping: String { - get { jsObject[Strings.ping].fromJSValue()! } - set { jsObject[Strings.ping] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var target: String - @inlinable public var rel: String { - get { jsObject[Strings.rel].fromJSValue()! } - set { jsObject[Strings.rel] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var download: String - @inlinable public var relList: DOMTokenList { jsObject[Strings.relList].fromJSValue()! } + @ReadWriteAttribute + public var ping: String - @inlinable public var hreflang: String { - get { jsObject[Strings.hreflang].fromJSValue()! } - set { jsObject[Strings.hreflang] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var rel: String - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var relList: DOMTokenList - @inlinable public var text: String { - get { jsObject[Strings.text].fromJSValue()! } - set { jsObject[Strings.text] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var hreflang: String - @inlinable public var referrerPolicy: String { - get { jsObject[Strings.referrerPolicy].fromJSValue()! } - set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var type: String - @inlinable public var coords: String { - get { jsObject[Strings.coords].fromJSValue()! } - set { jsObject[Strings.coords] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var text: String - @inlinable public var charset: String { - get { jsObject[Strings.charset].fromJSValue()! } - set { jsObject[Strings.charset] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var referrerPolicy: String - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var coords: String - @inlinable public var rev: String { - get { jsObject[Strings.rev].fromJSValue()! } - set { jsObject[Strings.rev] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var charset: String - @inlinable public var shape: String { - get { jsObject[Strings.shape].fromJSValue()! } - set { jsObject[Strings.shape] = _toJSValue(newValue) } - } -} + @ReadWriteAttribute + public var name: String -public class HTMLAreaElement: HTMLElement, HTMLHyperlinkElementUtils { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLAreaElement].function } + @ReadWriteAttribute + public var rev: String - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var shape: String +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLAreaElement: HTMLElement, HTMLHyperlinkElementUtils { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLAreaElement].function } - @inlinable public var alt: String { - get { jsObject[Strings.alt].fromJSValue()! } - set { jsObject[Strings.alt] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _alt = ReadWriteAttribute(jsObject: jsObject, name: Strings.alt) + _coords = ReadWriteAttribute(jsObject: jsObject, name: Strings.coords) + _shape = ReadWriteAttribute(jsObject: jsObject, name: Strings.shape) + _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) + _download = ReadWriteAttribute(jsObject: jsObject, name: Strings.download) + _ping = ReadWriteAttribute(jsObject: jsObject, name: Strings.ping) + _rel = ReadWriteAttribute(jsObject: jsObject, name: Strings.rel) + _relList = ReadonlyAttribute(jsObject: jsObject, name: Strings.relList) + _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) + _noHref = ReadWriteAttribute(jsObject: jsObject, name: Strings.noHref) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var coords: String { - get { jsObject[Strings.coords].fromJSValue()! } - set { jsObject[Strings.coords] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var shape: String { - get { jsObject[Strings.shape].fromJSValue()! } - set { jsObject[Strings.shape] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var alt: String - @inlinable public var target: String { - get { jsObject[Strings.target].fromJSValue()! } - set { jsObject[Strings.target] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var coords: String - @inlinable public var download: String { - get { jsObject[Strings.download].fromJSValue()! } - set { jsObject[Strings.download] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var shape: String - @inlinable public var ping: String { - get { jsObject[Strings.ping].fromJSValue()! } - set { jsObject[Strings.ping] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var target: String - @inlinable public var rel: String { - get { jsObject[Strings.rel].fromJSValue()! } - set { jsObject[Strings.rel] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var download: String - @inlinable public var relList: DOMTokenList { jsObject[Strings.relList].fromJSValue()! } + @ReadWriteAttribute + public var ping: String - @inlinable public var referrerPolicy: String { - get { jsObject[Strings.referrerPolicy].fromJSValue()! } - set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var rel: String - @inlinable public var noHref: Bool { - get { jsObject[Strings.noHref].fromJSValue()! } - set { jsObject[Strings.noHref] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var relList: DOMTokenList + + @ReadWriteAttribute + public var referrerPolicy: String + + @ReadWriteAttribute + public var noHref: Bool } public class HTMLAudioElement: HTMLMediaElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLAudioElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLAudioElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } } public class HTMLBRElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLBRElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLBRElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _clear = ReadWriteAttribute(jsObject: jsObject, name: Strings.clear) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var clear: String { - get { jsObject[Strings.clear].fromJSValue()! } - set { jsObject[Strings.clear] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var clear: String } public class HTMLBaseElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLBaseElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLBaseElement].function } - @inlinable public var href: String { - get { jsObject[Strings.href].fromJSValue()! } - set { jsObject[Strings.href] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _href = ReadWriteAttribute(jsObject: jsObject, name: Strings.href) + _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var target: String { - get { jsObject[Strings.target].fromJSValue()! } - set { jsObject[Strings.target] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } -} -public class HTMLBodyElement: HTMLElement, WindowEventHandlers { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLBodyElement].function } + @ReadWriteAttribute + public var href: String - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var target: String +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLBodyElement: HTMLElement, WindowEventHandlers { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLBodyElement].function } - @inlinable public var text: String { - get { jsObject[Strings.text].fromJSValue()! } - set { jsObject[Strings.text] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) + _link = ReadWriteAttribute(jsObject: jsObject, name: Strings.link) + _vLink = ReadWriteAttribute(jsObject: jsObject, name: Strings.vLink) + _aLink = ReadWriteAttribute(jsObject: jsObject, name: Strings.aLink) + _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) + _background = ReadWriteAttribute(jsObject: jsObject, name: Strings.background) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var link: String { - get { jsObject[Strings.link].fromJSValue()! } - set { jsObject[Strings.link] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var vLink: String { - get { jsObject[Strings.vLink].fromJSValue()! } - set { jsObject[Strings.vLink] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var text: String - @inlinable public var aLink: String { - get { jsObject[Strings.aLink].fromJSValue()! } - set { jsObject[Strings.aLink] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var link: String - @inlinable public var bgColor: String { - get { jsObject[Strings.bgColor].fromJSValue()! } - set { jsObject[Strings.bgColor] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var vLink: String - @inlinable public var background: String { - get { jsObject[Strings.background].fromJSValue()! } - set { jsObject[Strings.background] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var aLink: String + + @ReadWriteAttribute + public var bgColor: String + + @ReadWriteAttribute + public var background: String } public class HTMLButtonElement: HTMLElement, PopoverInvokerElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLButtonElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLButtonElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) + _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) + _formAction = ReadWriteAttribute(jsObject: jsObject, name: Strings.formAction) + _formEnctype = ReadWriteAttribute(jsObject: jsObject, name: Strings.formEnctype) + _formMethod = ReadWriteAttribute(jsObject: jsObject, name: Strings.formMethod) + _formNoValidate = ReadWriteAttribute(jsObject: jsObject, name: Strings.formNoValidate) + _formTarget = ReadWriteAttribute(jsObject: jsObject, name: Strings.formTarget) + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) + _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) + _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) + _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var disabled: Bool { - get { jsObject[Strings.disabled].fromJSValue()! } - set { jsObject[Strings.disabled] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } + @ReadWriteAttribute + public var disabled: Bool - @inlinable public var formAction: String { - get { jsObject[Strings.formAction].fromJSValue()! } - set { jsObject[Strings.formAction] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var form: HTMLFormElement? - @inlinable public var formEnctype: String { - get { jsObject[Strings.formEnctype].fromJSValue()! } - set { jsObject[Strings.formEnctype] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var formAction: String - @inlinable public var formMethod: String { - get { jsObject[Strings.formMethod].fromJSValue()! } - set { jsObject[Strings.formMethod] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var formEnctype: String - @inlinable public var formNoValidate: Bool { - get { jsObject[Strings.formNoValidate].fromJSValue()! } - set { jsObject[Strings.formNoValidate] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var formMethod: String - @inlinable public var formTarget: String { - get { jsObject[Strings.formTarget].fromJSValue()! } - set { jsObject[Strings.formTarget] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var formNoValidate: Bool - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var formTarget: String - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var name: String - @inlinable public var value: String { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var type: String - @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } + @ReadWriteAttribute + public var value: String - @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } + @ReadonlyAttribute + public var willValidate: Bool - @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } + @ReadonlyAttribute + public var validity: ValidityState - @inlinable final public func checkValidity() -> Bool { + @ReadonlyAttribute + public var validationMessage: String + + @inlinable public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func reportValidity() -> Bool { + @inlinable public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func setCustomValidity(error: String) { + @inlinable public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } + @ReadonlyAttribute + public var labels: NodeList } public class HTMLCanvasElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLCanvasElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLCanvasElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var width: UInt32 { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var height: UInt32 { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @ReadWriteAttribute + public var width: UInt32 + + @ReadWriteAttribute + public var height: UInt32 + // XXX: member 'getContext' is ignored - @inlinable final public func toDataURL(type: String? = nil, quality: JSValue? = nil) -> String { + @inlinable public func toDataURL(type: String? = nil, quality: JSValue? = nil) -> String { let this = jsObject - return this[Strings.toDataURL].function!(this: this, arguments: [_toJSValue(type), _toJSValue(quality)]) - .fromJSValue()! + return this[Strings.toDataURL].function!(this: this, arguments: [_toJSValue(type), _toJSValue(quality)]).fromJSValue()! } - @inlinable final public func toBlob(callback: @escaping BlobCallback, type: String? = nil, quality: JSValue? = nil) - { + @inlinable public func toBlob(callback: @escaping BlobCallback, type: String? = nil, quality: JSValue? = nil) { let this = jsObject - _ = this[Strings.toBlob].function!( - this: this, - arguments: [_toJSValue(callback), _toJSValue(type), _toJSValue(quality)] - ) + _ = this[Strings.toBlob].function!(this: this, arguments: [_toJSValue(callback), _toJSValue(type), _toJSValue(quality)]) } - @inlinable final public func transferControlToOffscreen() -> OffscreenCanvas { + @inlinable public func transferControlToOffscreen() -> OffscreenCanvas { let this = jsObject return this[Strings.transferControlToOffscreen].function!(this: this, arguments: []).fromJSValue()! } @@ -7575,1429 +6707,1464 @@ public class HTMLCollection: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> Element? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: Int) -> Element? { + jsObject[key].fromJSValue() + } - @inlinable final public func item(index: UInt32) -> Element? { + @inlinable public func item(index: UInt32) -> Element? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> Element? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: String) -> Element? { + jsObject[key].fromJSValue() + } - @inlinable final public func namedItem(name: String) -> Element? { + @inlinable public func namedItem(name: String) -> Element? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } } public class HTMLDListElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLDListElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDListElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var compact: Bool { - get { jsObject[Strings.compact].fromJSValue()! } - set { jsObject[Strings.compact] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var compact: Bool } public class HTMLDataElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLDataElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDataElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var value: String { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var value: String } public class HTMLDataListElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLDataListElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDataListElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _options = ReadonlyAttribute(jsObject: jsObject, name: Strings.options) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable public var options: HTMLCollection { jsObject[Strings.options].fromJSValue()! } + @ReadonlyAttribute + public var options: HTMLCollection } public class HTMLDetailsElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLDetailsElement].function - } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDetailsElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var open: Bool { - get { jsObject[Strings.open].fromJSValue()! } - set { jsObject[Strings.open] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _open = ReadWriteAttribute(jsObject: jsObject, name: Strings.open) + super.init(unsafelyWrapping: jsObject) } -} -public class HTMLDialogElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLDialogElement].function + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var open: Bool +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLDialogElement: HTMLElement { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDialogElement].function } - @inlinable public var open: Bool { - get { jsObject[Strings.open].fromJSValue()! } - set { jsObject[Strings.open] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _open = ReadWriteAttribute(jsObject: jsObject, name: Strings.open) + _returnValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.returnValue) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var returnValue: String { - get { jsObject[Strings.returnValue].fromJSValue()! } - set { jsObject[Strings.returnValue] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable final public func show() { + @ReadWriteAttribute + public var open: Bool + + @ReadWriteAttribute + public var returnValue: String + + @inlinable public func show() { let this = jsObject _ = this[Strings.show].function!(this: this, arguments: []) } - @inlinable final public func showModal() { + @inlinable public func showModal() { let this = jsObject _ = this[Strings.showModal].function!(this: this, arguments: []) } - @inlinable final public func close(returnValue: String? = nil) { + @inlinable public func close(returnValue: String? = nil) { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: [_toJSValue(returnValue)]) } } public class HTMLDirectoryElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLDirectoryElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDirectoryElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var compact: Bool { - get { jsObject[Strings.compact].fromJSValue()! } - set { jsObject[Strings.compact] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var compact: Bool } public class HTMLDivElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLDivElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDivElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var align: String } public class HTMLElement: Element, GlobalEventHandlers, ElementContentEditable, HTMLOrSVGElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var title: String { - get { jsObject[Strings.title].fromJSValue()! } - set { jsObject[Strings.title] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _title = ReadWriteAttribute(jsObject: jsObject, name: Strings.title) + _lang = ReadWriteAttribute(jsObject: jsObject, name: Strings.lang) + _translate = ReadWriteAttribute(jsObject: jsObject, name: Strings.translate) + _dir = ReadWriteAttribute(jsObject: jsObject, name: Strings.dir) + _hidden = ReadWriteAttribute(jsObject: jsObject, name: Strings.hidden) + _inert = ReadWriteAttribute(jsObject: jsObject, name: Strings.inert) + _accessKey = ReadWriteAttribute(jsObject: jsObject, name: Strings.accessKey) + _accessKeyLabel = ReadonlyAttribute(jsObject: jsObject, name: Strings.accessKeyLabel) + _draggable = ReadWriteAttribute(jsObject: jsObject, name: Strings.draggable) + _spellcheck = ReadWriteAttribute(jsObject: jsObject, name: Strings.spellcheck) + _autocapitalize = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocapitalize) + _innerText = ReadWriteAttribute(jsObject: jsObject, name: Strings.innerText) + _outerText = ReadWriteAttribute(jsObject: jsObject, name: Strings.outerText) + _popover = ReadWriteAttribute(jsObject: jsObject, name: Strings.popover) + _offsetParent = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetParent) + _offsetTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetTop) + _offsetLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetLeft) + _offsetWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetWidth) + _offsetHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetHeight) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var lang: String { - get { jsObject[Strings.lang].fromJSValue()! } - set { jsObject[Strings.lang] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var translate: Bool { - get { jsObject[Strings.translate].fromJSValue()! } - set { jsObject[Strings.translate] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var title: String - @inlinable public var dir: String { - get { jsObject[Strings.dir].fromJSValue()! } - set { jsObject[Strings.dir] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var lang: String - @inlinable public var hidden: Bool_or_Double_or_String? { - get { jsObject[Strings.hidden].fromJSValue() } - set { jsObject[Strings.hidden] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var translate: Bool - @inlinable public var inert: Bool { - get { jsObject[Strings.inert].fromJSValue()! } - set { jsObject[Strings.inert] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var dir: String + + @ReadWriteAttribute + public var hidden: Bool_or_Double_or_String? + + @ReadWriteAttribute + public var inert: Bool - @inlinable final public func click() { + @inlinable public func click() { let this = jsObject _ = this[Strings.click].function!(this: this, arguments: []) } - @inlinable public var accessKey: String { - get { jsObject[Strings.accessKey].fromJSValue()! } - set { jsObject[Strings.accessKey] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var accessKey: String - @inlinable public var accessKeyLabel: String { jsObject[Strings.accessKeyLabel].fromJSValue()! } + @ReadonlyAttribute + public var accessKeyLabel: String - @inlinable public var draggable: Bool { - get { jsObject[Strings.draggable].fromJSValue()! } - set { jsObject[Strings.draggable] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var draggable: Bool - @inlinable public var spellcheck: Bool { - get { jsObject[Strings.spellcheck].fromJSValue()! } - set { jsObject[Strings.spellcheck] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var spellcheck: Bool - @inlinable public var autocapitalize: String { - get { jsObject[Strings.autocapitalize].fromJSValue()! } - set { jsObject[Strings.autocapitalize] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var autocapitalize: String - @inlinable public var innerText: String { - get { jsObject[Strings.innerText].fromJSValue()! } - set { jsObject[Strings.innerText] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var innerText: String - @inlinable public var outerText: String { - get { jsObject[Strings.outerText].fromJSValue()! } - set { jsObject[Strings.outerText] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var outerText: String - @inlinable final public func attachInternals() -> ElementInternals { + @inlinable public func attachInternals() -> ElementInternals { let this = jsObject return this[Strings.attachInternals].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func showPopover() { + @inlinable public func showPopover() { let this = jsObject _ = this[Strings.showPopover].function!(this: this, arguments: []) } - @inlinable final public func hidePopover() { + @inlinable public func hidePopover() { let this = jsObject _ = this[Strings.hidePopover].function!(this: this, arguments: []) } - @inlinable final public func togglePopover(force: Bool? = nil) -> Bool { + @inlinable public func togglePopover(force: Bool? = nil) -> Bool { let this = jsObject return this[Strings.togglePopover].function!(this: this, arguments: [_toJSValue(force)]).fromJSValue()! } - @inlinable public var popover: String? { - get { jsObject[Strings.popover].fromJSValue() } - set { jsObject[Strings.popover] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var popover: String? - @inlinable public var offsetParent: Element? { jsObject[Strings.offsetParent].fromJSValue() } + @ReadonlyAttribute + public var offsetParent: Element? - @inlinable public var offsetTop: Int32 { jsObject[Strings.offsetTop].fromJSValue()! } + @ReadonlyAttribute + public var offsetTop: Int32 - @inlinable public var offsetLeft: Int32 { jsObject[Strings.offsetLeft].fromJSValue()! } + @ReadonlyAttribute + public var offsetLeft: Int32 - @inlinable public var offsetWidth: Int32 { jsObject[Strings.offsetWidth].fromJSValue()! } + @ReadonlyAttribute + public var offsetWidth: Int32 - @inlinable public var offsetHeight: Int32 { jsObject[Strings.offsetHeight].fromJSValue()! } + @ReadonlyAttribute + public var offsetHeight: Int32 } public class HTMLEmbedElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLEmbedElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLEmbedElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var src: String { - get { jsObject[Strings.src].fromJSValue()! } - set { jsObject[Strings.src] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) + _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var width: String { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var src: String - @inlinable public var height: String { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var type: String + + @ReadWriteAttribute + public var width: String - @inlinable final public func getSVGDocument() -> Document? { + @ReadWriteAttribute + public var height: String + + @inlinable public func getSVGDocument() -> Document? { let this = jsObject return this[Strings.getSVGDocument].function!(this: this, arguments: []).fromJSValue() } - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var align: String - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var name: String } public class HTMLFieldSetElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLFieldSetElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFieldSetElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) + _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + _elements = ReadonlyAttribute(jsObject: jsObject, name: Strings.elements) + _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) + _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) + _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var disabled: Bool { - get { jsObject[Strings.disabled].fromJSValue()! } - set { jsObject[Strings.disabled] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } + @ReadWriteAttribute + public var disabled: Bool - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var form: HTMLFormElement? + + @ReadWriteAttribute + public var name: String - @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } + @ReadonlyAttribute + public var type: String - @inlinable public var elements: HTMLCollection { jsObject[Strings.elements].fromJSValue()! } + @ReadonlyAttribute + public var elements: HTMLCollection - @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } + @ReadonlyAttribute + public var willValidate: Bool - @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } + @ReadonlyAttribute + public var validity: ValidityState - @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } + @ReadonlyAttribute + public var validationMessage: String - @inlinable final public func checkValidity() -> Bool { + @inlinable public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func reportValidity() -> Bool { + @inlinable public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func setCustomValidity(error: String) { + @inlinable public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } } public class HTMLFontElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLFontElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFontElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var color: String { - get { jsObject[Strings.color].fromJSValue()! } - set { jsObject[Strings.color] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _color = ReadWriteAttribute(jsObject: jsObject, name: Strings.color) + _face = ReadWriteAttribute(jsObject: jsObject, name: Strings.face) + _size = ReadWriteAttribute(jsObject: jsObject, name: Strings.size) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var face: String { - get { jsObject[Strings.face].fromJSValue()! } - set { jsObject[Strings.face] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var size: String { - get { jsObject[Strings.size].fromJSValue()! } - set { jsObject[Strings.size] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var color: String + + @ReadWriteAttribute + public var face: String + + @ReadWriteAttribute + public var size: String } public class HTMLFormControlsCollection: HTMLCollection { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLFormControlsCollection].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFormControlsCollection].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } - @inlinable public subscript(key: String) -> Element_or_RadioNodeList? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: String) -> Element_or_RadioNodeList? { + jsObject[key].fromJSValue() + } + @inlinable override public func namedItem(name: String) -> Element_or_RadioNodeList? { + let this = jsObject + return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() + } } public class HTMLFormElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLFormElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFormElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var acceptCharset: String { - get { jsObject[Strings.acceptCharset].fromJSValue()! } - set { jsObject[Strings.acceptCharset] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _acceptCharset = ReadWriteAttribute(jsObject: jsObject, name: Strings.acceptCharset) + _action = ReadWriteAttribute(jsObject: jsObject, name: Strings.action) + _autocomplete = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocomplete) + _enctype = ReadWriteAttribute(jsObject: jsObject, name: Strings.enctype) + _encoding = ReadWriteAttribute(jsObject: jsObject, name: Strings.encoding) + _method = ReadWriteAttribute(jsObject: jsObject, name: Strings.method) + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _noValidate = ReadWriteAttribute(jsObject: jsObject, name: Strings.noValidate) + _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) + _rel = ReadWriteAttribute(jsObject: jsObject, name: Strings.rel) + _relList = ReadonlyAttribute(jsObject: jsObject, name: Strings.relList) + _elements = ReadonlyAttribute(jsObject: jsObject, name: Strings.elements) + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var action: String { - get { jsObject[Strings.action].fromJSValue()! } - set { jsObject[Strings.action] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var autocomplete: String { - get { jsObject[Strings.autocomplete].fromJSValue()! } - set { jsObject[Strings.autocomplete] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var acceptCharset: String - @inlinable public var enctype: String { - get { jsObject[Strings.enctype].fromJSValue()! } - set { jsObject[Strings.enctype] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var action: String - @inlinable public var encoding: String { - get { jsObject[Strings.encoding].fromJSValue()! } - set { jsObject[Strings.encoding] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var autocomplete: String - @inlinable public var method: String { - get { jsObject[Strings.method].fromJSValue()! } - set { jsObject[Strings.method] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var enctype: String - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var encoding: String - @inlinable public var noValidate: Bool { - get { jsObject[Strings.noValidate].fromJSValue()! } - set { jsObject[Strings.noValidate] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var method: String - @inlinable public var target: String { - get { jsObject[Strings.target].fromJSValue()! } - set { jsObject[Strings.target] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var name: String - @inlinable public var rel: String { - get { jsObject[Strings.rel].fromJSValue()! } - set { jsObject[Strings.rel] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var noValidate: Bool + + @ReadWriteAttribute + public var target: String - @inlinable public var relList: DOMTokenList { jsObject[Strings.relList].fromJSValue()! } + @ReadWriteAttribute + public var rel: String - @inlinable public var elements: HTMLFormControlsCollection { jsObject[Strings.elements].fromJSValue()! } + @ReadonlyAttribute + public var relList: DOMTokenList - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var elements: HTMLFormControlsCollection - @inlinable public subscript(key: Int) -> Element { jsObject[key].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 + + @inlinable public subscript(key: Int) -> Element { + jsObject[key].fromJSValue()! + } - @inlinable public subscript(key: String) -> Element_or_RadioNodeList { jsObject[key].fromJSValue()! } + @inlinable public subscript(key: String) -> Element_or_RadioNodeList { + jsObject[key].fromJSValue()! + } - @inlinable final public func submit() { + @inlinable public func submit() { let this = jsObject _ = this[Strings.submit].function!(this: this, arguments: []) } - @inlinable final public func requestSubmit(submitter: HTMLElement? = nil) { + @inlinable public func requestSubmit(submitter: HTMLElement? = nil) { let this = jsObject _ = this[Strings.requestSubmit].function!(this: this, arguments: [_toJSValue(submitter)]) } - @inlinable final public func reset() { + @inlinable public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable final public func checkValidity() -> Bool { + @inlinable public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func reportValidity() -> Bool { + @inlinable public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } } public class HTMLFrameElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLFrameElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFrameElement].function } - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _scrolling = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrolling) + _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) + _frameBorder = ReadWriteAttribute(jsObject: jsObject, name: Strings.frameBorder) + _longDesc = ReadWriteAttribute(jsObject: jsObject, name: Strings.longDesc) + _noResize = ReadWriteAttribute(jsObject: jsObject, name: Strings.noResize) + _contentDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentDocument) + _contentWindow = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentWindow) + _marginHeight = ReadWriteAttribute(jsObject: jsObject, name: Strings.marginHeight) + _marginWidth = ReadWriteAttribute(jsObject: jsObject, name: Strings.marginWidth) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var scrolling: String { - get { jsObject[Strings.scrolling].fromJSValue()! } - set { jsObject[Strings.scrolling] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var src: String { - get { jsObject[Strings.src].fromJSValue()! } - set { jsObject[Strings.src] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var name: String - @inlinable public var frameBorder: String { - get { jsObject[Strings.frameBorder].fromJSValue()! } - set { jsObject[Strings.frameBorder] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var scrolling: String - @inlinable public var longDesc: String { - get { jsObject[Strings.longDesc].fromJSValue()! } - set { jsObject[Strings.longDesc] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var src: String - @inlinable public var noResize: Bool { - get { jsObject[Strings.noResize].fromJSValue()! } - set { jsObject[Strings.noResize] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var frameBorder: String - @inlinable public var contentDocument: Document? { jsObject[Strings.contentDocument].fromJSValue() } + @ReadWriteAttribute + public var longDesc: String - @inlinable public var contentWindow: WindowProxy? { jsObject[Strings.contentWindow].fromJSValue() } + @ReadWriteAttribute + public var noResize: Bool - @inlinable public var marginHeight: String { - get { jsObject[Strings.marginHeight].fromJSValue()! } - set { jsObject[Strings.marginHeight] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var contentDocument: Document? - @inlinable public var marginWidth: String { - get { jsObject[Strings.marginWidth].fromJSValue()! } - set { jsObject[Strings.marginWidth] = _toJSValue(newValue) } - } -} + @ReadonlyAttribute + public var contentWindow: WindowProxy? -public class HTMLFrameSetElement: HTMLElement, WindowEventHandlers { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLFrameSetElement].function - } + @ReadWriteAttribute + public var marginHeight: String - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var marginWidth: String +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLFrameSetElement: HTMLElement, WindowEventHandlers { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFrameSetElement].function } - @inlinable public var cols: String { - get { jsObject[Strings.cols].fromJSValue()! } - set { jsObject[Strings.cols] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _cols = ReadWriteAttribute(jsObject: jsObject, name: Strings.cols) + _rows = ReadWriteAttribute(jsObject: jsObject, name: Strings.rows) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var rows: String { - get { jsObject[Strings.rows].fromJSValue()! } - set { jsObject[Strings.rows] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } -} -public class HTMLHRElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLHRElement].function } + @ReadWriteAttribute + public var cols: String - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var rows: String +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLHRElement: HTMLElement { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLHRElement].function } - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + _color = ReadWriteAttribute(jsObject: jsObject, name: Strings.color) + _noShade = ReadWriteAttribute(jsObject: jsObject, name: Strings.noShade) + _size = ReadWriteAttribute(jsObject: jsObject, name: Strings.size) + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var color: String { - get { jsObject[Strings.color].fromJSValue()! } - set { jsObject[Strings.color] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var noShade: Bool { - get { jsObject[Strings.noShade].fromJSValue()! } - set { jsObject[Strings.noShade] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var align: String - @inlinable public var size: String { - get { jsObject[Strings.size].fromJSValue()! } - set { jsObject[Strings.size] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var color: String - @inlinable public var width: String { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var noShade: Bool + + @ReadWriteAttribute + public var size: String + + @ReadWriteAttribute + public var width: String } public class HTMLHeadElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLHeadElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLHeadElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } } public class HTMLHeadingElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLHeadingElement].function - } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLHeadingElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var align: String } public class HTMLHtmlElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLHtmlElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLHtmlElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _version = ReadWriteAttribute(jsObject: jsObject, name: Strings.version) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var version: String { - get { jsObject[Strings.version].fromJSValue()! } - set { jsObject[Strings.version] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var version: String } public protocol HTMLHyperlinkElementUtils: JSBridgedClass {} -extension HTMLHyperlinkElementUtils { - @inlinable public var href: String { +public extension HTMLHyperlinkElementUtils { + @inlinable var href: String { get { jsObject[Strings.href].fromJSValue()! } - set { jsObject[Strings.href] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.href] = _toJSValue(newValue) } } - @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } + @inlinable var origin: String { jsObject[Strings.origin].fromJSValue()! } - @inlinable public var `protocol`: String { - get { jsObject[Strings.`protocol`].fromJSValue()! } - set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } + @inlinable var `protocol`: String { + get { jsObject[Strings.protocol].fromJSValue()! } + nonmutating set { jsObject[Strings.protocol] = _toJSValue(newValue) } } - @inlinable public var username: String { + @inlinable var username: String { get { jsObject[Strings.username].fromJSValue()! } - set { jsObject[Strings.username] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.username] = _toJSValue(newValue) } } - @inlinable public var password: String { + @inlinable var password: String { get { jsObject[Strings.password].fromJSValue()! } - set { jsObject[Strings.password] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.password] = _toJSValue(newValue) } } - @inlinable public var host: String { + @inlinable var host: String { get { jsObject[Strings.host].fromJSValue()! } - set { jsObject[Strings.host] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.host] = _toJSValue(newValue) } } - @inlinable public var hostname: String { + @inlinable var hostname: String { get { jsObject[Strings.hostname].fromJSValue()! } - set { jsObject[Strings.hostname] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.hostname] = _toJSValue(newValue) } } - @inlinable public var port: String { + @inlinable var port: String { get { jsObject[Strings.port].fromJSValue()! } - set { jsObject[Strings.port] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.port] = _toJSValue(newValue) } } - @inlinable public var pathname: String { + @inlinable var pathname: String { get { jsObject[Strings.pathname].fromJSValue()! } - set { jsObject[Strings.pathname] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.pathname] = _toJSValue(newValue) } } - @inlinable public var search: String { + @inlinable var search: String { get { jsObject[Strings.search].fromJSValue()! } - set { jsObject[Strings.search] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.search] = _toJSValue(newValue) } } - @inlinable public var hash: String { + @inlinable var hash: String { get { jsObject[Strings.hash].fromJSValue()! } - set { jsObject[Strings.hash] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.hash] = _toJSValue(newValue) } } } -public class HTMLIFrameElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLIFrameElement].function - } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLIFrameElement: HTMLElement { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLIFrameElement].function } - @inlinable public var src: String { - get { jsObject[Strings.src].fromJSValue()! } - set { jsObject[Strings.src] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) + _srcdoc = ReadWriteAttribute(jsObject: jsObject, name: Strings.srcdoc) + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _sandbox = ReadonlyAttribute(jsObject: jsObject, name: Strings.sandbox) + _allow = ReadWriteAttribute(jsObject: jsObject, name: Strings.allow) + _allowFullscreen = ReadWriteAttribute(jsObject: jsObject, name: Strings.allowFullscreen) + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) + _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) + _loading = ReadWriteAttribute(jsObject: jsObject, name: Strings.loading) + _contentDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentDocument) + _contentWindow = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentWindow) + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + _scrolling = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrolling) + _frameBorder = ReadWriteAttribute(jsObject: jsObject, name: Strings.frameBorder) + _longDesc = ReadWriteAttribute(jsObject: jsObject, name: Strings.longDesc) + _marginHeight = ReadWriteAttribute(jsObject: jsObject, name: Strings.marginHeight) + _marginWidth = ReadWriteAttribute(jsObject: jsObject, name: Strings.marginWidth) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var srcdoc: String { - get { jsObject[Strings.srcdoc].fromJSValue()! } - set { jsObject[Strings.srcdoc] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var src: String - @inlinable public var sandbox: DOMTokenList { jsObject[Strings.sandbox].fromJSValue()! } + @ReadWriteAttribute + public var srcdoc: String - @inlinable public var allow: String { - get { jsObject[Strings.allow].fromJSValue()! } - set { jsObject[Strings.allow] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var name: String - @inlinable public var allowFullscreen: Bool { - get { jsObject[Strings.allowFullscreen].fromJSValue()! } - set { jsObject[Strings.allowFullscreen] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var sandbox: DOMTokenList - @inlinable public var width: String { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var allow: String - @inlinable public var height: String { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var allowFullscreen: Bool - @inlinable public var referrerPolicy: String { - get { jsObject[Strings.referrerPolicy].fromJSValue()! } - set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var width: String - @inlinable public var loading: String { - get { jsObject[Strings.loading].fromJSValue()! } - set { jsObject[Strings.loading] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var height: String - @inlinable public var contentDocument: Document? { jsObject[Strings.contentDocument].fromJSValue() } + @ReadWriteAttribute + public var referrerPolicy: String - @inlinable public var contentWindow: WindowProxy? { jsObject[Strings.contentWindow].fromJSValue() } + @ReadWriteAttribute + public var loading: String - @inlinable final public func getSVGDocument() -> Document? { + @ReadonlyAttribute + public var contentDocument: Document? + + @ReadonlyAttribute + public var contentWindow: WindowProxy? + + @inlinable public func getSVGDocument() -> Document? { let this = jsObject return this[Strings.getSVGDocument].function!(this: this, arguments: []).fromJSValue() } - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var align: String - @inlinable public var scrolling: String { - get { jsObject[Strings.scrolling].fromJSValue()! } - set { jsObject[Strings.scrolling] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var scrolling: String - @inlinable public var frameBorder: String { - get { jsObject[Strings.frameBorder].fromJSValue()! } - set { jsObject[Strings.frameBorder] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var frameBorder: String - @inlinable public var longDesc: String { - get { jsObject[Strings.longDesc].fromJSValue()! } - set { jsObject[Strings.longDesc] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var longDesc: String - @inlinable public var marginHeight: String { - get { jsObject[Strings.marginHeight].fromJSValue()! } - set { jsObject[Strings.marginHeight] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var marginHeight: String - @inlinable public var marginWidth: String { - get { jsObject[Strings.marginWidth].fromJSValue()! } - set { jsObject[Strings.marginWidth] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var marginWidth: String } public class HTMLImageElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLImageElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLImageElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var alt: String { - get { jsObject[Strings.alt].fromJSValue()! } - set { jsObject[Strings.alt] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _alt = ReadWriteAttribute(jsObject: jsObject, name: Strings.alt) + _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) + _srcset = ReadWriteAttribute(jsObject: jsObject, name: Strings.srcset) + _sizes = ReadWriteAttribute(jsObject: jsObject, name: Strings.sizes) + _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) + _useMap = ReadWriteAttribute(jsObject: jsObject, name: Strings.useMap) + _isMap = ReadWriteAttribute(jsObject: jsObject, name: Strings.isMap) + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) + _naturalWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.naturalWidth) + _naturalHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.naturalHeight) + _complete = ReadonlyAttribute(jsObject: jsObject, name: Strings.complete) + _currentSrc = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentSrc) + _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) + _decoding = ReadWriteAttribute(jsObject: jsObject, name: Strings.decoding) + _loading = ReadWriteAttribute(jsObject: jsObject, name: Strings.loading) + _fetchPriority = ReadWriteAttribute(jsObject: jsObject, name: Strings.fetchPriority) + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _lowsrc = ReadWriteAttribute(jsObject: jsObject, name: Strings.lowsrc) + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + _hspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.hspace) + _vspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.vspace) + _longDesc = ReadWriteAttribute(jsObject: jsObject, name: Strings.longDesc) + _border = ReadWriteAttribute(jsObject: jsObject, name: Strings.border) + _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) + _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var src: String { - get { jsObject[Strings.src].fromJSValue()! } - set { jsObject[Strings.src] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var srcset: String { - get { jsObject[Strings.srcset].fromJSValue()! } - set { jsObject[Strings.srcset] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var alt: String - @inlinable public var sizes: String { - get { jsObject[Strings.sizes].fromJSValue()! } - set { jsObject[Strings.sizes] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var src: String - @inlinable public var crossOrigin: String? { - get { jsObject[Strings.crossOrigin].fromJSValue() } - set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var srcset: String - @inlinable public var useMap: String { - get { jsObject[Strings.useMap].fromJSValue()! } - set { jsObject[Strings.useMap] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var sizes: String - @inlinable public var isMap: Bool { - get { jsObject[Strings.isMap].fromJSValue()! } - set { jsObject[Strings.isMap] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var crossOrigin: String? - @inlinable public var width: UInt32 { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var useMap: String - @inlinable public var height: UInt32 { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var isMap: Bool - @inlinable public var naturalWidth: UInt32 { jsObject[Strings.naturalWidth].fromJSValue()! } + @ReadWriteAttribute + public var width: UInt32 - @inlinable public var naturalHeight: UInt32 { jsObject[Strings.naturalHeight].fromJSValue()! } + @ReadWriteAttribute + public var height: UInt32 - @inlinable public var complete: Bool { jsObject[Strings.complete].fromJSValue()! } + @ReadonlyAttribute + public var naturalWidth: UInt32 - @inlinable public var currentSrc: String { jsObject[Strings.currentSrc].fromJSValue()! } + @ReadonlyAttribute + public var naturalHeight: UInt32 - @inlinable public var referrerPolicy: String { - get { jsObject[Strings.referrerPolicy].fromJSValue()! } - set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var complete: Bool - @inlinable public var decoding: String { - get { jsObject[Strings.decoding].fromJSValue()! } - set { jsObject[Strings.decoding] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var currentSrc: String - @inlinable public var loading: String { - get { jsObject[Strings.loading].fromJSValue()! } - set { jsObject[Strings.loading] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var referrerPolicy: String - @inlinable public var fetchPriority: String { - get { jsObject[Strings.fetchPriority].fromJSValue()! } - set { jsObject[Strings.fetchPriority] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var decoding: String + + @ReadWriteAttribute + public var loading: String - @inlinable final public func decode() -> JSPromise { + @ReadWriteAttribute + public var fetchPriority: String + + @inlinable public func decode() -> JSPromise { let this = jsObject return this[Strings.decode].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func decode() - async throws(JSException) - { - let this = jsObject - let _promise: JSPromise = this[Strings.decode].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } - #endif - - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func decode() async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.decode].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value } - @inlinable public var lowsrc: String { - get { jsObject[Strings.lowsrc].fromJSValue()! } - set { jsObject[Strings.lowsrc] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var name: String - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var lowsrc: String - @inlinable public var hspace: UInt32 { - get { jsObject[Strings.hspace].fromJSValue()! } - set { jsObject[Strings.hspace] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var align: String - @inlinable public var vspace: UInt32 { - get { jsObject[Strings.vspace].fromJSValue()! } - set { jsObject[Strings.vspace] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var hspace: UInt32 - @inlinable public var longDesc: String { - get { jsObject[Strings.longDesc].fromJSValue()! } - set { jsObject[Strings.longDesc] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var vspace: UInt32 - @inlinable public var border: String { - get { jsObject[Strings.border].fromJSValue()! } - set { jsObject[Strings.border] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var longDesc: String - @inlinable public var x: Int32 { jsObject[Strings.x].fromJSValue()! } + @ReadWriteAttribute + public var border: String - @inlinable public var y: Int32 { jsObject[Strings.y].fromJSValue()! } + @ReadonlyAttribute + public var x: Int32 + + @ReadonlyAttribute + public var y: Int32 } public class HTMLInputElement: HTMLElement, PopoverInvokerElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLInputElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLInputElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { + _accept = ReadWriteAttribute(jsObject: jsObject, name: Strings.accept) + _alt = ReadWriteAttribute(jsObject: jsObject, name: Strings.alt) + _autocomplete = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocomplete) + _defaultChecked = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultChecked) + _checked = ReadWriteAttribute(jsObject: jsObject, name: Strings.checked) + _dirName = ReadWriteAttribute(jsObject: jsObject, name: Strings.dirName) + _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) + _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) + _files = ReadWriteAttribute(jsObject: jsObject, name: Strings.files) + _formAction = ReadWriteAttribute(jsObject: jsObject, name: Strings.formAction) + _formEnctype = ReadWriteAttribute(jsObject: jsObject, name: Strings.formEnctype) + _formMethod = ReadWriteAttribute(jsObject: jsObject, name: Strings.formMethod) + _formNoValidate = ReadWriteAttribute(jsObject: jsObject, name: Strings.formNoValidate) + _formTarget = ReadWriteAttribute(jsObject: jsObject, name: Strings.formTarget) + _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) + _indeterminate = ReadWriteAttribute(jsObject: jsObject, name: Strings.indeterminate) + _list = ReadonlyAttribute(jsObject: jsObject, name: Strings.list) + _max = ReadWriteAttribute(jsObject: jsObject, name: Strings.max) + _maxLength = ReadWriteAttribute(jsObject: jsObject, name: Strings.maxLength) + _min = ReadWriteAttribute(jsObject: jsObject, name: Strings.min) + _minLength = ReadWriteAttribute(jsObject: jsObject, name: Strings.minLength) + _multiple = ReadWriteAttribute(jsObject: jsObject, name: Strings.multiple) + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _pattern = ReadWriteAttribute(jsObject: jsObject, name: Strings.pattern) + _placeholder = ReadWriteAttribute(jsObject: jsObject, name: Strings.placeholder) + _readOnly = ReadWriteAttribute(jsObject: jsObject, name: Strings.readOnly) + _required = ReadWriteAttribute(jsObject: jsObject, name: Strings.required) + _size = ReadWriteAttribute(jsObject: jsObject, name: Strings.size) + _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) + _step = ReadWriteAttribute(jsObject: jsObject, name: Strings.step) + _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) + _defaultValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultValue) + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + _valueAsDate = ReadWriteAttribute(jsObject: jsObject, name: Strings.valueAsDate) + _valueAsNumber = ReadWriteAttribute(jsObject: jsObject, name: Strings.valueAsNumber) + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) + _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) + _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) + _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) + _selectionStart = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionStart) + _selectionEnd = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionEnd) + _selectionDirection = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionDirection) + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + _useMap = ReadWriteAttribute(jsObject: jsObject, name: Strings.useMap) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var accept: String { - get { jsObject[Strings.accept].fromJSValue()! } - set { jsObject[Strings.accept] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var alt: String { - get { jsObject[Strings.alt].fromJSValue()! } - set { jsObject[Strings.alt] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var accept: String - @inlinable public var autocomplete: String { - get { jsObject[Strings.autocomplete].fromJSValue()! } - set { jsObject[Strings.autocomplete] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var alt: String - @inlinable public var defaultChecked: Bool { - get { jsObject[Strings.defaultChecked].fromJSValue()! } - set { jsObject[Strings.defaultChecked] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var autocomplete: String - @inlinable public var checked: Bool { - get { jsObject[Strings.checked].fromJSValue()! } - set { jsObject[Strings.checked] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var defaultChecked: Bool - @inlinable public var dirName: String { - get { jsObject[Strings.dirName].fromJSValue()! } - set { jsObject[Strings.dirName] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var checked: Bool - @inlinable public var disabled: Bool { - get { jsObject[Strings.disabled].fromJSValue()! } - set { jsObject[Strings.disabled] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var dirName: String - @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } + @ReadWriteAttribute + public var disabled: Bool - @inlinable public var files: FileList? { - get { jsObject[Strings.files].fromJSValue() } - set { jsObject[Strings.files] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var form: HTMLFormElement? - @inlinable public var formAction: String { - get { jsObject[Strings.formAction].fromJSValue()! } - set { jsObject[Strings.formAction] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var files: FileList? - @inlinable public var formEnctype: String { - get { jsObject[Strings.formEnctype].fromJSValue()! } - set { jsObject[Strings.formEnctype] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var formAction: String - @inlinable public var formMethod: String { - get { jsObject[Strings.formMethod].fromJSValue()! } - set { jsObject[Strings.formMethod] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var formEnctype: String - @inlinable public var formNoValidate: Bool { - get { jsObject[Strings.formNoValidate].fromJSValue()! } - set { jsObject[Strings.formNoValidate] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var formMethod: String - @inlinable public var formTarget: String { - get { jsObject[Strings.formTarget].fromJSValue()! } - set { jsObject[Strings.formTarget] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var formNoValidate: Bool - @inlinable public var height: UInt32 { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var formTarget: String - @inlinable public var indeterminate: Bool { - get { jsObject[Strings.indeterminate].fromJSValue()! } - set { jsObject[Strings.indeterminate] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var height: UInt32 - @inlinable public var list: HTMLDataListElement? { jsObject[Strings.list].fromJSValue() } + @ReadWriteAttribute + public var indeterminate: Bool - @inlinable public var max: String { - get { jsObject[Strings.max].fromJSValue()! } - set { jsObject[Strings.max] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var list: HTMLDataListElement? - @inlinable public var maxLength: Int32 { - get { jsObject[Strings.maxLength].fromJSValue()! } - set { jsObject[Strings.maxLength] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var max: String - @inlinable public var min: String { - get { jsObject[Strings.min].fromJSValue()! } - set { jsObject[Strings.min] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var maxLength: Int32 - @inlinable public var minLength: Int32 { - get { jsObject[Strings.minLength].fromJSValue()! } - set { jsObject[Strings.minLength] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var min: String - @inlinable public var multiple: Bool { - get { jsObject[Strings.multiple].fromJSValue()! } - set { jsObject[Strings.multiple] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var minLength: Int32 - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var multiple: Bool - @inlinable public var pattern: String { - get { jsObject[Strings.pattern].fromJSValue()! } - set { jsObject[Strings.pattern] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var name: String - @inlinable public var placeholder: String { - get { jsObject[Strings.placeholder].fromJSValue()! } - set { jsObject[Strings.placeholder] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var pattern: String - @inlinable public var readOnly: Bool { - get { jsObject[Strings.readOnly].fromJSValue()! } - set { jsObject[Strings.readOnly] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var placeholder: String - @inlinable public var required: Bool { - get { jsObject[Strings.required].fromJSValue()! } - set { jsObject[Strings.required] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var readOnly: Bool - @inlinable public var size: UInt32 { - get { jsObject[Strings.size].fromJSValue()! } - set { jsObject[Strings.size] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var required: Bool - @inlinable public var src: String { - get { jsObject[Strings.src].fromJSValue()! } - set { jsObject[Strings.src] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var size: UInt32 - @inlinable public var step: String { - get { jsObject[Strings.step].fromJSValue()! } - set { jsObject[Strings.step] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var src: String - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var step: String - @inlinable public var defaultValue: String { - get { jsObject[Strings.defaultValue].fromJSValue()! } - set { jsObject[Strings.defaultValue] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var type: String - @inlinable public var value: String { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var defaultValue: String - @inlinable public var valueAsDate: JSObject? { - get { jsObject[Strings.valueAsDate].fromJSValue() } - set { jsObject[Strings.valueAsDate] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var value: String - @inlinable public var valueAsNumber: Double { - get { jsObject[Strings.valueAsNumber].fromJSValue()! } - set { jsObject[Strings.valueAsNumber] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var valueAsDate: JSObject? - @inlinable public var width: UInt32 { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var valueAsNumber: Double - @inlinable final public func stepUp(n: Int32? = nil) { + @ReadWriteAttribute + public var width: UInt32 + + @inlinable public func stepUp(n: Int32? = nil) { let this = jsObject _ = this[Strings.stepUp].function!(this: this, arguments: [_toJSValue(n)]) } - @inlinable final public func stepDown(n: Int32? = nil) { + @inlinable public func stepDown(n: Int32? = nil) { let this = jsObject _ = this[Strings.stepDown].function!(this: this, arguments: [_toJSValue(n)]) } - @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } + @ReadonlyAttribute + public var willValidate: Bool - @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } + @ReadonlyAttribute + public var validity: ValidityState - @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } + @ReadonlyAttribute + public var validationMessage: String - @inlinable final public func checkValidity() -> Bool { + @inlinable public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func reportValidity() -> Bool { + @inlinable public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func setCustomValidity(error: String) { + @inlinable public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @inlinable public var labels: NodeList? { jsObject[Strings.labels].fromJSValue() } + @ReadonlyAttribute + public var labels: NodeList? - @inlinable final public func select() { + @inlinable public func select() { let this = jsObject _ = this[Strings.select].function!(this: this, arguments: []) } - @inlinable public var selectionStart: UInt32? { - get { jsObject[Strings.selectionStart].fromJSValue() } - set { jsObject[Strings.selectionStart] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var selectionStart: UInt32? - @inlinable public var selectionEnd: UInt32? { - get { jsObject[Strings.selectionEnd].fromJSValue() } - set { jsObject[Strings.selectionEnd] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var selectionEnd: UInt32? - @inlinable public var selectionDirection: String? { - get { jsObject[Strings.selectionDirection].fromJSValue() } - set { jsObject[Strings.selectionDirection] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var selectionDirection: String? - @inlinable final public func setRangeText(replacement: String) { + @inlinable public func setRangeText(replacement: String) { let this = jsObject _ = this[Strings.setRangeText].function!(this: this, arguments: [_toJSValue(replacement)]) } - @inlinable final public func setRangeText( - replacement: String, - start: UInt32, - end: UInt32, - selectionMode: SelectionMode? = nil - ) { + @inlinable public func setRangeText(replacement: String, start: UInt32, end: UInt32, selectionMode: SelectionMode? = nil) { let this = jsObject - _ = this[Strings.setRangeText].function!( - this: this, - arguments: [_toJSValue(replacement), _toJSValue(start), _toJSValue(end), _toJSValue(selectionMode)] - ) + _ = this[Strings.setRangeText].function!(this: this, arguments: [_toJSValue(replacement), _toJSValue(start), _toJSValue(end), _toJSValue(selectionMode)]) } - @inlinable final public func setSelectionRange(start: UInt32, end: UInt32, direction: String? = nil) { + @inlinable public func setSelectionRange(start: UInt32, end: UInt32, direction: String? = nil) { let this = jsObject - _ = this[Strings.setSelectionRange].function!( - this: this, - arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(direction)] - ) + _ = this[Strings.setSelectionRange].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(direction)]) } - @inlinable final public func showPicker() { + @inlinable public func showPicker() { let this = jsObject _ = this[Strings.showPicker].function!(this: this, arguments: []) } - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var align: String - @inlinable public var useMap: String { - get { jsObject[Strings.useMap].fromJSValue()! } - set { jsObject[Strings.useMap] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var useMap: String } public class HTMLLIElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLLIElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLLIElement].function } - @inlinable public var value: Int32 { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var value: Int32 + + @ReadWriteAttribute + public var type: String } public class HTMLLabelElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLLabelElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLLabelElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) + _htmlFor = ReadWriteAttribute(jsObject: jsObject, name: Strings.htmlFor) + _control = ReadonlyAttribute(jsObject: jsObject, name: Strings.control) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } + @ReadonlyAttribute + public var form: HTMLFormElement? - @inlinable public var htmlFor: String { - get { jsObject[Strings.htmlFor].fromJSValue()! } - set { jsObject[Strings.htmlFor] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var htmlFor: String - @inlinable public var control: HTMLElement? { jsObject[Strings.control].fromJSValue() } + @ReadonlyAttribute + public var control: HTMLElement? } public class HTMLLegendElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLLegendElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLLegendElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } + @ReadonlyAttribute + public var form: HTMLFormElement? - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var align: String } public class HTMLLinkElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLLinkElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLLinkElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var href: String { - get { jsObject[Strings.href].fromJSValue()! } - set { jsObject[Strings.href] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _href = ReadWriteAttribute(jsObject: jsObject, name: Strings.href) + _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) + _rel = ReadWriteAttribute(jsObject: jsObject, name: Strings.rel) + _as = ReadWriteAttribute(jsObject: jsObject, name: Strings.as) + _relList = ReadonlyAttribute(jsObject: jsObject, name: Strings.relList) + _media = ReadWriteAttribute(jsObject: jsObject, name: Strings.media) + _integrity = ReadWriteAttribute(jsObject: jsObject, name: Strings.integrity) + _hreflang = ReadWriteAttribute(jsObject: jsObject, name: Strings.hreflang) + _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) + _sizes = ReadonlyAttribute(jsObject: jsObject, name: Strings.sizes) + _imageSrcset = ReadWriteAttribute(jsObject: jsObject, name: Strings.imageSrcset) + _imageSizes = ReadWriteAttribute(jsObject: jsObject, name: Strings.imageSizes) + _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) + _blocking = ReadonlyAttribute(jsObject: jsObject, name: Strings.blocking) + _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) + _fetchPriority = ReadWriteAttribute(jsObject: jsObject, name: Strings.fetchPriority) + _charset = ReadWriteAttribute(jsObject: jsObject, name: Strings.charset) + _rev = ReadWriteAttribute(jsObject: jsObject, name: Strings.rev) + _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var crossOrigin: String? { - get { jsObject[Strings.crossOrigin].fromJSValue() } - set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var rel: String { - get { jsObject[Strings.rel].fromJSValue()! } - set { jsObject[Strings.rel] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var href: String - @inlinable public var `as`: String { - get { jsObject[Strings.`as`].fromJSValue()! } - set { jsObject[Strings.`as`] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var crossOrigin: String? - @inlinable public var relList: DOMTokenList { jsObject[Strings.relList].fromJSValue()! } + @ReadWriteAttribute + public var rel: String - @inlinable public var media: String { - get { jsObject[Strings.media].fromJSValue()! } - set { jsObject[Strings.media] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var `as`: String - @inlinable public var integrity: String { - get { jsObject[Strings.integrity].fromJSValue()! } - set { jsObject[Strings.integrity] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var relList: DOMTokenList - @inlinable public var hreflang: String { - get { jsObject[Strings.hreflang].fromJSValue()! } - set { jsObject[Strings.hreflang] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var media: String - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var integrity: String - @inlinable public var sizes: DOMTokenList { jsObject[Strings.sizes].fromJSValue()! } + @ReadWriteAttribute + public var hreflang: String - @inlinable public var imageSrcset: String { - get { jsObject[Strings.imageSrcset].fromJSValue()! } - set { jsObject[Strings.imageSrcset] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var type: String - @inlinable public var imageSizes: String { - get { jsObject[Strings.imageSizes].fromJSValue()! } - set { jsObject[Strings.imageSizes] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var sizes: DOMTokenList - @inlinable public var referrerPolicy: String { - get { jsObject[Strings.referrerPolicy].fromJSValue()! } - set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var imageSrcset: String - @inlinable public var blocking: DOMTokenList { jsObject[Strings.blocking].fromJSValue()! } + @ReadWriteAttribute + public var imageSizes: String - @inlinable public var disabled: Bool { - get { jsObject[Strings.disabled].fromJSValue()! } - set { jsObject[Strings.disabled] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var referrerPolicy: String - @inlinable public var fetchPriority: String { - get { jsObject[Strings.fetchPriority].fromJSValue()! } - set { jsObject[Strings.fetchPriority] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var blocking: DOMTokenList - @inlinable public var charset: String { - get { jsObject[Strings.charset].fromJSValue()! } - set { jsObject[Strings.charset] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var disabled: Bool - @inlinable public var rev: String { - get { jsObject[Strings.rev].fromJSValue()! } - set { jsObject[Strings.rev] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var fetchPriority: String - @inlinable public var target: String { - get { jsObject[Strings.target].fromJSValue()! } - set { jsObject[Strings.target] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var charset: String + + @ReadWriteAttribute + public var rev: String + + @ReadWriteAttribute + public var target: String } public class HTMLMapElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMapElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMapElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _areas = ReadonlyAttribute(jsObject: jsObject, name: Strings.areas) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var areas: HTMLCollection { jsObject[Strings.areas].fromJSValue()! } + @ReadWriteAttribute + public var name: String + + @ReadonlyAttribute + public var areas: HTMLCollection } public class HTMLMarqueeElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLMarqueeElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMarqueeElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var behavior: String { - get { jsObject[Strings.behavior].fromJSValue()! } - set { jsObject[Strings.behavior] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _behavior = ReadWriteAttribute(jsObject: jsObject, name: Strings.behavior) + _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) + _direction = ReadWriteAttribute(jsObject: jsObject, name: Strings.direction) + _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) + _hspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.hspace) + _loop = ReadWriteAttribute(jsObject: jsObject, name: Strings.loop) + _scrollAmount = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollAmount) + _scrollDelay = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollDelay) + _trueSpeed = ReadWriteAttribute(jsObject: jsObject, name: Strings.trueSpeed) + _vspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.vspace) + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var bgColor: String { - get { jsObject[Strings.bgColor].fromJSValue()! } - set { jsObject[Strings.bgColor] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var direction: String { - get { jsObject[Strings.direction].fromJSValue()! } - set { jsObject[Strings.direction] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var behavior: String - @inlinable public var height: String { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var bgColor: String - @inlinable public var hspace: UInt32 { - get { jsObject[Strings.hspace].fromJSValue()! } - set { jsObject[Strings.hspace] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var direction: String - @inlinable public var loop: Int32 { - get { jsObject[Strings.loop].fromJSValue()! } - set { jsObject[Strings.loop] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var height: String - @inlinable public var scrollAmount: UInt32 { - get { jsObject[Strings.scrollAmount].fromJSValue()! } - set { jsObject[Strings.scrollAmount] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var hspace: UInt32 - @inlinable public var scrollDelay: UInt32 { - get { jsObject[Strings.scrollDelay].fromJSValue()! } - set { jsObject[Strings.scrollDelay] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var loop: Int32 - @inlinable public var trueSpeed: Bool { - get { jsObject[Strings.trueSpeed].fromJSValue()! } - set { jsObject[Strings.trueSpeed] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var scrollAmount: UInt32 - @inlinable public var vspace: UInt32 { - get { jsObject[Strings.vspace].fromJSValue()! } - set { jsObject[Strings.vspace] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var scrollDelay: UInt32 - @inlinable public var width: String { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var trueSpeed: Bool - @inlinable final public func start() { + @ReadWriteAttribute + public var vspace: UInt32 + + @ReadWriteAttribute + public var width: String + + @inlinable public func start() { let this = jsObject _ = this[Strings.start].function!(this: this, arguments: []) } - @inlinable final public func stop() { + @inlinable public func stop() { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: []) } } public class HTMLMediaElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMediaElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public var error: MediaError? { jsObject[Strings.error].fromJSValue() } - - @inlinable public var src: String { - get { jsObject[Strings.src].fromJSValue()! } - set { jsObject[Strings.src] = _toJSValue(newValue) } - } - - @inlinable public var srcObject: MediaProvider? { - get { jsObject[Strings.srcObject].fromJSValue() } - set { jsObject[Strings.srcObject] = _toJSValue(newValue) } - } - - @inlinable public var currentSrc: String { jsObject[Strings.currentSrc].fromJSValue()! } - - @inlinable public var crossOrigin: String? { - get { jsObject[Strings.crossOrigin].fromJSValue() } - set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMediaElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { + _error = ReadonlyAttribute(jsObject: jsObject, name: Strings.error) + _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) + _srcObject = ReadWriteAttribute(jsObject: jsObject, name: Strings.srcObject) + _currentSrc = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentSrc) + _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) + _networkState = ReadonlyAttribute(jsObject: jsObject, name: Strings.networkState) + _preload = ReadWriteAttribute(jsObject: jsObject, name: Strings.preload) + _buffered = ReadonlyAttribute(jsObject: jsObject, name: Strings.buffered) + _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) + _seeking = ReadonlyAttribute(jsObject: jsObject, name: Strings.seeking) + _currentTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.currentTime) + _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) + _paused = ReadonlyAttribute(jsObject: jsObject, name: Strings.paused) + _defaultPlaybackRate = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultPlaybackRate) + _playbackRate = ReadWriteAttribute(jsObject: jsObject, name: Strings.playbackRate) + _preservesPitch = ReadWriteAttribute(jsObject: jsObject, name: Strings.preservesPitch) + _played = ReadonlyAttribute(jsObject: jsObject, name: Strings.played) + _seekable = ReadonlyAttribute(jsObject: jsObject, name: Strings.seekable) + _ended = ReadonlyAttribute(jsObject: jsObject, name: Strings.ended) + _autoplay = ReadWriteAttribute(jsObject: jsObject, name: Strings.autoplay) + _loop = ReadWriteAttribute(jsObject: jsObject, name: Strings.loop) + _controls = ReadWriteAttribute(jsObject: jsObject, name: Strings.controls) + _volume = ReadWriteAttribute(jsObject: jsObject, name: Strings.volume) + _muted = ReadWriteAttribute(jsObject: jsObject, name: Strings.muted) + _defaultMuted = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultMuted) + _audioTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioTracks) + _videoTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoTracks) + _textTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.textTracks) + super.init(unsafelyWrapping: jsObject) + } + + @ReadonlyAttribute + public var error: MediaError? + + @ReadWriteAttribute + public var src: String + + @ReadWriteAttribute + public var srcObject: MediaProvider? + + @ReadonlyAttribute + public var currentSrc: String + + @ReadWriteAttribute + public var crossOrigin: String? public static let NETWORK_EMPTY: UInt16 = 0 @@ -9007,21 +8174,21 @@ public class HTMLMediaElement: HTMLElement { public static let NETWORK_NO_SOURCE: UInt16 = 3 - @inlinable public var networkState: UInt16 { jsObject[Strings.networkState].fromJSValue()! } + @ReadonlyAttribute + public var networkState: UInt16 - @inlinable public var preload: String { - get { jsObject[Strings.preload].fromJSValue()! } - set { jsObject[Strings.preload] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var preload: String - @inlinable public var buffered: TimeRanges { jsObject[Strings.buffered].fromJSValue()! } + @ReadonlyAttribute + public var buffered: TimeRanges - @inlinable final public func load() { + @inlinable public func load() { let this = jsObject _ = this[Strings.load].function!(this: this, arguments: []) } - @inlinable final public func canPlayType(type: String) -> CanPlayTypeResult { + @inlinable public func canPlayType(type: String) -> CanPlayTypeResult { let this = jsObject return this[Strings.canPlayType].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } @@ -9036,1532 +8203,1539 @@ public class HTMLMediaElement: HTMLElement { public static let HAVE_ENOUGH_DATA: UInt16 = 4 - @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } + @ReadonlyAttribute + public var readyState: UInt16 - @inlinable public var seeking: Bool { jsObject[Strings.seeking].fromJSValue()! } + @ReadonlyAttribute + public var seeking: Bool - @inlinable public var currentTime: Double { - get { jsObject[Strings.currentTime].fromJSValue()! } - set { jsObject[Strings.currentTime] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var currentTime: Double - @inlinable final public func fastSeek(time: Double) { + @inlinable public func fastSeek(time: Double) { let this = jsObject _ = this[Strings.fastSeek].function!(this: this, arguments: [_toJSValue(time)]) } - @inlinable public var duration: Double { jsObject[Strings.duration].fromJSValue()! } + @ReadonlyAttribute + public var duration: Double - @inlinable final public func getStartDate() -> JSObject { + @inlinable public func getStartDate() -> JSObject { let this = jsObject return this[Strings.getStartDate].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var paused: Bool { jsObject[Strings.paused].fromJSValue()! } + @ReadonlyAttribute + public var paused: Bool - @inlinable public var defaultPlaybackRate: Double { - get { jsObject[Strings.defaultPlaybackRate].fromJSValue()! } - set { jsObject[Strings.defaultPlaybackRate] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var defaultPlaybackRate: Double - @inlinable public var playbackRate: Double { - get { jsObject[Strings.playbackRate].fromJSValue()! } - set { jsObject[Strings.playbackRate] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var playbackRate: Double - @inlinable public var preservesPitch: Bool { - get { jsObject[Strings.preservesPitch].fromJSValue()! } - set { jsObject[Strings.preservesPitch] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var preservesPitch: Bool - @inlinable public var played: TimeRanges { jsObject[Strings.played].fromJSValue()! } + @ReadonlyAttribute + public var played: TimeRanges - @inlinable public var seekable: TimeRanges { jsObject[Strings.seekable].fromJSValue()! } + @ReadonlyAttribute + public var seekable: TimeRanges - @inlinable public var ended: Bool { jsObject[Strings.ended].fromJSValue()! } + @ReadonlyAttribute + public var ended: Bool - @inlinable public var autoplay: Bool { - get { jsObject[Strings.autoplay].fromJSValue()! } - set { jsObject[Strings.autoplay] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var autoplay: Bool - @inlinable public var loop: Bool { - get { jsObject[Strings.loop].fromJSValue()! } - set { jsObject[Strings.loop] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var loop: Bool - @inlinable final public func play() -> JSPromise { + @inlinable public func play() -> JSPromise { let this = jsObject return this[Strings.play].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func play() - async throws(JSException) - { - let this = jsObject - let _promise: JSPromise = this[Strings.play].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func play() async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.play].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func pause() { + @inlinable public func pause() { let this = jsObject _ = this[Strings.pause].function!(this: this, arguments: []) } - @inlinable public var controls: Bool { - get { jsObject[Strings.controls].fromJSValue()! } - set { jsObject[Strings.controls] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var controls: Bool - @inlinable public var volume: Double { - get { jsObject[Strings.volume].fromJSValue()! } - set { jsObject[Strings.volume] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var volume: Double - @inlinable public var muted: Bool { - get { jsObject[Strings.muted].fromJSValue()! } - set { jsObject[Strings.muted] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var muted: Bool - @inlinable public var defaultMuted: Bool { - get { jsObject[Strings.defaultMuted].fromJSValue()! } - set { jsObject[Strings.defaultMuted] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var defaultMuted: Bool - @inlinable public var audioTracks: AudioTrackList { jsObject[Strings.audioTracks].fromJSValue()! } + @ReadonlyAttribute + public var audioTracks: AudioTrackList - @inlinable public var videoTracks: VideoTrackList { jsObject[Strings.videoTracks].fromJSValue()! } + @ReadonlyAttribute + public var videoTracks: VideoTrackList - @inlinable public var textTracks: TextTrackList { jsObject[Strings.textTracks].fromJSValue()! } + @ReadonlyAttribute + public var textTracks: TextTrackList - @inlinable final public func addTextTrack( - kind: TextTrackKind, - label: String? = nil, - language: String? = nil - ) -> TextTrack { + @inlinable public func addTextTrack(kind: TextTrackKind, label: String? = nil, language: String? = nil) -> TextTrack { let this = jsObject - return this[Strings.addTextTrack].function!( - this: this, - arguments: [_toJSValue(kind), _toJSValue(label), _toJSValue(language)] - ).fromJSValue()! + return this[Strings.addTextTrack].function!(this: this, arguments: [_toJSValue(kind), _toJSValue(label), _toJSValue(language)]).fromJSValue()! } } public class HTMLMenuElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMenuElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMenuElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var compact: Bool { - get { jsObject[Strings.compact].fromJSValue()! } - set { jsObject[Strings.compact] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var compact: Bool } public class HTMLMetaElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMetaElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMetaElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _httpEquiv = ReadWriteAttribute(jsObject: jsObject, name: Strings.httpEquiv) + _content = ReadWriteAttribute(jsObject: jsObject, name: Strings.content) + _media = ReadWriteAttribute(jsObject: jsObject, name: Strings.media) + _scheme = ReadWriteAttribute(jsObject: jsObject, name: Strings.scheme) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var httpEquiv: String { - get { jsObject[Strings.httpEquiv].fromJSValue()! } - set { jsObject[Strings.httpEquiv] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var content: String { - get { jsObject[Strings.content].fromJSValue()! } - set { jsObject[Strings.content] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var name: String - @inlinable public var media: String { - get { jsObject[Strings.media].fromJSValue()! } - set { jsObject[Strings.media] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var httpEquiv: String - @inlinable public var scheme: String { - get { jsObject[Strings.scheme].fromJSValue()! } - set { jsObject[Strings.scheme] = _toJSValue(newValue) } - } -} + @ReadWriteAttribute + public var content: String -public class HTMLMeterElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMeterElement].function } + @ReadWriteAttribute + public var media: String - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var scheme: String +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLMeterElement: HTMLElement { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMeterElement].function } - @inlinable public var value: Double { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + _min = ReadWriteAttribute(jsObject: jsObject, name: Strings.min) + _max = ReadWriteAttribute(jsObject: jsObject, name: Strings.max) + _low = ReadWriteAttribute(jsObject: jsObject, name: Strings.low) + _high = ReadWriteAttribute(jsObject: jsObject, name: Strings.high) + _optimum = ReadWriteAttribute(jsObject: jsObject, name: Strings.optimum) + _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var min: Double { - get { jsObject[Strings.min].fromJSValue()! } - set { jsObject[Strings.min] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var max: Double { - get { jsObject[Strings.max].fromJSValue()! } - set { jsObject[Strings.max] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var value: Double - @inlinable public var low: Double { - get { jsObject[Strings.low].fromJSValue()! } - set { jsObject[Strings.low] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var min: Double - @inlinable public var high: Double { - get { jsObject[Strings.high].fromJSValue()! } - set { jsObject[Strings.high] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var max: Double - @inlinable public var optimum: Double { - get { jsObject[Strings.optimum].fromJSValue()! } - set { jsObject[Strings.optimum] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var low: Double - @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } -} + @ReadWriteAttribute + public var high: Double -public class HTMLModElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLModElement].function } + @ReadWriteAttribute + public var optimum: Double - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadonlyAttribute + public var labels: NodeList +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLModElement: HTMLElement { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLModElement].function } - @inlinable public var cite: String { - get { jsObject[Strings.cite].fromJSValue()! } - set { jsObject[Strings.cite] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _cite = ReadWriteAttribute(jsObject: jsObject, name: Strings.cite) + _dateTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.dateTime) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var dateTime: String { - get { jsObject[Strings.dateTime].fromJSValue()! } - set { jsObject[Strings.dateTime] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } -} -public class HTMLOListElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLOListElement].function } + @ReadWriteAttribute + public var cite: String - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var dateTime: String +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLOListElement: HTMLElement { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOListElement].function } - @inlinable public var reversed: Bool { - get { jsObject[Strings.reversed].fromJSValue()! } - set { jsObject[Strings.reversed] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _reversed = ReadWriteAttribute(jsObject: jsObject, name: Strings.reversed) + _start = ReadWriteAttribute(jsObject: jsObject, name: Strings.start) + _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) + _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var start: Int32 { - get { jsObject[Strings.start].fromJSValue()! } - set { jsObject[Strings.start] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var reversed: Bool - @inlinable public var compact: Bool { - get { jsObject[Strings.compact].fromJSValue()! } - set { jsObject[Strings.compact] = _toJSValue(newValue) } - } -} + @ReadWriteAttribute + public var start: Int32 -public class HTMLObjectElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLObjectElement].function - } + @ReadWriteAttribute + public var type: String - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var compact: Bool +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLObjectElement: HTMLElement { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLObjectElement].function } - @inlinable public var data: String { - get { jsObject[Strings.data].fromJSValue()! } - set { jsObject[Strings.data] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _data = ReadWriteAttribute(jsObject: jsObject, name: Strings.data) + _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) + _contentDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentDocument) + _contentWindow = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentWindow) + _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) + _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) + _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + _archive = ReadWriteAttribute(jsObject: jsObject, name: Strings.archive) + _code = ReadWriteAttribute(jsObject: jsObject, name: Strings.code) + _declare = ReadWriteAttribute(jsObject: jsObject, name: Strings.declare) + _hspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.hspace) + _standby = ReadWriteAttribute(jsObject: jsObject, name: Strings.standby) + _vspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.vspace) + _codeBase = ReadWriteAttribute(jsObject: jsObject, name: Strings.codeBase) + _codeType = ReadWriteAttribute(jsObject: jsObject, name: Strings.codeType) + _useMap = ReadWriteAttribute(jsObject: jsObject, name: Strings.useMap) + _border = ReadWriteAttribute(jsObject: jsObject, name: Strings.border) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var data: String - @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } + @ReadWriteAttribute + public var type: String - @inlinable public var width: String { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var name: String - @inlinable public var height: String { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var form: HTMLFormElement? + + @ReadWriteAttribute + public var width: String - @inlinable public var contentDocument: Document? { jsObject[Strings.contentDocument].fromJSValue() } + @ReadWriteAttribute + public var height: String - @inlinable public var contentWindow: WindowProxy? { jsObject[Strings.contentWindow].fromJSValue() } + @ReadonlyAttribute + public var contentDocument: Document? - @inlinable final public func getSVGDocument() -> Document? { + @ReadonlyAttribute + public var contentWindow: WindowProxy? + + @inlinable public func getSVGDocument() -> Document? { let this = jsObject return this[Strings.getSVGDocument].function!(this: this, arguments: []).fromJSValue() } - @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } + @ReadonlyAttribute + public var willValidate: Bool - @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } + @ReadonlyAttribute + public var validity: ValidityState - @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } + @ReadonlyAttribute + public var validationMessage: String - @inlinable final public func checkValidity() -> Bool { + @inlinable public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func reportValidity() -> Bool { + @inlinable public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func setCustomValidity(error: String) { + @inlinable public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var align: String - @inlinable public var archive: String { - get { jsObject[Strings.archive].fromJSValue()! } - set { jsObject[Strings.archive] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var archive: String - @inlinable public var code: String { - get { jsObject[Strings.code].fromJSValue()! } - set { jsObject[Strings.code] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var code: String - @inlinable public var declare: Bool { - get { jsObject[Strings.declare].fromJSValue()! } - set { jsObject[Strings.declare] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var declare: Bool - @inlinable public var hspace: UInt32 { - get { jsObject[Strings.hspace].fromJSValue()! } - set { jsObject[Strings.hspace] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var hspace: UInt32 - @inlinable public var standby: String { - get { jsObject[Strings.standby].fromJSValue()! } - set { jsObject[Strings.standby] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var standby: String - @inlinable public var vspace: UInt32 { - get { jsObject[Strings.vspace].fromJSValue()! } - set { jsObject[Strings.vspace] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var vspace: UInt32 - @inlinable public var codeBase: String { - get { jsObject[Strings.codeBase].fromJSValue()! } - set { jsObject[Strings.codeBase] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var codeBase: String - @inlinable public var codeType: String { - get { jsObject[Strings.codeType].fromJSValue()! } - set { jsObject[Strings.codeType] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var codeType: String - @inlinable public var useMap: String { - get { jsObject[Strings.useMap].fromJSValue()! } - set { jsObject[Strings.useMap] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var useMap: String - @inlinable public var border: String { - get { jsObject[Strings.border].fromJSValue()! } - set { jsObject[Strings.border] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var border: String } public class HTMLOptGroupElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLOptGroupElement].function - } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOptGroupElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var disabled: Bool { - get { jsObject[Strings.disabled].fromJSValue()! } - set { jsObject[Strings.disabled] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) + _label = ReadWriteAttribute(jsObject: jsObject, name: Strings.label) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var label: String { - get { jsObject[Strings.label].fromJSValue()! } - set { jsObject[Strings.label] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var disabled: Bool + + @ReadWriteAttribute + public var label: String } public class HTMLOptionElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLOptionElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOptionElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) + _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) + _label = ReadWriteAttribute(jsObject: jsObject, name: Strings.label) + _defaultSelected = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultSelected) + _selected = ReadWriteAttribute(jsObject: jsObject, name: Strings.selected) + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) + _index = ReadonlyAttribute(jsObject: jsObject, name: Strings.index) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var disabled: Bool { - get { jsObject[Strings.disabled].fromJSValue()! } - set { jsObject[Strings.disabled] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } + @ReadWriteAttribute + public var disabled: Bool - @inlinable public var label: String { - get { jsObject[Strings.label].fromJSValue()! } - set { jsObject[Strings.label] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var form: HTMLFormElement? - @inlinable public var defaultSelected: Bool { - get { jsObject[Strings.defaultSelected].fromJSValue()! } - set { jsObject[Strings.defaultSelected] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var label: String - @inlinable public var selected: Bool { - get { jsObject[Strings.selected].fromJSValue()! } - set { jsObject[Strings.selected] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var defaultSelected: Bool - @inlinable public var value: String { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var selected: Bool - @inlinable public var text: String { - get { jsObject[Strings.text].fromJSValue()! } - set { jsObject[Strings.text] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var value: String + + @ReadWriteAttribute + public var text: String - @inlinable public var index: Int32 { jsObject[Strings.index].fromJSValue()! } + @ReadonlyAttribute + public var index: Int32 } public class HTMLOptionsCollection: HTMLCollection { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLOptionsCollection].function + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOptionsCollection].function } + + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadWriteAttribute(jsObject: jsObject, name: Strings.length) + _selectedIndex = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectedIndex) + super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @usableFromInline let _length: ReadWriteAttribute + @inlinable override public var length: UInt32 { + get { _length.wrappedValue } + set { _length.wrappedValue = newValue } + } - @inlinable public override subscript(key: Int) -> HTMLOptionElement? { - get { super[key] as? HTMLOptionElement } - set { jsObject[key] = _toJSValue(newValue) } + @inlinable override public subscript(key: Int) -> HTMLOptionElement? { + get { + super[key] as? HTMLOptionElement + } + set { + jsObject[key] = _toJSValue(newValue) + } } - @inlinable final public func add( - element: HTMLOptGroupElement_or_HTMLOptionElement, - before: HTMLElement_or_Int32? = nil - ) { + @inlinable public func add(element: HTMLOptGroupElement_or_HTMLOptionElement, before: HTMLElement_or_Int32? = nil) { let this = jsObject _ = this[Strings.add].function!(this: this, arguments: [_toJSValue(element), _toJSValue(before)]) } - @inlinable final public func remove(index: Int32) { + @inlinable public func remove(index: Int32) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: [_toJSValue(index)]) } - @inlinable public var selectedIndex: Int32 { - get { jsObject[Strings.selectedIndex].fromJSValue()! } - set { jsObject[Strings.selectedIndex] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var selectedIndex: Int32 } public protocol HTMLOrSVGElement: JSBridgedClass {} -extension HTMLOrSVGElement { - @inlinable public var dataset: DOMStringMap { jsObject[Strings.dataset].fromJSValue()! } +public extension HTMLOrSVGElement { + @inlinable var dataset: DOMStringMap { jsObject[Strings.dataset].fromJSValue()! } - @inlinable public var nonce: String { + @inlinable var nonce: String { get { jsObject[Strings.nonce].fromJSValue()! } - set { jsObject[Strings.nonce] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.nonce] = _toJSValue(newValue) } } - @inlinable public var autofocus: Bool { + @inlinable var autofocus: Bool { get { jsObject[Strings.autofocus].fromJSValue()! } - set { jsObject[Strings.autofocus] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.autofocus] = _toJSValue(newValue) } } - @inlinable public var tabIndex: Int32 { + @inlinable var tabIndex: Int32 { get { jsObject[Strings.tabIndex].fromJSValue()! } - set { jsObject[Strings.tabIndex] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.tabIndex] = _toJSValue(newValue) } } - @inlinable public func focus(options: FocusOptions? = nil) { + @inlinable func focus(options: FocusOptions? = nil) { let this = jsObject _ = this[Strings.focus].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func blur() { + @inlinable func blur() { let this = jsObject _ = this[Strings.blur].function!(this: this, arguments: []) } } + public class HTMLOutputElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLOutputElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOutputElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _htmlFor = ReadonlyAttribute(jsObject: jsObject, name: Strings.htmlFor) + _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + _defaultValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultValue) + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) + _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) + _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) + _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable public var htmlFor: DOMTokenList { jsObject[Strings.htmlFor].fromJSValue()! } + @ReadonlyAttribute + public var htmlFor: DOMTokenList - @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } + @ReadonlyAttribute + public var form: HTMLFormElement? - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var name: String - @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } + @ReadonlyAttribute + public var type: String - @inlinable public var defaultValue: String { - get { jsObject[Strings.defaultValue].fromJSValue()! } - set { jsObject[Strings.defaultValue] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var defaultValue: String - @inlinable public var value: String { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var value: String - @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } + @ReadonlyAttribute + public var willValidate: Bool - @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } + @ReadonlyAttribute + public var validity: ValidityState - @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } + @ReadonlyAttribute + public var validationMessage: String - @inlinable final public func checkValidity() -> Bool { + @inlinable public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func reportValidity() -> Bool { + @inlinable public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func setCustomValidity(error: String) { + @inlinable public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } + @ReadonlyAttribute + public var labels: NodeList } public class HTMLParagraphElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLParagraphElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLParagraphElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var align: String } public class HTMLParamElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLParamElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLParamElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) + _valueType = ReadWriteAttribute(jsObject: jsObject, name: Strings.valueType) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var value: String { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var name: String - @inlinable public var valueType: String { - get { jsObject[Strings.valueType].fromJSValue()! } - set { jsObject[Strings.valueType] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var value: String + + @ReadWriteAttribute + public var type: String + + @ReadWriteAttribute + public var valueType: String } public class HTMLPictureElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLPictureElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLPictureElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } } public class HTMLPreElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLPreElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLPreElement].function } - @inlinable public var width: Int32 { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + super.init(unsafelyWrapping: jsObject) } -} -public class HTMLProgressElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLProgressElement].function + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var width: Int32 +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLProgressElement: HTMLElement { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLProgressElement].function } - @inlinable public var value: Double { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + _max = ReadWriteAttribute(jsObject: jsObject, name: Strings.max) + _position = ReadonlyAttribute(jsObject: jsObject, name: Strings.position) + _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var max: Double { - get { jsObject[Strings.max].fromJSValue()! } - set { jsObject[Strings.max] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var position: Double { jsObject[Strings.position].fromJSValue()! } + @ReadWriteAttribute + public var value: Double - @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } -} + @ReadWriteAttribute + public var max: Double -public class HTMLQuoteElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLQuoteElement].function } + @ReadonlyAttribute + public var position: Double - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadonlyAttribute + public var labels: NodeList +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLQuoteElement: HTMLElement { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLQuoteElement].function } - @inlinable public var cite: String { - get { jsObject[Strings.cite].fromJSValue()! } - set { jsObject[Strings.cite] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _cite = ReadWriteAttribute(jsObject: jsObject, name: Strings.cite) + super.init(unsafelyWrapping: jsObject) } -} -public class HTMLScriptElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLScriptElement].function + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var cite: String +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLScriptElement: HTMLElement { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLScriptElement].function } - @inlinable public var src: String { - get { jsObject[Strings.src].fromJSValue()! } - set { jsObject[Strings.src] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) + _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) + _noModule = ReadWriteAttribute(jsObject: jsObject, name: Strings.noModule) + _async = ReadWriteAttribute(jsObject: jsObject, name: Strings.async) + _defer = ReadWriteAttribute(jsObject: jsObject, name: Strings.defer) + _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) + _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) + _integrity = ReadWriteAttribute(jsObject: jsObject, name: Strings.integrity) + _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) + _blocking = ReadonlyAttribute(jsObject: jsObject, name: Strings.blocking) + _fetchPriority = ReadWriteAttribute(jsObject: jsObject, name: Strings.fetchPriority) + _charset = ReadWriteAttribute(jsObject: jsObject, name: Strings.charset) + _event = ReadWriteAttribute(jsObject: jsObject, name: Strings.event) + _htmlFor = ReadWriteAttribute(jsObject: jsObject, name: Strings.htmlFor) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var noModule: Bool { - get { jsObject[Strings.noModule].fromJSValue()! } - set { jsObject[Strings.noModule] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var src: String - @inlinable public var async: Bool { - get { jsObject[Strings.async].fromJSValue()! } - set { jsObject[Strings.async] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var type: String - @inlinable public var `defer`: Bool { - get { jsObject[Strings.`defer`].fromJSValue()! } - set { jsObject[Strings.`defer`] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var noModule: Bool - @inlinable public var crossOrigin: String? { - get { jsObject[Strings.crossOrigin].fromJSValue() } - set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var async: Bool - @inlinable public var text: String { - get { jsObject[Strings.text].fromJSValue()! } - set { jsObject[Strings.text] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var `defer`: Bool - @inlinable public var integrity: String { - get { jsObject[Strings.integrity].fromJSValue()! } - set { jsObject[Strings.integrity] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var crossOrigin: String? - @inlinable public var referrerPolicy: String { - get { jsObject[Strings.referrerPolicy].fromJSValue()! } - set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var text: String - @inlinable public var blocking: DOMTokenList { jsObject[Strings.blocking].fromJSValue()! } + @ReadWriteAttribute + public var integrity: String - @inlinable public var fetchPriority: String { - get { jsObject[Strings.fetchPriority].fromJSValue()! } - set { jsObject[Strings.fetchPriority] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var referrerPolicy: String + + @ReadonlyAttribute + public var blocking: DOMTokenList + + @ReadWriteAttribute + public var fetchPriority: String @inlinable public class func supports(type: String) -> Bool { let this = constructor! return this[Strings.supports].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @inlinable public var charset: String { - get { jsObject[Strings.charset].fromJSValue()! } - set { jsObject[Strings.charset] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var charset: String - @inlinable public var event: String { - get { jsObject[Strings.event].fromJSValue()! } - set { jsObject[Strings.event] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var event: String - @inlinable public var htmlFor: String { - get { jsObject[Strings.htmlFor].fromJSValue()! } - set { jsObject[Strings.htmlFor] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var htmlFor: String } public class HTMLSelectElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLSelectElement].function - } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLSelectElement].function } - @inlinable public var autocomplete: String { - get { jsObject[Strings.autocomplete].fromJSValue()! } - set { jsObject[Strings.autocomplete] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _autocomplete = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocomplete) + _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) + _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) + _multiple = ReadWriteAttribute(jsObject: jsObject, name: Strings.multiple) + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _required = ReadWriteAttribute(jsObject: jsObject, name: Strings.required) + _size = ReadWriteAttribute(jsObject: jsObject, name: Strings.size) + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + _options = ReadonlyAttribute(jsObject: jsObject, name: Strings.options) + _length = ReadWriteAttribute(jsObject: jsObject, name: Strings.length) + _selectedOptions = ReadonlyAttribute(jsObject: jsObject, name: Strings.selectedOptions) + _selectedIndex = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectedIndex) + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) + _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) + _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) + _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var disabled: Bool { - get { jsObject[Strings.disabled].fromJSValue()! } - set { jsObject[Strings.disabled] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } + @ReadWriteAttribute + public var autocomplete: String - @inlinable public var multiple: Bool { - get { jsObject[Strings.multiple].fromJSValue()! } - set { jsObject[Strings.multiple] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var disabled: Bool - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var form: HTMLFormElement? - @inlinable public var required: Bool { - get { jsObject[Strings.required].fromJSValue()! } - set { jsObject[Strings.required] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var multiple: Bool - @inlinable public var size: UInt32 { - get { jsObject[Strings.size].fromJSValue()! } - set { jsObject[Strings.size] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var name: String - @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } + @ReadWriteAttribute + public var required: Bool - @inlinable public var options: HTMLOptionsCollection { jsObject[Strings.options].fromJSValue()! } + @ReadWriteAttribute + public var size: UInt32 - @inlinable public var length: UInt32 { - get { jsObject[Strings.length].fromJSValue()! } - set { jsObject[Strings.length] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var type: String + + @ReadonlyAttribute + public var options: HTMLOptionsCollection - @inlinable final public func item(index: UInt32) -> HTMLOptionElement? { + @ReadWriteAttribute + public var length: UInt32 + + @inlinable public func item(index: UInt32) -> HTMLOptionElement? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable final public func namedItem(name: String) -> HTMLOptionElement? { + @inlinable public func namedItem(name: String) -> HTMLOptionElement? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable final public func add( - element: HTMLOptGroupElement_or_HTMLOptionElement, - before: HTMLElement_or_Int32? = nil - ) { + @inlinable public func add(element: HTMLOptGroupElement_or_HTMLOptionElement, before: HTMLElement_or_Int32? = nil) { let this = jsObject _ = this[Strings.add].function!(this: this, arguments: [_toJSValue(element), _toJSValue(before)]) } - @inlinable final public func remove() { + @inlinable public func remove() { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: []) } - @inlinable final public func remove(index: Int32) { + @inlinable public func remove(index: Int32) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: [_toJSValue(index)]) } @inlinable public subscript(key: Int) -> HTMLOptionElement? { - get { jsObject[key].fromJSValue() } - set { jsObject[key] = _toJSValue(newValue) } + get { + jsObject[key].fromJSValue() + } + set { + jsObject[key] = _toJSValue(newValue) + } } - @inlinable public var selectedOptions: HTMLCollection { jsObject[Strings.selectedOptions].fromJSValue()! } + @ReadonlyAttribute + public var selectedOptions: HTMLCollection - @inlinable public var selectedIndex: Int32 { - get { jsObject[Strings.selectedIndex].fromJSValue()! } - set { jsObject[Strings.selectedIndex] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var selectedIndex: Int32 - @inlinable public var value: String { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var value: String - @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } + @ReadonlyAttribute + public var willValidate: Bool - @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } + @ReadonlyAttribute + public var validity: ValidityState - @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } + @ReadonlyAttribute + public var validationMessage: String - @inlinable final public func checkValidity() -> Bool { + @inlinable public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func reportValidity() -> Bool { + @inlinable public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func setCustomValidity(error: String) { + @inlinable public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } + @ReadonlyAttribute + public var labels: NodeList } public class HTMLSlotElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLSlotElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLSlotElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable final public func assignedNodes(options: AssignedNodesOptions? = nil) -> [Node] { + @ReadWriteAttribute + public var name: String + + @inlinable public func assignedNodes(options: AssignedNodesOptions? = nil) -> [Node] { let this = jsObject return this[Strings.assignedNodes].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable final public func assignedElements(options: AssignedNodesOptions? = nil) -> [Element] { + @inlinable public func assignedElements(options: AssignedNodesOptions? = nil) -> [Element] { let this = jsObject return this[Strings.assignedElements].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable final public func assign(nodes: Element_or_Text...) { + @inlinable public func assign(nodes: Element_or_Text...) { let this = jsObject _ = this[Strings.assign].function!(this: this, arguments: nodes.map(_toJSValue)) } } public class HTMLSourceElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLSourceElement].function - } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLSourceElement].function } - @inlinable public var src: String { - get { jsObject[Strings.src].fromJSValue()! } - set { jsObject[Strings.src] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) + _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) + _srcset = ReadWriteAttribute(jsObject: jsObject, name: Strings.srcset) + _sizes = ReadWriteAttribute(jsObject: jsObject, name: Strings.sizes) + _media = ReadWriteAttribute(jsObject: jsObject, name: Strings.media) + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var srcset: String { - get { jsObject[Strings.srcset].fromJSValue()! } - set { jsObject[Strings.srcset] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var src: String - @inlinable public var sizes: String { - get { jsObject[Strings.sizes].fromJSValue()! } - set { jsObject[Strings.sizes] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var type: String - @inlinable public var media: String { - get { jsObject[Strings.media].fromJSValue()! } - set { jsObject[Strings.media] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var srcset: String - @inlinable public var width: UInt32 { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var sizes: String - @inlinable public var height: UInt32 { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var media: String + + @ReadWriteAttribute + public var width: UInt32 + + @ReadWriteAttribute + public var height: UInt32 } public class HTMLSpanElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLSpanElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLSpanElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } } public class HTMLStyleElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLStyleElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLStyleElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var disabled: Bool { - get { jsObject[Strings.disabled].fromJSValue()! } - set { jsObject[Strings.disabled] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) + _media = ReadWriteAttribute(jsObject: jsObject, name: Strings.media) + _blocking = ReadonlyAttribute(jsObject: jsObject, name: Strings.blocking) + _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var media: String { - get { jsObject[Strings.media].fromJSValue()! } - set { jsObject[Strings.media] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var blocking: DOMTokenList { jsObject[Strings.blocking].fromJSValue()! } + @ReadWriteAttribute + public var disabled: Bool - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } -} + @ReadWriteAttribute + public var media: String -public class HTMLTableCaptionElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLTableCaptionElement].function - } + @ReadonlyAttribute + public var blocking: DOMTokenList - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var type: String +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLTableCaptionElement: HTMLElement { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableCaptionElement].function } - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + super.init(unsafelyWrapping: jsObject) } -} -public class HTMLTableCellElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLTableCellElement].function + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var align: String +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLTableCellElement: HTMLElement { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableCellElement].function } - @inlinable public var colSpan: UInt32 { - get { jsObject[Strings.colSpan].fromJSValue()! } - set { jsObject[Strings.colSpan] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _colSpan = ReadWriteAttribute(jsObject: jsObject, name: Strings.colSpan) + _rowSpan = ReadWriteAttribute(jsObject: jsObject, name: Strings.rowSpan) + _headers = ReadWriteAttribute(jsObject: jsObject, name: Strings.headers) + _cellIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.cellIndex) + _scope = ReadWriteAttribute(jsObject: jsObject, name: Strings.scope) + _abbr = ReadWriteAttribute(jsObject: jsObject, name: Strings.abbr) + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + _axis = ReadWriteAttribute(jsObject: jsObject, name: Strings.axis) + _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + _ch = ReadWriteAttribute(jsObject: jsObject, name: Strings.ch) + _chOff = ReadWriteAttribute(jsObject: jsObject, name: Strings.chOff) + _noWrap = ReadWriteAttribute(jsObject: jsObject, name: Strings.noWrap) + _vAlign = ReadWriteAttribute(jsObject: jsObject, name: Strings.vAlign) + _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var rowSpan: UInt32 { - get { jsObject[Strings.rowSpan].fromJSValue()! } - set { jsObject[Strings.rowSpan] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var headers: String { - get { jsObject[Strings.headers].fromJSValue()! } - set { jsObject[Strings.headers] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var colSpan: UInt32 - @inlinable public var cellIndex: Int32 { jsObject[Strings.cellIndex].fromJSValue()! } + @ReadWriteAttribute + public var rowSpan: UInt32 - @inlinable public var scope: String { - get { jsObject[Strings.scope].fromJSValue()! } - set { jsObject[Strings.scope] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var headers: String - @inlinable public var abbr: String { - get { jsObject[Strings.abbr].fromJSValue()! } - set { jsObject[Strings.abbr] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var cellIndex: Int32 - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var scope: String - @inlinable public var axis: String { - get { jsObject[Strings.axis].fromJSValue()! } - set { jsObject[Strings.axis] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var abbr: String - @inlinable public var height: String { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var align: String - @inlinable public var width: String { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var axis: String - @inlinable public var ch: String { - get { jsObject[Strings.ch].fromJSValue()! } - set { jsObject[Strings.ch] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var height: String - @inlinable public var chOff: String { - get { jsObject[Strings.chOff].fromJSValue()! } - set { jsObject[Strings.chOff] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var width: String - @inlinable public var noWrap: Bool { - get { jsObject[Strings.noWrap].fromJSValue()! } - set { jsObject[Strings.noWrap] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var ch: String - @inlinable public var vAlign: String { - get { jsObject[Strings.vAlign].fromJSValue()! } - set { jsObject[Strings.vAlign] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var chOff: String - @inlinable public var bgColor: String { - get { jsObject[Strings.bgColor].fromJSValue()! } - set { jsObject[Strings.bgColor] = _toJSValue(newValue) } - } -} + @ReadWriteAttribute + public var noWrap: Bool -public class HTMLTableColElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLTableColElement].function - } + @ReadWriteAttribute + public var vAlign: String - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var bgColor: String +} - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } +public class HTMLTableColElement: HTMLElement { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableColElement].function } - @inlinable public var span: UInt32 { - get { jsObject[Strings.span].fromJSValue()! } - set { jsObject[Strings.span] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _span = ReadWriteAttribute(jsObject: jsObject, name: Strings.span) + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + _ch = ReadWriteAttribute(jsObject: jsObject, name: Strings.ch) + _chOff = ReadWriteAttribute(jsObject: jsObject, name: Strings.chOff) + _vAlign = ReadWriteAttribute(jsObject: jsObject, name: Strings.vAlign) + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var ch: String { - get { jsObject[Strings.ch].fromJSValue()! } - set { jsObject[Strings.ch] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var span: UInt32 - @inlinable public var chOff: String { - get { jsObject[Strings.chOff].fromJSValue()! } - set { jsObject[Strings.chOff] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var align: String - @inlinable public var vAlign: String { - get { jsObject[Strings.vAlign].fromJSValue()! } - set { jsObject[Strings.vAlign] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var ch: String - @inlinable public var width: String { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var chOff: String + + @ReadWriteAttribute + public var vAlign: String + + @ReadWriteAttribute + public var width: String } public class HTMLTableElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _caption = ReadWriteAttribute(jsObject: jsObject, name: Strings.caption) + _tHead = ReadWriteAttribute(jsObject: jsObject, name: Strings.tHead) + _tFoot = ReadWriteAttribute(jsObject: jsObject, name: Strings.tFoot) + _tBodies = ReadonlyAttribute(jsObject: jsObject, name: Strings.tBodies) + _rows = ReadonlyAttribute(jsObject: jsObject, name: Strings.rows) + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + _border = ReadWriteAttribute(jsObject: jsObject, name: Strings.border) + _frame = ReadWriteAttribute(jsObject: jsObject, name: Strings.frame) + _rules = ReadWriteAttribute(jsObject: jsObject, name: Strings.rules) + _summary = ReadWriteAttribute(jsObject: jsObject, name: Strings.summary) + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) + _cellPadding = ReadWriteAttribute(jsObject: jsObject, name: Strings.cellPadding) + _cellSpacing = ReadWriteAttribute(jsObject: jsObject, name: Strings.cellSpacing) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var caption: HTMLTableCaptionElement? { - get { jsObject[Strings.caption].fromJSValue() } - set { jsObject[Strings.caption] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable final public func createCaption() -> HTMLTableCaptionElement { + @ReadWriteAttribute + public var caption: HTMLTableCaptionElement? + + @inlinable public func createCaption() -> HTMLTableCaptionElement { let this = jsObject return this[Strings.createCaption].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func deleteCaption() { + @inlinable public func deleteCaption() { let this = jsObject _ = this[Strings.deleteCaption].function!(this: this, arguments: []) } - @inlinable public var tHead: HTMLTableSectionElement? { - get { jsObject[Strings.tHead].fromJSValue() } - set { jsObject[Strings.tHead] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var tHead: HTMLTableSectionElement? - @inlinable final public func createTHead() -> HTMLTableSectionElement { + @inlinable public func createTHead() -> HTMLTableSectionElement { let this = jsObject return this[Strings.createTHead].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func deleteTHead() { + @inlinable public func deleteTHead() { let this = jsObject _ = this[Strings.deleteTHead].function!(this: this, arguments: []) } - @inlinable public var tFoot: HTMLTableSectionElement? { - get { jsObject[Strings.tFoot].fromJSValue() } - set { jsObject[Strings.tFoot] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var tFoot: HTMLTableSectionElement? - @inlinable final public func createTFoot() -> HTMLTableSectionElement { + @inlinable public func createTFoot() -> HTMLTableSectionElement { let this = jsObject return this[Strings.createTFoot].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func deleteTFoot() { + @inlinable public func deleteTFoot() { let this = jsObject _ = this[Strings.deleteTFoot].function!(this: this, arguments: []) } - @inlinable public var tBodies: HTMLCollection { jsObject[Strings.tBodies].fromJSValue()! } + @ReadonlyAttribute + public var tBodies: HTMLCollection - @inlinable final public func createTBody() -> HTMLTableSectionElement { + @inlinable public func createTBody() -> HTMLTableSectionElement { let this = jsObject return this[Strings.createTBody].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var rows: HTMLCollection { jsObject[Strings.rows].fromJSValue()! } + @ReadonlyAttribute + public var rows: HTMLCollection - @inlinable final public func insertRow(index: Int32? = nil) -> HTMLTableRowElement { + @inlinable public func insertRow(index: Int32? = nil) -> HTMLTableRowElement { let this = jsObject return this[Strings.insertRow].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable final public func deleteRow(index: Int32) { + @inlinable public func deleteRow(index: Int32) { let this = jsObject _ = this[Strings.deleteRow].function!(this: this, arguments: [_toJSValue(index)]) } - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var align: String - @inlinable public var border: String { - get { jsObject[Strings.border].fromJSValue()! } - set { jsObject[Strings.border] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var border: String - @inlinable public var frame: String { - get { jsObject[Strings.frame].fromJSValue()! } - set { jsObject[Strings.frame] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var frame: String - @inlinable public var rules: String { - get { jsObject[Strings.rules].fromJSValue()! } - set { jsObject[Strings.rules] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var rules: String - @inlinable public var summary: String { - get { jsObject[Strings.summary].fromJSValue()! } - set { jsObject[Strings.summary] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var summary: String - @inlinable public var width: String { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var width: String - @inlinable public var bgColor: String { - get { jsObject[Strings.bgColor].fromJSValue()! } - set { jsObject[Strings.bgColor] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var bgColor: String - @inlinable public var cellPadding: String { - get { jsObject[Strings.cellPadding].fromJSValue()! } - set { jsObject[Strings.cellPadding] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var cellPadding: String - @inlinable public var cellSpacing: String { - get { jsObject[Strings.cellSpacing].fromJSValue()! } - set { jsObject[Strings.cellSpacing] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var cellSpacing: String } public class HTMLTableRowElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLTableRowElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableRowElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _rowIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.rowIndex) + _sectionRowIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.sectionRowIndex) + _cells = ReadonlyAttribute(jsObject: jsObject, name: Strings.cells) + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + _ch = ReadWriteAttribute(jsObject: jsObject, name: Strings.ch) + _chOff = ReadWriteAttribute(jsObject: jsObject, name: Strings.chOff) + _vAlign = ReadWriteAttribute(jsObject: jsObject, name: Strings.vAlign) + _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable public var rowIndex: Int32 { jsObject[Strings.rowIndex].fromJSValue()! } + @ReadonlyAttribute + public var rowIndex: Int32 - @inlinable public var sectionRowIndex: Int32 { jsObject[Strings.sectionRowIndex].fromJSValue()! } + @ReadonlyAttribute + public var sectionRowIndex: Int32 - @inlinable public var cells: HTMLCollection { jsObject[Strings.cells].fromJSValue()! } + @ReadonlyAttribute + public var cells: HTMLCollection - @inlinable final public func insertCell(index: Int32? = nil) -> HTMLTableCellElement { + @inlinable public func insertCell(index: Int32? = nil) -> HTMLTableCellElement { let this = jsObject return this[Strings.insertCell].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable final public func deleteCell(index: Int32) { + @inlinable public func deleteCell(index: Int32) { let this = jsObject _ = this[Strings.deleteCell].function!(this: this, arguments: [_toJSValue(index)]) } - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var align: String - @inlinable public var ch: String { - get { jsObject[Strings.ch].fromJSValue()! } - set { jsObject[Strings.ch] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var ch: String - @inlinable public var chOff: String { - get { jsObject[Strings.chOff].fromJSValue()! } - set { jsObject[Strings.chOff] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var chOff: String - @inlinable public var vAlign: String { - get { jsObject[Strings.vAlign].fromJSValue()! } - set { jsObject[Strings.vAlign] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var vAlign: String - @inlinable public var bgColor: String { - get { jsObject[Strings.bgColor].fromJSValue()! } - set { jsObject[Strings.bgColor] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var bgColor: String } public class HTMLTableSectionElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLTableSectionElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableSectionElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _rows = ReadonlyAttribute(jsObject: jsObject, name: Strings.rows) + _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) + _ch = ReadWriteAttribute(jsObject: jsObject, name: Strings.ch) + _chOff = ReadWriteAttribute(jsObject: jsObject, name: Strings.chOff) + _vAlign = ReadWriteAttribute(jsObject: jsObject, name: Strings.vAlign) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable public var rows: HTMLCollection { jsObject[Strings.rows].fromJSValue()! } + @ReadonlyAttribute + public var rows: HTMLCollection - @inlinable final public func insertRow(index: Int32? = nil) -> HTMLTableRowElement { + @inlinable public func insertRow(index: Int32? = nil) -> HTMLTableRowElement { let this = jsObject return this[Strings.insertRow].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable final public func deleteRow(index: Int32) { + @inlinable public func deleteRow(index: Int32) { let this = jsObject _ = this[Strings.deleteRow].function!(this: this, arguments: [_toJSValue(index)]) } - @inlinable public var align: String { - get { jsObject[Strings.align].fromJSValue()! } - set { jsObject[Strings.align] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var align: String - @inlinable public var ch: String { - get { jsObject[Strings.ch].fromJSValue()! } - set { jsObject[Strings.ch] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var ch: String - @inlinable public var chOff: String { - get { jsObject[Strings.chOff].fromJSValue()! } - set { jsObject[Strings.chOff] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var chOff: String - @inlinable public var vAlign: String { - get { jsObject[Strings.vAlign].fromJSValue()! } - set { jsObject[Strings.vAlign] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var vAlign: String } public class HTMLTemplateElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLTemplateElement].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTemplateElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _content = ReadonlyAttribute(jsObject: jsObject, name: Strings.content) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable public var content: DocumentFragment { jsObject[Strings.content].fromJSValue()! } + @ReadonlyAttribute + public var content: DocumentFragment } public class HTMLTextAreaElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLTextAreaElement].function - } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTextAreaElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var autocomplete: String { - get { jsObject[Strings.autocomplete].fromJSValue()! } - set { jsObject[Strings.autocomplete] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _autocomplete = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocomplete) + _cols = ReadWriteAttribute(jsObject: jsObject, name: Strings.cols) + _dirName = ReadWriteAttribute(jsObject: jsObject, name: Strings.dirName) + _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) + _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) + _maxLength = ReadWriteAttribute(jsObject: jsObject, name: Strings.maxLength) + _minLength = ReadWriteAttribute(jsObject: jsObject, name: Strings.minLength) + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _placeholder = ReadWriteAttribute(jsObject: jsObject, name: Strings.placeholder) + _readOnly = ReadWriteAttribute(jsObject: jsObject, name: Strings.readOnly) + _required = ReadWriteAttribute(jsObject: jsObject, name: Strings.required) + _rows = ReadWriteAttribute(jsObject: jsObject, name: Strings.rows) + _wrap = ReadWriteAttribute(jsObject: jsObject, name: Strings.wrap) + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + _defaultValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultValue) + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + _textLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.textLength) + _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) + _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) + _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) + _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) + _selectionStart = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionStart) + _selectionEnd = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionEnd) + _selectionDirection = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionDirection) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var cols: UInt32 { - get { jsObject[Strings.cols].fromJSValue()! } - set { jsObject[Strings.cols] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var dirName: String { - get { jsObject[Strings.dirName].fromJSValue()! } - set { jsObject[Strings.dirName] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var autocomplete: String - @inlinable public var disabled: Bool { - get { jsObject[Strings.disabled].fromJSValue()! } - set { jsObject[Strings.disabled] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var cols: UInt32 - @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } + @ReadWriteAttribute + public var dirName: String - @inlinable public var maxLength: Int32 { - get { jsObject[Strings.maxLength].fromJSValue()! } - set { jsObject[Strings.maxLength] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var disabled: Bool - @inlinable public var minLength: Int32 { - get { jsObject[Strings.minLength].fromJSValue()! } - set { jsObject[Strings.minLength] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var form: HTMLFormElement? - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var maxLength: Int32 - @inlinable public var placeholder: String { - get { jsObject[Strings.placeholder].fromJSValue()! } - set { jsObject[Strings.placeholder] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var minLength: Int32 - @inlinable public var readOnly: Bool { - get { jsObject[Strings.readOnly].fromJSValue()! } - set { jsObject[Strings.readOnly] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var name: String - @inlinable public var required: Bool { - get { jsObject[Strings.required].fromJSValue()! } - set { jsObject[Strings.required] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var placeholder: String - @inlinable public var rows: UInt32 { - get { jsObject[Strings.rows].fromJSValue()! } - set { jsObject[Strings.rows] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var readOnly: Bool - @inlinable public var wrap: String { - get { jsObject[Strings.wrap].fromJSValue()! } - set { jsObject[Strings.wrap] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var required: Bool - @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } + @ReadWriteAttribute + public var rows: UInt32 - @inlinable public var defaultValue: String { - get { jsObject[Strings.defaultValue].fromJSValue()! } - set { jsObject[Strings.defaultValue] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var wrap: String - @inlinable public var value: String { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var type: String + + @ReadWriteAttribute + public var defaultValue: String - @inlinable public var textLength: UInt32 { jsObject[Strings.textLength].fromJSValue()! } + @ReadWriteAttribute + public var value: String - @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } + @ReadonlyAttribute + public var textLength: UInt32 - @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } + @ReadonlyAttribute + public var willValidate: Bool - @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } + @ReadonlyAttribute + public var validity: ValidityState - @inlinable final public func checkValidity() -> Bool { + @ReadonlyAttribute + public var validationMessage: String + + @inlinable public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func reportValidity() -> Bool { + @inlinable public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func setCustomValidity(error: String) { + @inlinable public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } + @ReadonlyAttribute + public var labels: NodeList - @inlinable final public func select() { + @inlinable public func select() { let this = jsObject _ = this[Strings.select].function!(this: this, arguments: []) } - @inlinable public var selectionStart: UInt32 { - get { jsObject[Strings.selectionStart].fromJSValue()! } - set { jsObject[Strings.selectionStart] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var selectionStart: UInt32 - @inlinable public var selectionEnd: UInt32 { - get { jsObject[Strings.selectionEnd].fromJSValue()! } - set { jsObject[Strings.selectionEnd] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var selectionEnd: UInt32 - @inlinable public var selectionDirection: String { - get { jsObject[Strings.selectionDirection].fromJSValue()! } - set { jsObject[Strings.selectionDirection] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var selectionDirection: String - @inlinable final public func setRangeText(replacement: String) { + @inlinable public func setRangeText(replacement: String) { let this = jsObject _ = this[Strings.setRangeText].function!(this: this, arguments: [_toJSValue(replacement)]) } - @inlinable final public func setRangeText( - replacement: String, - start: UInt32, - end: UInt32, - selectionMode: SelectionMode? = nil - ) { + @inlinable public func setRangeText(replacement: String, start: UInt32, end: UInt32, selectionMode: SelectionMode? = nil) { let this = jsObject - _ = this[Strings.setRangeText].function!( - this: this, - arguments: [_toJSValue(replacement), _toJSValue(start), _toJSValue(end), _toJSValue(selectionMode)] - ) + _ = this[Strings.setRangeText].function!(this: this, arguments: [_toJSValue(replacement), _toJSValue(start), _toJSValue(end), _toJSValue(selectionMode)]) } - @inlinable final public func setSelectionRange(start: UInt32, end: UInt32, direction: String? = nil) { + @inlinable public func setSelectionRange(start: UInt32, end: UInt32, direction: String? = nil) { let this = jsObject - _ = this[Strings.setSelectionRange].function!( - this: this, - arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(direction)] - ) + _ = this[Strings.setSelectionRange].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(direction)]) } } public class HTMLTimeElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLTimeElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTimeElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _dateTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.dateTime) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var dateTime: String { - get { jsObject[Strings.dateTime].fromJSValue()! } - set { jsObject[Strings.dateTime] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var dateTime: String } public class HTMLTitleElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLTitleElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTitleElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var text: String { - get { jsObject[Strings.text].fromJSValue()! } - set { jsObject[Strings.text] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var text: String } public class HTMLTrackElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLTrackElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTrackElement].function } - @inlinable public var kind: String { - get { jsObject[Strings.kind].fromJSValue()! } - set { jsObject[Strings.kind] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _kind = ReadWriteAttribute(jsObject: jsObject, name: Strings.kind) + _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) + _srclang = ReadWriteAttribute(jsObject: jsObject, name: Strings.srclang) + _label = ReadWriteAttribute(jsObject: jsObject, name: Strings.label) + _default = ReadWriteAttribute(jsObject: jsObject, name: Strings.default) + _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) + _track = ReadonlyAttribute(jsObject: jsObject, name: Strings.track) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var src: String { - get { jsObject[Strings.src].fromJSValue()! } - set { jsObject[Strings.src] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var srclang: String { - get { jsObject[Strings.srclang].fromJSValue()! } - set { jsObject[Strings.srclang] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var kind: String - @inlinable public var label: String { - get { jsObject[Strings.label].fromJSValue()! } - set { jsObject[Strings.label] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var src: String - @inlinable public var `default`: Bool { - get { jsObject[Strings.`default`].fromJSValue()! } - set { jsObject[Strings.`default`] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var srclang: String + + @ReadWriteAttribute + public var label: String + + @ReadWriteAttribute + public var `default`: Bool public static let NONE: UInt16 = 0 @@ -10571,68 +9745,75 @@ public class HTMLTrackElement: HTMLElement { public static let ERROR: UInt16 = 3 - @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } + @ReadonlyAttribute + public var readyState: UInt16 - @inlinable public var track: TextTrack { jsObject[Strings.track].fromJSValue()! } + @ReadonlyAttribute + public var track: TextTrack } public class HTMLUListElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLUListElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLUListElement].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var compact: Bool { - get { jsObject[Strings.compact].fromJSValue()! } - set { jsObject[Strings.compact] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) + _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @ReadWriteAttribute + public var compact: Bool + + @ReadWriteAttribute + public var type: String } public class HTMLUnknownElement: HTMLElement { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.HTMLUnknownElement].function - } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLUnknownElement].function } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } } public class HTMLVideoElement: HTMLMediaElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLVideoElement].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLVideoElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - - @inlinable public var width: UInt32 { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) + _videoWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoWidth) + _videoHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoHeight) + _poster = ReadWriteAttribute(jsObject: jsObject, name: Strings.poster) + _playsInline = ReadWriteAttribute(jsObject: jsObject, name: Strings.playsInline) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var height: UInt32 { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var videoWidth: UInt32 { jsObject[Strings.videoWidth].fromJSValue()! } + @ReadWriteAttribute + public var width: UInt32 - @inlinable public var videoHeight: UInt32 { jsObject[Strings.videoHeight].fromJSValue()! } + @ReadWriteAttribute + public var height: UInt32 - @inlinable public var poster: String { - get { jsObject[Strings.poster].fromJSValue()! } - set { jsObject[Strings.poster] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var videoWidth: UInt32 - @inlinable public var playsInline: Bool { - get { jsObject[Strings.playsInline].fromJSValue()! } - set { jsObject[Strings.playsInline] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var videoHeight: UInt32 + + @ReadWriteAttribute + public var poster: String + + @ReadWriteAttribute + public var playsInline: Bool } public enum HardwareAcceleration: JSString, JSValueCompatible { @@ -10641,101 +9822,107 @@ public enum HardwareAcceleration: JSString, JSValueCompatible { case preferSoftware = "prefer-software" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class HashChangeEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HashChangeEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HashChangeEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _oldURL = ReadonlyAttribute(jsObject: jsObject, name: Strings.oldURL) + _newURL = ReadonlyAttribute(jsObject: jsObject, name: Strings.newURL) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: HashChangeEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var oldURL: String { jsObject[Strings.oldURL].fromJSValue()! } + @ReadonlyAttribute + public var oldURL: String - @inlinable public var newURL: String { jsObject[Strings.newURL].fromJSValue()! } + @ReadonlyAttribute + public var newURL: String } -open class HashChangeEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - oldURL: String? = nil, - newURL: String? = nil - ) { +public class HashChangeEventInit: BridgedDictionary { + public convenience init(oldURL: String, newURL: String) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.oldURL] = _toJSValue(oldURL) object[Strings.newURL] = _toJSValue(newURL) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var oldURL: String { - get { jsObject[Strings.oldURL].fromJSValue()! } - set { jsObject[Strings.oldURL] = _toJSValue(newValue) } - } - @inlinable public var newURL: String { - get { jsObject[Strings.newURL].fromJSValue()! } - set { jsObject[Strings.newURL] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _oldURL = ReadWriteAttribute(jsObject: object, name: Strings.oldURL) + _newURL = ReadWriteAttribute(jsObject: object, name: Strings.newURL) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var oldURL: String? + + @ReadWriteAttribute + public var newURL: String? } + public class Headers: JSBridgedClass, Sequence { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Headers].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable public convenience init(`init`: HeadersInit? = nil) { + @inlinable public convenience init(init: HeadersInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable final public func append(name: String, value: String) { + @inlinable public func append(name: String, value: String) { let this = jsObject _ = this[Strings.append].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @inlinable final public func delete(name: String) { + @inlinable public func delete(name: String) { let this = jsObject _ = this[Strings.delete].function!(this: this, arguments: [_toJSValue(name)]) } - @inlinable final public func get(name: String) -> String? { + @inlinable public func get(name: String) -> String? { let this = jsObject return this[Strings.get].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable final public func getSetCookie() -> [String] { + @inlinable public func getSetCookie() -> [String] { let this = jsObject return this[Strings.getSetCookie].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func has(name: String) -> Bool { + @inlinable public func has(name: String) -> Bool { let this = jsObject return this[Strings.has].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @inlinable final public func set(name: String, value: String) { + @inlinable public func set(name: String, value: String) { let this = jsObject _ = this[Strings.set].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } public typealias Element = String - public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } + public func makeIterator() -> ValueIterableIterator { + ValueIterableIterator(sequence: self) + } } public class History: JSBridgedClass { @@ -10743,46 +9930,45 @@ public class History: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + _scrollRestoration = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollRestoration) + _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) + self.jsObject = jsObject + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public var scrollRestoration: ScrollRestoration { - get { jsObject[Strings.scrollRestoration].fromJSValue()! } - set { jsObject[Strings.scrollRestoration] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var scrollRestoration: ScrollRestoration - @inlinable public var state: JSValue { jsObject[Strings.state].fromJSValue()! } + @ReadonlyAttribute + public var state: JSValue - @inlinable final public func go(delta: Int32? = nil) { + @inlinable public func go(delta: Int32? = nil) { let this = jsObject _ = this[Strings.go].function!(this: this, arguments: [_toJSValue(delta)]) } - @inlinable final public func back() { + @inlinable public func back() { let this = jsObject _ = this[Strings.back].function!(this: this, arguments: []) } - @inlinable final public func forward() { + @inlinable public func forward() { let this = jsObject _ = this[Strings.forward].function!(this: this, arguments: []) } - @inlinable final public func pushState(data: JSValue, unused: String, url: String? = nil) { + @inlinable public func pushState(data: JSValue, unused: String, url: String? = nil) { let this = jsObject - _ = this[Strings.pushState].function!( - this: this, - arguments: [_toJSValue(data), _toJSValue(unused), _toJSValue(url)] - ) + _ = this[Strings.pushState].function!(this: this, arguments: [_toJSValue(data), _toJSValue(unused), _toJSValue(url)]) } - @inlinable final public func replaceState(data: JSValue, unused: String, url: String? = nil) { + @inlinable public func replaceState(data: JSValue, unused: String, url: String? = nil) { let this = jsObject - _ = this[Strings.replaceState].function!( - this: this, - arguments: [_toJSValue(data), _toJSValue(unused), _toJSValue(url)] - ) + _ = this[Strings.replaceState].function!(this: this, arguments: [_toJSValue(data), _toJSValue(unused), _toJSValue(url)]) } } @@ -10791,29 +9977,26 @@ public class ImageBitmap: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) + self.jsObject = jsObject + } - @inlinable public var width: UInt32 { jsObject[Strings.width].fromJSValue()! } + @ReadonlyAttribute + public var width: UInt32 - @inlinable public var height: UInt32 { jsObject[Strings.height].fromJSValue()! } + @ReadonlyAttribute + public var height: UInt32 - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } } -open class ImageBitmapOptions: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - imageOrientation: ImageOrientation? = nil, - premultiplyAlpha: PremultiplyAlpha? = nil, - colorSpaceConversion: ColorSpaceConversion? = nil, - resizeWidth: UInt32? = nil, - resizeHeight: UInt32? = nil, - resizeQuality: ResizeQuality? = nil - ) { +public class ImageBitmapOptions: BridgedDictionary { + public convenience init(imageOrientation: ImageOrientation, premultiplyAlpha: PremultiplyAlpha, colorSpaceConversion: ColorSpaceConversion, resizeWidth: UInt32, resizeHeight: UInt32, resizeQuality: ResizeQuality) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.imageOrientation] = _toJSValue(imageOrientation) object[Strings.premultiplyAlpha] = _toJSValue(premultiplyAlpha) @@ -10821,208 +10004,212 @@ open class ImageBitmapOptions: JSDictionaryCompatible { object[Strings.resizeWidth] = _toJSValue(resizeWidth) object[Strings.resizeHeight] = _toJSValue(resizeHeight) object[Strings.resizeQuality] = _toJSValue(resizeQuality) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var imageOrientation: ImageOrientation { - get { jsObject[Strings.imageOrientation].fromJSValue()! } - set { jsObject[Strings.imageOrientation] = _toJSValue(newValue) } - } - @inlinable public var premultiplyAlpha: PremultiplyAlpha { - get { jsObject[Strings.premultiplyAlpha].fromJSValue()! } - set { jsObject[Strings.premultiplyAlpha] = _toJSValue(newValue) } - } - @inlinable public var colorSpaceConversion: ColorSpaceConversion { - get { jsObject[Strings.colorSpaceConversion].fromJSValue()! } - set { jsObject[Strings.colorSpaceConversion] = _toJSValue(newValue) } - } - @inlinable public var resizeWidth: UInt32 { - get { jsObject[Strings.resizeWidth].fromJSValue()! } - set { jsObject[Strings.resizeWidth] = _toJSValue(newValue) } - } - @inlinable public var resizeHeight: UInt32 { - get { jsObject[Strings.resizeHeight].fromJSValue()! } - set { jsObject[Strings.resizeHeight] = _toJSValue(newValue) } - } - @inlinable public var resizeQuality: ResizeQuality { - get { jsObject[Strings.resizeQuality].fromJSValue()! } - set { jsObject[Strings.resizeQuality] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _imageOrientation = ReadWriteAttribute(jsObject: object, name: Strings.imageOrientation) + _premultiplyAlpha = ReadWriteAttribute(jsObject: object, name: Strings.premultiplyAlpha) + _colorSpaceConversion = ReadWriteAttribute(jsObject: object, name: Strings.colorSpaceConversion) + _resizeWidth = ReadWriteAttribute(jsObject: object, name: Strings.resizeWidth) + _resizeHeight = ReadWriteAttribute(jsObject: object, name: Strings.resizeHeight) + _resizeQuality = ReadWriteAttribute(jsObject: object, name: Strings.resizeQuality) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var imageOrientation: ImageOrientation? + + @ReadWriteAttribute + public var premultiplyAlpha: PremultiplyAlpha? + + @ReadWriteAttribute + public var colorSpaceConversion: ColorSpaceConversion? + + @ReadWriteAttribute + public var resizeWidth: UInt32? + + @ReadWriteAttribute + public var resizeHeight: UInt32? + + @ReadWriteAttribute + public var resizeQuality: ResizeQuality? } + public class ImageBitmapRenderingContext: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { - JSObject.global[Strings.ImageBitmapRenderingContext].function - } + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ImageBitmapRenderingContext].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _canvas = ReadonlyAttribute(jsObject: jsObject, name: Strings.canvas) + self.jsObject = jsObject + } - @inlinable public var canvas: HTMLCanvasElement_or_OffscreenCanvas { jsObject[Strings.canvas].fromJSValue()! } + @ReadonlyAttribute + public var canvas: HTMLCanvasElement_or_OffscreenCanvas - @inlinable final public func transferFromImageBitmap(bitmap: ImageBitmap?) { + @inlinable public func transferFromImageBitmap(bitmap: ImageBitmap?) { let this = jsObject _ = this[Strings.transferFromImageBitmap].function!(this: this, arguments: [_toJSValue(bitmap)]) } } -open class ImageBitmapRenderingContextSettings: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(alpha: Bool? = nil) { +public class ImageBitmapRenderingContextSettings: BridgedDictionary { + public convenience init(alpha: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.alpha] = _toJSValue(alpha) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var alpha: Bool { - get { jsObject[Strings.alpha].fromJSValue()! } - set { jsObject[Strings.alpha] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var alpha: Bool? } + public class ImageData: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ImageData].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) + _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) + _colorSpace = ReadonlyAttribute(jsObject: jsObject, name: Strings.colorSpace) + self.jsObject = jsObject + } @inlinable public convenience init(sw: UInt32, sh: UInt32, settings: ImageDataSettings? = nil) { - self.init( - unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(sw), _toJSValue(sh), _toJSValue(settings)]) - ) + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(sw), _toJSValue(sh), _toJSValue(settings)])) } - @inlinable public convenience init( - data: Uint8ClampedArray, - sw: UInt32, - sh: UInt32? = nil, - settings: ImageDataSettings? = nil - ) { - self.init( - unsafelyWrapping: Self.constructor!.new(arguments: [ - _toJSValue(data), _toJSValue(sw), _toJSValue(sh), _toJSValue(settings), - ]) - ) + @inlinable public convenience init(data: Uint8ClampedArray, sw: UInt32, sh: UInt32? = nil, settings: ImageDataSettings? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(data), _toJSValue(sw), _toJSValue(sh), _toJSValue(settings)])) } - @inlinable public var width: UInt32 { jsObject[Strings.width].fromJSValue()! } + @ReadonlyAttribute + public var width: UInt32 - @inlinable public var height: UInt32 { jsObject[Strings.height].fromJSValue()! } + @ReadonlyAttribute + public var height: UInt32 - @inlinable public var data: Uint8ClampedArray { jsObject[Strings.data].fromJSValue()! } + @ReadonlyAttribute + public var data: Uint8ClampedArray - @inlinable public var colorSpace: PredefinedColorSpace { jsObject[Strings.colorSpace].fromJSValue()! } + @ReadonlyAttribute + public var colorSpace: PredefinedColorSpace } -open class ImageDataSettings: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(colorSpace: PredefinedColorSpace? = nil) { +public class ImageDataSettings: BridgedDictionary { + public convenience init(colorSpace: PredefinedColorSpace) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.colorSpace] = _toJSValue(colorSpace) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var colorSpace: PredefinedColorSpace { - get { jsObject[Strings.colorSpace].fromJSValue()! } - set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var colorSpace: PredefinedColorSpace? } -open class ImageDecodeOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(frameIndex: UInt32? = nil, completeFramesOnly: Bool? = nil) { +public class ImageDecodeOptions: BridgedDictionary { + public convenience init(frameIndex: UInt32, completeFramesOnly: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.frameIndex] = _toJSValue(frameIndex) object[Strings.completeFramesOnly] = _toJSValue(completeFramesOnly) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var frameIndex: UInt32 { - get { jsObject[Strings.frameIndex].fromJSValue()! } - set { jsObject[Strings.frameIndex] = _toJSValue(newValue) } - } - @inlinable public var completeFramesOnly: Bool { - get { jsObject[Strings.completeFramesOnly].fromJSValue()! } - set { jsObject[Strings.completeFramesOnly] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _frameIndex = ReadWriteAttribute(jsObject: object, name: Strings.frameIndex) + _completeFramesOnly = ReadWriteAttribute(jsObject: object, name: Strings.completeFramesOnly) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var frameIndex: UInt32? + + @ReadWriteAttribute + public var completeFramesOnly: Bool? } -open class ImageDecodeResult: JSDictionaryCompatible { - public let jsObject: JSObject +public class ImageDecodeResult: BridgedDictionary { public convenience init(image: VideoFrame, complete: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.image] = _toJSValue(image) object[Strings.complete] = _toJSValue(complete) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var image: VideoFrame { - get { jsObject[Strings.image].fromJSValue()! } - set { jsObject[Strings.image] = _toJSValue(newValue) } - } - @inlinable public var complete: Bool { - get { jsObject[Strings.complete].fromJSValue()! } - set { jsObject[Strings.complete] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _image = ReadWriteAttribute(jsObject: object, name: Strings.image) + _complete = ReadWriteAttribute(jsObject: object, name: Strings.complete) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var image: VideoFrame + + @ReadWriteAttribute + public var complete: Bool } + public class ImageDecoder: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ImageDecoder].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + _complete = ReadonlyAttribute(jsObject: jsObject, name: Strings.complete) + _completed = ReadonlyAttribute(jsObject: jsObject, name: Strings.completed) + _tracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.tracks) + self.jsObject = jsObject + } - @inlinable public convenience init(`init`: ImageDecoderInit) { + @inlinable public convenience init(init: ImageDecoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } + @ReadonlyAttribute + public var type: String - @inlinable public var complete: Bool { jsObject[Strings.complete].fromJSValue()! } + @ReadonlyAttribute + public var complete: Bool - @inlinable public var completed: JSPromise { jsObject[Strings.completed].fromJSValue()! } + @ReadonlyAttribute + public var completed: JSPromise - @inlinable public var tracks: ImageTrackList { jsObject[Strings.tracks].fromJSValue()! } + @ReadonlyAttribute + public var tracks: ImageTrackList - @inlinable final public func decode(options: ImageDecodeOptions? = nil) -> JSPromise { + @inlinable public func decode(options: ImageDecodeOptions? = nil) -> JSPromise { let this = jsObject return this[Strings.decode].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func decode( - options: ImageDecodeOptions? = nil - ) async throws(JSException) -> ImageDecodeResult { - let this = jsObject - let _promise: JSPromise = this[Strings.decode].function!(this: this, arguments: [_toJSValue(options)]) - .fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func decode(options: ImageDecodeOptions? = nil) async throws -> ImageDecodeResult { + let this = jsObject + let _promise: JSPromise = this[Strings.decode].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func reset() { + @inlinable public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -11032,30 +10219,16 @@ public class ImageDecoder: JSBridgedClass { return this[Strings.isTypeSupported].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isTypeSupported( - type: String - ) async throws(JSException) -> Bool { - let this = constructor! - let _promise: JSPromise = this[Strings.isTypeSupported].function!(this: this, arguments: [_toJSValue(type)]) - .fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public class func isTypeSupported(type: String) async throws -> Bool { + let this = constructor! + let _promise: JSPromise = this[Strings.isTypeSupported].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } } -open class ImageDecoderInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - type: String, - data: ImageBufferSource, - colorSpaceConversion: ColorSpaceConversion? = nil, - desiredWidth: UInt32? = nil, - desiredHeight: UInt32? = nil, - preferAnimation: Bool? = nil, - transfer: [ArrayBuffer]? = nil - ) { +public class ImageDecoderInit: BridgedDictionary { + public convenience init(type: String, data: ImageBufferSource, colorSpaceConversion: ColorSpaceConversion, desiredWidth: UInt32, desiredHeight: UInt32, preferAnimation: Bool, transfer: [ArrayBuffer]) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.data] = _toJSValue(data) @@ -11064,107 +10237,124 @@ open class ImageDecoderInit: JSDictionaryCompatible { object[Strings.desiredHeight] = _toJSValue(desiredHeight) object[Strings.preferAnimation] = _toJSValue(preferAnimation) object[Strings.transfer] = _toJSValue(transfer) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } - @inlinable public var data: ImageBufferSource { - get { jsObject[Strings.data].fromJSValue()! } - set { jsObject[Strings.data] = _toJSValue(newValue) } - } - @inlinable public var colorSpaceConversion: ColorSpaceConversion { - get { jsObject[Strings.colorSpaceConversion].fromJSValue()! } - set { jsObject[Strings.colorSpaceConversion] = _toJSValue(newValue) } - } - @inlinable public var desiredWidth: UInt32 { - get { jsObject[Strings.desiredWidth].fromJSValue()! } - set { jsObject[Strings.desiredWidth] = _toJSValue(newValue) } - } - @inlinable public var desiredHeight: UInt32 { - get { jsObject[Strings.desiredHeight].fromJSValue()! } - set { jsObject[Strings.desiredHeight] = _toJSValue(newValue) } - } - @inlinable public var preferAnimation: Bool { - get { jsObject[Strings.preferAnimation].fromJSValue()! } - set { jsObject[Strings.preferAnimation] = _toJSValue(newValue) } - } - @inlinable public var transfer: [ArrayBuffer] { - get { jsObject[Strings.transfer].fromJSValue()! } - set { jsObject[Strings.transfer] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _type = ReadWriteAttribute(jsObject: object, name: Strings.type) + _data = ReadWriteAttribute(jsObject: object, name: Strings.data) + _colorSpaceConversion = ReadWriteAttribute(jsObject: object, name: Strings.colorSpaceConversion) + _desiredWidth = ReadWriteAttribute(jsObject: object, name: Strings.desiredWidth) + _desiredHeight = ReadWriteAttribute(jsObject: object, name: Strings.desiredHeight) + _preferAnimation = ReadWriteAttribute(jsObject: object, name: Strings.preferAnimation) + _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var type: String + + @ReadWriteAttribute + public var data: ImageBufferSource + + @ReadWriteAttribute + public var colorSpaceConversion: ColorSpaceConversion? + + @ReadWriteAttribute + public var desiredWidth: UInt32? + + @ReadWriteAttribute + public var desiredHeight: UInt32? + + @ReadWriteAttribute + public var preferAnimation: Bool? + + @ReadWriteAttribute + public var transfer: [ArrayBuffer]? } -open class ImageEncodeOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(type: String? = nil, quality: Double? = nil) { +public class ImageEncodeOptions: BridgedDictionary { + public convenience init(type: String, quality: Double) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.quality] = _toJSValue(quality) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } - @inlinable public var quality: Double { - get { jsObject[Strings.quality].fromJSValue()! } - set { jsObject[Strings.quality] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _type = ReadWriteAttribute(jsObject: object, name: Strings.type) + _quality = ReadWriteAttribute(jsObject: object, name: Strings.quality) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var type: String? + + @ReadWriteAttribute + public var quality: Double? } + public enum ImageOrientation: JSString, JSValueCompatible { case fromImage = "from-image" case flipY = "flipY" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum ImageSmoothingQuality: JSString, JSValueCompatible { case low = "low" case medium = "medium" case high = "high" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class ImageTrack: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ImageTrack].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _animated = ReadonlyAttribute(jsObject: jsObject, name: Strings.animated) + _frameCount = ReadonlyAttribute(jsObject: jsObject, name: Strings.frameCount) + _repetitionCount = ReadonlyAttribute(jsObject: jsObject, name: Strings.repetitionCount) + _selected = ReadWriteAttribute(jsObject: jsObject, name: Strings.selected) + self.jsObject = jsObject + } - @inlinable public var animated: Bool { jsObject[Strings.animated].fromJSValue()! } + @ReadonlyAttribute + public var animated: Bool - @inlinable public var frameCount: UInt32 { jsObject[Strings.frameCount].fromJSValue()! } + @ReadonlyAttribute + public var frameCount: UInt32 - @inlinable public var repetitionCount: Float { jsObject[Strings.repetitionCount].fromJSValue()! } + @ReadonlyAttribute + public var repetitionCount: Float - @inlinable public var selected: Bool { - get { jsObject[Strings.selected].fromJSValue()! } - set { jsObject[Strings.selected] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var selected: Bool } public class ImageTrackList: JSBridgedClass { @@ -11172,86 +10362,111 @@ public class ImageTrackList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _ready = ReadonlyAttribute(jsObject: jsObject, name: Strings.ready) + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + _selectedIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.selectedIndex) + _selectedTrack = ReadonlyAttribute(jsObject: jsObject, name: Strings.selectedTrack) + self.jsObject = jsObject + } - @inlinable public subscript(key: Int) -> ImageTrack { jsObject[key].fromJSValue()! } + @inlinable public subscript(key: Int) -> ImageTrack { + jsObject[key].fromJSValue()! + } - @inlinable public var ready: JSPromise { jsObject[Strings.ready].fromJSValue()! } + @ReadonlyAttribute + public var ready: JSPromise - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public var selectedIndex: Int32 { jsObject[Strings.selectedIndex].fromJSValue()! } + @ReadonlyAttribute + public var selectedIndex: Int32 - @inlinable public var selectedTrack: ImageTrack? { jsObject[Strings.selectedTrack].fromJSValue() } + @ReadonlyAttribute + public var selectedTrack: ImageTrack? } public class InputDeviceInfo: MediaDeviceInfo { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.InputDeviceInfo].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.InputDeviceInfo].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } - @inlinable final public func getCapabilities() -> MediaTrackCapabilities { + @inlinable public func getCapabilities() -> MediaTrackCapabilities { let this = jsObject return this[Strings.getCapabilities].function!(this: this, arguments: []).fromJSValue()! } } public class InputEvent: UIEvent { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.InputEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.InputEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) + _isComposing = ReadonlyAttribute(jsObject: jsObject, name: Strings.isComposing) + _inputType = ReadonlyAttribute(jsObject: jsObject, name: Strings.inputType) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: InputEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var data: String? { jsObject[Strings.data].fromJSValue() } + @ReadonlyAttribute + public var data: String? - @inlinable public var isComposing: Bool { jsObject[Strings.isComposing].fromJSValue()! } + @ReadonlyAttribute + public var isComposing: Bool - @inlinable public var inputType: String { jsObject[Strings.inputType].fromJSValue()! } + @ReadonlyAttribute + public var inputType: String } -open class InputEventInit: UIEventInit { - - public convenience init( - view: Window?, - detail: Int32? = nil, - which: UInt32? = nil, - data: String?, - isComposing: Bool? = nil, - inputType: String? = nil - ) { +public class InputEventInit: BridgedDictionary { + public convenience init(data: String?, isComposing: Bool, inputType: String) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.view] = _toJSValue(view) - object[Strings.detail] = _toJSValue(detail) - object[Strings.which] = _toJSValue(which) object[Strings.data] = _toJSValue(data) object[Strings.isComposing] = _toJSValue(isComposing) object[Strings.inputType] = _toJSValue(inputType) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var data: String? { - get { jsObject[Strings.data].fromJSValue() } - set { jsObject[Strings.data] = _toJSValue(newValue) } - } - @inlinable public var isComposing: Bool { - get { jsObject[Strings.isComposing].fromJSValue()! } - set { jsObject[Strings.isComposing] = _toJSValue(newValue) } - } - @inlinable public var inputType: String { - get { jsObject[Strings.inputType].fromJSValue()! } - set { jsObject[Strings.inputType] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _data = ReadWriteAttribute(jsObject: object, name: Strings.data) + _isComposing = ReadWriteAttribute(jsObject: object, name: Strings.isComposing) + _inputType = ReadWriteAttribute(jsObject: object, name: Strings.inputType) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var data: String? + + @ReadWriteAttribute + public var isComposing: Bool? + + @ReadWriteAttribute + public var inputType: String? } -public class KeyboardEvent: UIEvent { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.KeyboardEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } +public class KeyboardEvent: UIEvent { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.KeyboardEvent].function } + + public required init(unsafelyWrapping jsObject: JSObject) { + _key = ReadonlyAttribute(jsObject: jsObject, name: Strings.key) + _code = ReadonlyAttribute(jsObject: jsObject, name: Strings.code) + _location = ReadonlyAttribute(jsObject: jsObject, name: Strings.location) + _ctrlKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.ctrlKey) + _shiftKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.shiftKey) + _altKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.altKey) + _metaKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.metaKey) + _repeat = ReadonlyAttribute(jsObject: jsObject, name: Strings.repeat) + _isComposing = ReadonlyAttribute(jsObject: jsObject, name: Strings.isComposing) + _charCode = ReadonlyAttribute(jsObject: jsObject, name: Strings.charCode) + _keyCode = ReadonlyAttribute(jsObject: jsObject, name: Strings.keyCode) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: KeyboardEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) @@ -11265,224 +10480,185 @@ public class KeyboardEvent: UIEvent { public static let DOM_KEY_LOCATION_NUMPAD: UInt32 = 0x03 - @inlinable public var key: String { jsObject[Strings.key].fromJSValue()! } + @ReadonlyAttribute + public var key: String - @inlinable public var code: String { jsObject[Strings.code].fromJSValue()! } + @ReadonlyAttribute + public var code: String - @inlinable public var location: UInt32 { jsObject[Strings.location].fromJSValue()! } + @ReadonlyAttribute + public var location: UInt32 - @inlinable public var ctrlKey: Bool { jsObject[Strings.ctrlKey].fromJSValue()! } + @ReadonlyAttribute + public var ctrlKey: Bool - @inlinable public var shiftKey: Bool { jsObject[Strings.shiftKey].fromJSValue()! } + @ReadonlyAttribute + public var shiftKey: Bool - @inlinable public var altKey: Bool { jsObject[Strings.altKey].fromJSValue()! } + @ReadonlyAttribute + public var altKey: Bool - @inlinable public var metaKey: Bool { jsObject[Strings.metaKey].fromJSValue()! } + @ReadonlyAttribute + public var metaKey: Bool - @inlinable public var `repeat`: Bool { jsObject[Strings.`repeat`].fromJSValue()! } + @ReadonlyAttribute + public var `repeat`: Bool - @inlinable public var isComposing: Bool { jsObject[Strings.isComposing].fromJSValue()! } + @ReadonlyAttribute + public var isComposing: Bool - @inlinable final public func getModifierState(keyArg: String) -> Bool { + @inlinable public func getModifierState(keyArg: String) -> Bool { let this = jsObject return this[Strings.getModifierState].function!(this: this, arguments: [_toJSValue(keyArg)]).fromJSValue()! } - @inlinable final public func initKeyboardEvent( - typeArg: String, - bubblesArg: Bool? = nil, - cancelableArg: Bool? = nil, - viewArg: Window? = nil, - keyArg: String? = nil, - locationArg: UInt32? = nil, - ctrlKey: Bool? = nil, - altKey: Bool? = nil, - shiftKey: Bool? = nil, - metaKey: Bool? = nil - ) { - let this = jsObject - _ = this[Strings.initKeyboardEvent].function!( - this: this, - arguments: [ - _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), - _toJSValue(keyArg), _toJSValue(locationArg), _toJSValue(ctrlKey), _toJSValue(altKey), - _toJSValue(shiftKey), _toJSValue(metaKey), - ] - ) - } - - @inlinable public var charCode: UInt32 { jsObject[Strings.charCode].fromJSValue()! } - - @inlinable public var keyCode: UInt32 { jsObject[Strings.keyCode].fromJSValue()! } -} - -open class KeyboardEventInit: EventModifierInit { - - public convenience init( - ctrlKey: Bool? = nil, - shiftKey: Bool? = nil, - altKey: Bool? = nil, - metaKey: Bool? = nil, - modifierAltGraph: Bool? = nil, - modifierCapsLock: Bool? = nil, - modifierFn: Bool? = nil, - modifierFnLock: Bool? = nil, - modifierHyper: Bool? = nil, - modifierNumLock: Bool? = nil, - modifierScrollLock: Bool? = nil, - modifierSuper: Bool? = nil, - modifierSymbol: Bool? = nil, - modifierSymbolLock: Bool? = nil, - key: String? = nil, - code: String? = nil, - location: UInt32? = nil, - `repeat`: Bool? = nil, - isComposing: Bool? = nil, - charCode: UInt32? = nil, - keyCode: UInt32? = nil - ) { + @inlinable public func initKeyboardEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, viewArg: Window? = nil, keyArg: String? = nil, locationArg: UInt32? = nil, ctrlKey: Bool? = nil, altKey: Bool? = nil, shiftKey: Bool? = nil, metaKey: Bool? = nil) { + let this = jsObject + _ = this[Strings.initKeyboardEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), _toJSValue(keyArg), _toJSValue(locationArg), _toJSValue(ctrlKey), _toJSValue(altKey), _toJSValue(shiftKey), _toJSValue(metaKey)]) + } + + @ReadonlyAttribute + public var charCode: UInt32 + + @ReadonlyAttribute + public var keyCode: UInt32 +} + +public class KeyboardEventInit: BridgedDictionary { + public convenience init(key: String, code: String, location: UInt32, repeat: Bool, isComposing: Bool, charCode: UInt32, keyCode: UInt32) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.ctrlKey] = _toJSValue(ctrlKey) - object[Strings.shiftKey] = _toJSValue(shiftKey) - object[Strings.altKey] = _toJSValue(altKey) - object[Strings.metaKey] = _toJSValue(metaKey) - object[Strings.modifierAltGraph] = _toJSValue(modifierAltGraph) - object[Strings.modifierCapsLock] = _toJSValue(modifierCapsLock) - object[Strings.modifierFn] = _toJSValue(modifierFn) - object[Strings.modifierFnLock] = _toJSValue(modifierFnLock) - object[Strings.modifierHyper] = _toJSValue(modifierHyper) - object[Strings.modifierNumLock] = _toJSValue(modifierNumLock) - object[Strings.modifierScrollLock] = _toJSValue(modifierScrollLock) - object[Strings.modifierSuper] = _toJSValue(modifierSuper) - object[Strings.modifierSymbol] = _toJSValue(modifierSymbol) - object[Strings.modifierSymbolLock] = _toJSValue(modifierSymbolLock) object[Strings.key] = _toJSValue(key) object[Strings.code] = _toJSValue(code) object[Strings.location] = _toJSValue(location) - object[Strings.`repeat`] = _toJSValue(`repeat`) + object[Strings.repeat] = _toJSValue(`repeat`) object[Strings.isComposing] = _toJSValue(isComposing) object[Strings.charCode] = _toJSValue(charCode) object[Strings.keyCode] = _toJSValue(keyCode) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var key: String { - get { jsObject[Strings.key].fromJSValue()! } - set { jsObject[Strings.key] = _toJSValue(newValue) } - } - @inlinable public var code: String { - get { jsObject[Strings.code].fromJSValue()! } - set { jsObject[Strings.code] = _toJSValue(newValue) } - } - @inlinable public var location: UInt32 { - get { jsObject[Strings.location].fromJSValue()! } - set { jsObject[Strings.location] = _toJSValue(newValue) } - } - @inlinable public var `repeat`: Bool { - get { jsObject[Strings.`repeat`].fromJSValue()! } - set { jsObject[Strings.`repeat`] = _toJSValue(newValue) } - } - @inlinable public var isComposing: Bool { - get { jsObject[Strings.isComposing].fromJSValue()! } - set { jsObject[Strings.isComposing] = _toJSValue(newValue) } - } - @inlinable public var charCode: UInt32 { - get { jsObject[Strings.charCode].fromJSValue()! } - set { jsObject[Strings.charCode] = _toJSValue(newValue) } - } - @inlinable public var keyCode: UInt32 { - get { jsObject[Strings.keyCode].fromJSValue()! } - set { jsObject[Strings.keyCode] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _key = ReadWriteAttribute(jsObject: object, name: Strings.key) + _code = ReadWriteAttribute(jsObject: object, name: Strings.code) + _location = ReadWriteAttribute(jsObject: object, name: Strings.location) + _repeat = ReadWriteAttribute(jsObject: object, name: Strings.repeat) + _isComposing = ReadWriteAttribute(jsObject: object, name: Strings.isComposing) + _charCode = ReadWriteAttribute(jsObject: object, name: Strings.charCode) + _keyCode = ReadWriteAttribute(jsObject: object, name: Strings.keyCode) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var key: String? + + @ReadWriteAttribute + public var code: String? + + @ReadWriteAttribute + public var location: UInt32? + + @ReadWriteAttribute + public var `repeat`: Bool? + + @ReadWriteAttribute + public var isComposing: Bool? + + @ReadWriteAttribute + public var charCode: UInt32? + + @ReadWriteAttribute + public var keyCode: UInt32? } + public enum LatencyMode: JSString, JSValueCompatible { case quality = "quality" case realtime = "realtime" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class Location: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Location].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - - @inlinable public var href: String { - get { jsObject[Strings.href].fromJSValue()! } - set { jsObject[Strings.href] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _href = ReadWriteAttribute(jsObject: jsObject, name: Strings.href) + _origin = ReadonlyAttribute(jsObject: jsObject, name: Strings.origin) + _protocol = ReadWriteAttribute(jsObject: jsObject, name: Strings.protocol) + _host = ReadWriteAttribute(jsObject: jsObject, name: Strings.host) + _hostname = ReadWriteAttribute(jsObject: jsObject, name: Strings.hostname) + _port = ReadWriteAttribute(jsObject: jsObject, name: Strings.port) + _pathname = ReadWriteAttribute(jsObject: jsObject, name: Strings.pathname) + _search = ReadWriteAttribute(jsObject: jsObject, name: Strings.search) + _hash = ReadWriteAttribute(jsObject: jsObject, name: Strings.hash) + _ancestorOrigins = ReadonlyAttribute(jsObject: jsObject, name: Strings.ancestorOrigins) + self.jsObject = jsObject } - @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } + @ReadWriteAttribute + public var href: String - @inlinable public var `protocol`: String { - get { jsObject[Strings.`protocol`].fromJSValue()! } - set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var origin: String - @inlinable public var host: String { - get { jsObject[Strings.host].fromJSValue()! } - set { jsObject[Strings.host] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var `protocol`: String - @inlinable public var hostname: String { - get { jsObject[Strings.hostname].fromJSValue()! } - set { jsObject[Strings.hostname] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var host: String - @inlinable public var port: String { - get { jsObject[Strings.port].fromJSValue()! } - set { jsObject[Strings.port] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var hostname: String - @inlinable public var pathname: String { - get { jsObject[Strings.pathname].fromJSValue()! } - set { jsObject[Strings.pathname] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var port: String - @inlinable public var search: String { - get { jsObject[Strings.search].fromJSValue()! } - set { jsObject[Strings.search] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var pathname: String - @inlinable public var hash: String { - get { jsObject[Strings.hash].fromJSValue()! } - set { jsObject[Strings.hash] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var search: String - @inlinable final public func assign(url: String) { + @ReadWriteAttribute + public var hash: String + + @inlinable public func assign(url: String) { let this = jsObject _ = this[Strings.assign].function!(this: this, arguments: [_toJSValue(url)]) } - @inlinable final public func replace(url: String) { + @inlinable public func replace(url: String) { let this = jsObject _ = this[Strings.replace].function!(this: this, arguments: [_toJSValue(url)]) } - @inlinable final public func reload() { + @inlinable public func reload() { let this = jsObject _ = this[Strings.reload].function!(this: this, arguments: []) } - @inlinable public var ancestorOrigins: DOMStringList { jsObject[Strings.ancestorOrigins].fromJSValue()! } + @ReadonlyAttribute + public var ancestorOrigins: DOMStringList } public class MathMLElement: Element, GlobalEventHandlers, HTMLOrSVGElement { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MathMLElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MathMLElement].function } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } } public class MediaDeviceInfo: JSBridgedClass { @@ -11490,17 +10666,27 @@ public class MediaDeviceInfo: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _deviceId = ReadonlyAttribute(jsObject: jsObject, name: Strings.deviceId) + _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) + _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) + _groupId = ReadonlyAttribute(jsObject: jsObject, name: Strings.groupId) + self.jsObject = jsObject + } - @inlinable public var deviceId: String { jsObject[Strings.deviceId].fromJSValue()! } + @ReadonlyAttribute + public var deviceId: String - @inlinable public var kind: MediaDeviceKind { jsObject[Strings.kind].fromJSValue()! } + @ReadonlyAttribute + public var kind: MediaDeviceKind - @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } + @ReadonlyAttribute + public var label: String - @inlinable public var groupId: String { jsObject[Strings.groupId].fromJSValue()! } + @ReadonlyAttribute + public var groupId: String - @inlinable final public func toJSON() -> JSObject { + @inlinable public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -11512,70 +10698,58 @@ public enum MediaDeviceKind: JSString, JSValueCompatible { case videoinput = "videoinput" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -public class MediaDevices: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaDevices].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } +public class MediaDevices: EventTarget { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaDevices].function } - @inlinable public var ondevicechange: EventHandler { - get { - guard let function = jsObject[Strings.ondevicechange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondevicechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondevicechange] = .null - } - } + public required init(unsafelyWrapping jsObject: JSObject) { + _ondevicechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondevicechange) + super.init(unsafelyWrapping: jsObject) } - @inlinable final public func enumerateDevices() -> JSPromise { + @ClosureAttribute1Optional + public var ondevicechange: EventHandler + + @inlinable public func enumerateDevices() -> JSPromise { let this = jsObject return this[Strings.enumerateDevices].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func enumerateDevices() - async throws(JSException) -> [MediaDeviceInfo] - { - let this = jsObject - let _promise: JSPromise = this[Strings.enumerateDevices].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func enumerateDevices() async throws -> [MediaDeviceInfo] { + let this = jsObject + let _promise: JSPromise = this[Strings.enumerateDevices].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func getSupportedConstraints() -> MediaTrackSupportedConstraints { + @inlinable public func getSupportedConstraints() -> MediaTrackSupportedConstraints { let this = jsObject return this[Strings.getSupportedConstraints].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func getUserMedia(constraints: MediaStreamConstraints? = nil) -> JSPromise { + @inlinable public func getUserMedia(constraints: MediaStreamConstraints? = nil) -> JSPromise { let this = jsObject return this[Strings.getUserMedia].function!(this: this, arguments: [_toJSValue(constraints)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getUserMedia( - constraints: MediaStreamConstraints? = nil - ) async throws(JSException) -> MediaStream { - let this = jsObject - let _promise: JSPromise = this[Strings.getUserMedia].function!( - this: this, - arguments: [_toJSValue(constraints)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func getUserMedia(constraints: MediaStreamConstraints? = nil) async throws -> MediaStream { + let this = jsObject + let _promise: JSPromise = this[Strings.getUserMedia].function!(this: this, arguments: [_toJSValue(constraints)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } } public class MediaError: JSBridgedClass { @@ -11583,7 +10757,11 @@ public class MediaError: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _code = ReadonlyAttribute(jsObject: jsObject, name: Strings.code) + _message = ReadonlyAttribute(jsObject: jsObject, name: Strings.message) + self.jsObject = jsObject + } public static let MEDIA_ERR_ABORTED: UInt16 = 1 @@ -11593,217 +10771,164 @@ public class MediaError: JSBridgedClass { public static let MEDIA_ERR_SRC_NOT_SUPPORTED: UInt16 = 4 - @inlinable public var code: UInt16 { jsObject[Strings.code].fromJSValue()! } + @ReadonlyAttribute + public var code: UInt16 - @inlinable public var message: String { jsObject[Strings.message].fromJSValue()! } + @ReadonlyAttribute + public var message: String } public class MediaQueryList: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaQueryList].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaQueryList].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _media = ReadonlyAttribute(jsObject: jsObject, name: Strings.media) + _matches = ReadonlyAttribute(jsObject: jsObject, name: Strings.matches) + _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var media: String { jsObject[Strings.media].fromJSValue()! } + @ReadonlyAttribute + public var media: String - @inlinable public var matches: Bool { jsObject[Strings.matches].fromJSValue()! } + @ReadonlyAttribute + public var matches: Bool - @inlinable final public func addListener(callback: EventListener?) { + @inlinable public func addListener(callback: EventListener?) { let this = jsObject _ = this[Strings.addListener].function!(this: this, arguments: [_toJSValue(callback)]) } - @inlinable final public func removeListener(callback: EventListener?) { + @inlinable public func removeListener(callback: EventListener?) { let this = jsObject _ = this[Strings.removeListener].function!(this: this, arguments: [_toJSValue(callback)]) } - @inlinable public var onchange: EventHandler { - get { - guard let function = jsObject[Strings.onchange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onchange] = .null - } - } - } + @ClosureAttribute1Optional + public var onchange: EventHandler } public class MediaQueryListEvent: Event { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.MediaQueryListEvent].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaQueryListEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _media = ReadonlyAttribute(jsObject: jsObject, name: Strings.media) + _matches = ReadonlyAttribute(jsObject: jsObject, name: Strings.matches) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: MediaQueryListEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var media: String { jsObject[Strings.media].fromJSValue()! } + @ReadonlyAttribute + public var media: String - @inlinable public var matches: Bool { jsObject[Strings.matches].fromJSValue()! } + @ReadonlyAttribute + public var matches: Bool } -open class MediaQueryListEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - media: String? = nil, - matches: Bool? = nil - ) { +public class MediaQueryListEventInit: BridgedDictionary { + public convenience init(media: String, matches: Bool) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.media] = _toJSValue(media) object[Strings.matches] = _toJSValue(matches) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var media: String { - get { jsObject[Strings.media].fromJSValue()! } - set { jsObject[Strings.media] = _toJSValue(newValue) } - } - @inlinable public var matches: Bool { - get { jsObject[Strings.matches].fromJSValue()! } - set { jsObject[Strings.matches] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _media = ReadWriteAttribute(jsObject: object, name: Strings.media) + _matches = ReadWriteAttribute(jsObject: object, name: Strings.matches) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var media: String? + + @ReadWriteAttribute + public var matches: Bool? } -public class MediaRecorder: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaRecorder].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } +public class MediaRecorder: EventTarget { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaRecorder].function } + + public required init(unsafelyWrapping jsObject: JSObject) { + _stream = ReadonlyAttribute(jsObject: jsObject, name: Strings.stream) + _mimeType = ReadonlyAttribute(jsObject: jsObject, name: Strings.mimeType) + _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) + _onstart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstart) + _onstop = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstop) + _ondataavailable = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondataavailable) + _onpause = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onpause) + _onresume = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onresume) + _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) + _videoBitsPerSecond = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoBitsPerSecond) + _audioBitsPerSecond = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioBitsPerSecond) + _audioBitrateMode = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioBitrateMode) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(stream: MediaStream, options: MediaRecorderOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream), _toJSValue(options)])) } - @inlinable public var stream: MediaStream { jsObject[Strings.stream].fromJSValue()! } + @ReadonlyAttribute + public var stream: MediaStream - @inlinable public var mimeType: String { jsObject[Strings.mimeType].fromJSValue()! } + @ReadonlyAttribute + public var mimeType: String - @inlinable public var state: RecordingState { jsObject[Strings.state].fromJSValue()! } + @ReadonlyAttribute + public var state: RecordingState - @inlinable public var onstart: EventHandler { - get { - guard let function = jsObject[Strings.onstart].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onstart] = .null - } - } - } + @ClosureAttribute1Optional + public var onstart: EventHandler - @inlinable public var onstop: EventHandler { - get { - guard let function = jsObject[Strings.onstop].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onstop] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onstop] = .null - } - } - } + @ClosureAttribute1Optional + public var onstop: EventHandler - @inlinable public var ondataavailable: EventHandler { - get { - guard let function = jsObject[Strings.ondataavailable].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondataavailable] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondataavailable] = .null - } - } - } + @ClosureAttribute1Optional + public var ondataavailable: EventHandler - @inlinable public var onpause: EventHandler { - get { - guard let function = jsObject[Strings.onpause].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onpause] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onpause] = .null - } - } - } + @ClosureAttribute1Optional + public var onpause: EventHandler - @inlinable public var onresume: EventHandler { - get { - guard let function = jsObject[Strings.onresume].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onresume] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onresume] = .null - } - } - } + @ClosureAttribute1Optional + public var onresume: EventHandler - @inlinable public var onerror: EventHandler { - get { - guard let function = jsObject[Strings.onerror].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onerror] = .null - } - } - } + @ClosureAttribute1Optional + public var onerror: EventHandler - @inlinable public var videoBitsPerSecond: UInt32 { jsObject[Strings.videoBitsPerSecond].fromJSValue()! } + @ReadonlyAttribute + public var videoBitsPerSecond: UInt32 - @inlinable public var audioBitsPerSecond: UInt32 { jsObject[Strings.audioBitsPerSecond].fromJSValue()! } + @ReadonlyAttribute + public var audioBitsPerSecond: UInt32 - @inlinable public var audioBitrateMode: BitrateMode { jsObject[Strings.audioBitrateMode].fromJSValue()! } + @ReadonlyAttribute + public var audioBitrateMode: BitrateMode - @inlinable final public func start(timeslice: UInt32? = nil) { + @inlinable public func start(timeslice: UInt32? = nil) { let this = jsObject _ = this[Strings.start].function!(this: this, arguments: [_toJSValue(timeslice)]) } - @inlinable final public func stop() { + @inlinable public func stop() { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: []) } - @inlinable final public func pause() { + @inlinable public func pause() { let this = jsObject _ = this[Strings.pause].function!(this: this, arguments: []) } - @inlinable final public func resume() { + @inlinable public func resume() { let this = jsObject _ = this[Strings.resume].function!(this: this, arguments: []) } - @inlinable final public func requestData() { + @inlinable public func requestData() { let this = jsObject _ = this[Strings.requestData].function!(this: this, arguments: []) } @@ -11814,18 +10939,8 @@ public class MediaRecorder: EventTarget { } } -open class MediaRecorderOptions: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - mimeType: String? = nil, - audioBitsPerSecond: UInt32? = nil, - videoBitsPerSecond: UInt32? = nil, - bitsPerSecond: UInt32? = nil, - audioBitrateMode: BitrateMode? = nil, - videoKeyFrameIntervalDuration: DOMHighResTimeStamp? = nil, - videoKeyFrameIntervalCount: UInt32? = nil - ) { +public class MediaRecorderOptions: BridgedDictionary { + public convenience init(mimeType: String, audioBitsPerSecond: UInt32, videoBitsPerSecond: UInt32, bitsPerSecond: UInt32, audioBitrateMode: BitrateMode, videoKeyFrameIntervalDuration: DOMHighResTimeStamp, videoKeyFrameIntervalCount: UInt32) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.mimeType] = _toJSValue(mimeType) object[Strings.audioBitsPerSecond] = _toJSValue(audioBitsPerSecond) @@ -11834,128 +10949,110 @@ open class MediaRecorderOptions: JSDictionaryCompatible { object[Strings.audioBitrateMode] = _toJSValue(audioBitrateMode) object[Strings.videoKeyFrameIntervalDuration] = _toJSValue(videoKeyFrameIntervalDuration) object[Strings.videoKeyFrameIntervalCount] = _toJSValue(videoKeyFrameIntervalCount) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var mimeType: String { - get { jsObject[Strings.mimeType].fromJSValue()! } - set { jsObject[Strings.mimeType] = _toJSValue(newValue) } - } - @inlinable public var audioBitsPerSecond: UInt32 { - get { jsObject[Strings.audioBitsPerSecond].fromJSValue()! } - set { jsObject[Strings.audioBitsPerSecond] = _toJSValue(newValue) } - } - @inlinable public var videoBitsPerSecond: UInt32 { - get { jsObject[Strings.videoBitsPerSecond].fromJSValue()! } - set { jsObject[Strings.videoBitsPerSecond] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _mimeType = ReadWriteAttribute(jsObject: object, name: Strings.mimeType) + _audioBitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.audioBitsPerSecond) + _videoBitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.videoBitsPerSecond) + _bitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.bitsPerSecond) + _audioBitrateMode = ReadWriteAttribute(jsObject: object, name: Strings.audioBitrateMode) + _videoKeyFrameIntervalDuration = ReadWriteAttribute(jsObject: object, name: Strings.videoKeyFrameIntervalDuration) + _videoKeyFrameIntervalCount = ReadWriteAttribute(jsObject: object, name: Strings.videoKeyFrameIntervalCount) + super.init(unsafelyWrapping: object) } - @inlinable public var bitsPerSecond: UInt32 { - get { jsObject[Strings.bitsPerSecond].fromJSValue()! } - set { jsObject[Strings.bitsPerSecond] = _toJSValue(newValue) } - } - @inlinable public var audioBitrateMode: BitrateMode { - get { jsObject[Strings.audioBitrateMode].fromJSValue()! } - set { jsObject[Strings.audioBitrateMode] = _toJSValue(newValue) } - } - @inlinable public var videoKeyFrameIntervalDuration: DOMHighResTimeStamp { - get { jsObject[Strings.videoKeyFrameIntervalDuration].fromJSValue()! } - set { jsObject[Strings.videoKeyFrameIntervalDuration] = _toJSValue(newValue) } - } - @inlinable public var videoKeyFrameIntervalCount: UInt32 { - get { jsObject[Strings.videoKeyFrameIntervalCount].fromJSValue()! } - set { jsObject[Strings.videoKeyFrameIntervalCount] = _toJSValue(newValue) } - } -} -public class MediaSource: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaSource].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @ReadWriteAttribute + public var mimeType: String? - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @ReadWriteAttribute + public var audioBitsPerSecond: UInt32? - @inlinable public var handle: MediaSourceHandle { jsObject[Strings.handle].fromJSValue()! } + @ReadWriteAttribute + public var videoBitsPerSecond: UInt32? - @inlinable public var sourceBuffers: SourceBufferList { jsObject[Strings.sourceBuffers].fromJSValue()! } + @ReadWriteAttribute + public var bitsPerSecond: UInt32? - @inlinable public var activeSourceBuffers: SourceBufferList { jsObject[Strings.activeSourceBuffers].fromJSValue()! } + @ReadWriteAttribute + public var audioBitrateMode: BitrateMode? - @inlinable public var readyState: ReadyState { jsObject[Strings.readyState].fromJSValue()! } + @ReadWriteAttribute + public var videoKeyFrameIntervalDuration: DOMHighResTimeStamp? - @inlinable public var duration: Double { - get { jsObject[Strings.duration].fromJSValue()! } - set { jsObject[Strings.duration] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var videoKeyFrameIntervalCount: UInt32? +} - @inlinable public var onsourceopen: EventHandler { - get { - guard let function = jsObject[Strings.onsourceopen].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onsourceopen] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onsourceopen] = .null - } - } - } +public class MediaSource: EventTarget { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaSource].function } - @inlinable public var onsourceended: EventHandler { - get { - guard let function = jsObject[Strings.onsourceended].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onsourceended] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onsourceended] = .null - } - } + public required init(unsafelyWrapping jsObject: JSObject) { + _handle = ReadonlyAttribute(jsObject: jsObject, name: Strings.handle) + _sourceBuffers = ReadonlyAttribute(jsObject: jsObject, name: Strings.sourceBuffers) + _activeSourceBuffers = ReadonlyAttribute(jsObject: jsObject, name: Strings.activeSourceBuffers) + _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) + _duration = ReadWriteAttribute(jsObject: jsObject, name: Strings.duration) + _onsourceopen = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onsourceopen) + _onsourceended = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onsourceended) + _onsourceclose = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onsourceclose) + _canConstructInDedicatedWorker = ReadonlyAttribute(jsObject: jsObject, name: Strings.canConstructInDedicatedWorker) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var onsourceclose: EventHandler { - get { - guard let function = jsObject[Strings.onsourceclose].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onsourceclose] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onsourceclose] = .null - } - } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public var canConstructInDedicatedWorker: Bool { - jsObject[Strings.canConstructInDedicatedWorker].fromJSValue()! - } + @ReadonlyAttribute + public var handle: MediaSourceHandle + + @ReadonlyAttribute + public var sourceBuffers: SourceBufferList - @inlinable final public func addSourceBuffer(type: String) -> SourceBuffer { + @ReadonlyAttribute + public var activeSourceBuffers: SourceBufferList + + @ReadonlyAttribute + public var readyState: ReadyState + + @ReadWriteAttribute + public var duration: Double + + @ClosureAttribute1Optional + public var onsourceopen: EventHandler + + @ClosureAttribute1Optional + public var onsourceended: EventHandler + + @ClosureAttribute1Optional + public var onsourceclose: EventHandler + + @ReadonlyAttribute + public var canConstructInDedicatedWorker: Bool + + @inlinable public func addSourceBuffer(type: String) -> SourceBuffer { let this = jsObject return this[Strings.addSourceBuffer].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @inlinable final public func removeSourceBuffer(sourceBuffer: SourceBuffer) { + @inlinable public func removeSourceBuffer(sourceBuffer: SourceBuffer) { let this = jsObject _ = this[Strings.removeSourceBuffer].function!(this: this, arguments: [_toJSValue(sourceBuffer)]) } - @inlinable final public func endOfStream(error: EndOfStreamError? = nil) { + @inlinable public func endOfStream(error: EndOfStreamError? = nil) { let this = jsObject _ = this[Strings.endOfStream].function!(this: this, arguments: [_toJSValue(error)]) } - @inlinable final public func setLiveSeekableRange(start: Double, end: Double) { + @inlinable public func setLiveSeekableRange(start: Double, end: Double) { let this = jsObject _ = this[Strings.setLiveSeekableRange].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end)]) } - @inlinable final public func clearLiveSeekableRange() { + @inlinable public func clearLiveSeekableRange() { let this = jsObject _ = this[Strings.clearLiveSeekableRange].function!(this: this, arguments: []) } @@ -11971,16 +11068,25 @@ public class MediaSourceHandle: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } } public class MediaStream: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaStream].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaStream].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) + _active = ReadonlyAttribute(jsObject: jsObject, name: Strings.active) + _onaddtrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddtrack) + _onremovetrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovetrack) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } @inlinable public convenience init(stream: MediaStream) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream)])) @@ -11990,273 +11096,208 @@ public class MediaStream: EventTarget { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(tracks)])) } - @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } + @ReadonlyAttribute + public var id: String - @inlinable final public func getAudioTracks() -> [MediaStreamTrack] { + @inlinable public func getAudioTracks() -> [MediaStreamTrack] { let this = jsObject return this[Strings.getAudioTracks].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func getVideoTracks() -> [MediaStreamTrack] { + @inlinable public func getVideoTracks() -> [MediaStreamTrack] { let this = jsObject return this[Strings.getVideoTracks].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func getTracks() -> [MediaStreamTrack] { + @inlinable public func getTracks() -> [MediaStreamTrack] { let this = jsObject return this[Strings.getTracks].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func getTrackById(trackId: String) -> MediaStreamTrack? { + @inlinable public func getTrackById(trackId: String) -> MediaStreamTrack? { let this = jsObject return this[Strings.getTrackById].function!(this: this, arguments: [_toJSValue(trackId)]).fromJSValue() } - @inlinable final public func addTrack(track: MediaStreamTrack) { + @inlinable public func addTrack(track: MediaStreamTrack) { let this = jsObject _ = this[Strings.addTrack].function!(this: this, arguments: [_toJSValue(track)]) } - @inlinable final public func removeTrack(track: MediaStreamTrack) { + @inlinable public func removeTrack(track: MediaStreamTrack) { let this = jsObject _ = this[Strings.removeTrack].function!(this: this, arguments: [_toJSValue(track)]) } - @inlinable final public func clone() -> MediaStream { + @inlinable public func clone() -> Self { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var active: Bool { jsObject[Strings.active].fromJSValue()! } + @ReadonlyAttribute + public var active: Bool - @inlinable public var onaddtrack: EventHandler { - get { - guard let function = jsObject[Strings.onaddtrack].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onaddtrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onaddtrack] = .null - } - } - } + @ClosureAttribute1Optional + public var onaddtrack: EventHandler - @inlinable public var onremovetrack: EventHandler { - get { - guard let function = jsObject[Strings.onremovetrack].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onremovetrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onremovetrack] = .null - } - } - } + @ClosureAttribute1Optional + public var onremovetrack: EventHandler } -open class MediaStreamConstraints: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(video: Bool_or_MediaTrackConstraints? = nil, audio: Bool_or_MediaTrackConstraints? = nil) { +public class MediaStreamConstraints: BridgedDictionary { + public convenience init(video: Bool_or_MediaTrackConstraints, audio: Bool_or_MediaTrackConstraints) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.video] = _toJSValue(video) object[Strings.audio] = _toJSValue(audio) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var video: Bool_or_MediaTrackConstraints { - get { jsObject[Strings.video].fromJSValue()! } - set { jsObject[Strings.video] = _toJSValue(newValue) } - } - @inlinable public var audio: Bool_or_MediaTrackConstraints { - get { jsObject[Strings.audio].fromJSValue()! } - set { jsObject[Strings.audio] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _video = ReadWriteAttribute(jsObject: object, name: Strings.video) + _audio = ReadWriteAttribute(jsObject: object, name: Strings.audio) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var video: Bool_or_MediaTrackConstraints? + + @ReadWriteAttribute + public var audio: Bool_or_MediaTrackConstraints? } + public class MediaStreamTrack: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaStreamTrack].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaStreamTrack].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) + _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) + _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) + _enabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.enabled) + _muted = ReadonlyAttribute(jsObject: jsObject, name: Strings.muted) + _onmute = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmute) + _onunmute = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onunmute) + _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) + _onended = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onended) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var kind: String { jsObject[Strings.kind].fromJSValue()! } + @ReadonlyAttribute + public var kind: String - @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } + @ReadonlyAttribute + public var id: String - @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } + @ReadonlyAttribute + public var label: String - @inlinable public var enabled: Bool { - get { jsObject[Strings.enabled].fromJSValue()! } - set { jsObject[Strings.enabled] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var enabled: Bool - @inlinable public var muted: Bool { jsObject[Strings.muted].fromJSValue()! } + @ReadonlyAttribute + public var muted: Bool - @inlinable public var onmute: EventHandler { - get { - guard let function = jsObject[Strings.onmute].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmute] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmute] = .null - } - } - } + @ClosureAttribute1Optional + public var onmute: EventHandler - @inlinable public var onunmute: EventHandler { - get { - guard let function = jsObject[Strings.onunmute].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onunmute] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onunmute] = .null - } - } - } + @ClosureAttribute1Optional + public var onunmute: EventHandler - @inlinable public var readyState: MediaStreamTrackState { jsObject[Strings.readyState].fromJSValue()! } + @ReadonlyAttribute + public var readyState: MediaStreamTrackState - @inlinable public var onended: EventHandler { - get { - guard let function = jsObject[Strings.onended].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onended] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onended] = .null - } - } - } + @ClosureAttribute1Optional + public var onended: EventHandler - @inlinable final public func clone() -> MediaStreamTrack { + @inlinable public func clone() -> Self { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func stop() { + @inlinable public func stop() { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: []) } - @inlinable final public func getCapabilities() -> MediaTrackCapabilities { + @inlinable public func getCapabilities() -> MediaTrackCapabilities { let this = jsObject return this[Strings.getCapabilities].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func getConstraints() -> MediaTrackConstraints { + @inlinable public func getConstraints() -> MediaTrackConstraints { let this = jsObject return this[Strings.getConstraints].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func getSettings() -> MediaTrackSettings { + @inlinable public func getSettings() -> MediaTrackSettings { let this = jsObject return this[Strings.getSettings].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func applyConstraints(constraints: MediaTrackConstraints? = nil) -> JSPromise { + @inlinable public func applyConstraints(constraints: MediaTrackConstraints? = nil) -> JSPromise { let this = jsObject return this[Strings.applyConstraints].function!(this: this, arguments: [_toJSValue(constraints)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func applyConstraints( - constraints: MediaTrackConstraints? = nil - ) async throws(JSException) { - let this = jsObject - let _promise: JSPromise = this[Strings.applyConstraints].function!( - this: this, - arguments: [_toJSValue(constraints)] - ).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func applyConstraints(constraints: MediaTrackConstraints? = nil) async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.applyConstraints].function!(this: this, arguments: [_toJSValue(constraints)]).fromJSValue()! + _ = try await _promise.value + } } public class MediaStreamTrackEvent: Event { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.MediaStreamTrackEvent].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaStreamTrackEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _track = ReadonlyAttribute(jsObject: jsObject, name: Strings.track) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: MediaStreamTrackEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var track: MediaStreamTrack { jsObject[Strings.track].fromJSValue()! } + @ReadonlyAttribute + public var track: MediaStreamTrack } -open class MediaStreamTrackEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - track: MediaStreamTrack - ) { +public class MediaStreamTrackEventInit: BridgedDictionary { + public convenience init(track: MediaStreamTrack) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.track] = _toJSValue(track) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var track: MediaStreamTrack { - get { jsObject[Strings.track].fromJSValue()! } - set { jsObject[Strings.track] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _track = ReadWriteAttribute(jsObject: object, name: Strings.track) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var track: MediaStreamTrack } + public enum MediaStreamTrackState: JSString, JSValueCompatible { case live = "live" case ended = "ended" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -open class MediaTrackCapabilities: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - width: ULongRange? = nil, - height: ULongRange? = nil, - aspectRatio: DoubleRange? = nil, - frameRate: DoubleRange? = nil, - facingMode: [String]? = nil, - resizeMode: [String]? = nil, - sampleRate: ULongRange? = nil, - sampleSize: ULongRange? = nil, - echoCancellation: [Bool]? = nil, - autoGainControl: [Bool]? = nil, - noiseSuppression: [Bool]? = nil, - latency: DoubleRange? = nil, - channelCount: ULongRange? = nil, - deviceId: String? = nil, - groupId: String? = nil - ) { +public class MediaTrackCapabilities: BridgedDictionary { + public convenience init(width: ULongRange, height: ULongRange, aspectRatio: DoubleRange, frameRate: DoubleRange, facingMode: [String], resizeMode: [String], sampleRate: ULongRange, sampleSize: ULongRange, echoCancellation: [Bool], autoGainControl: [Bool], noiseSuppression: [Bool], latency: DoubleRange, channelCount: ULongRange, deviceId: String, groupId: String) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) @@ -12273,93 +11314,76 @@ open class MediaTrackCapabilities: JSDictionaryCompatible { object[Strings.channelCount] = _toJSValue(channelCount) object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.groupId] = _toJSValue(groupId) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var width: ULongRange { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } - @inlinable public var height: ULongRange { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } - @inlinable public var aspectRatio: DoubleRange { - get { jsObject[Strings.aspectRatio].fromJSValue()! } - set { jsObject[Strings.aspectRatio] = _toJSValue(newValue) } - } - @inlinable public var frameRate: DoubleRange { - get { jsObject[Strings.frameRate].fromJSValue()! } - set { jsObject[Strings.frameRate] = _toJSValue(newValue) } - } - @inlinable public var facingMode: [String] { - get { jsObject[Strings.facingMode].fromJSValue()! } - set { jsObject[Strings.facingMode] = _toJSValue(newValue) } - } - @inlinable public var resizeMode: [String] { - get { jsObject[Strings.resizeMode].fromJSValue()! } - set { jsObject[Strings.resizeMode] = _toJSValue(newValue) } - } - @inlinable public var sampleRate: ULongRange { - get { jsObject[Strings.sampleRate].fromJSValue()! } - set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } - } - @inlinable public var sampleSize: ULongRange { - get { jsObject[Strings.sampleSize].fromJSValue()! } - set { jsObject[Strings.sampleSize] = _toJSValue(newValue) } - } - @inlinable public var echoCancellation: [Bool] { - get { jsObject[Strings.echoCancellation].fromJSValue()! } - set { jsObject[Strings.echoCancellation] = _toJSValue(newValue) } - } - @inlinable public var autoGainControl: [Bool] { - get { jsObject[Strings.autoGainControl].fromJSValue()! } - set { jsObject[Strings.autoGainControl] = _toJSValue(newValue) } - } - @inlinable public var noiseSuppression: [Bool] { - get { jsObject[Strings.noiseSuppression].fromJSValue()! } - set { jsObject[Strings.noiseSuppression] = _toJSValue(newValue) } - } - @inlinable public var latency: DoubleRange { - get { jsObject[Strings.latency].fromJSValue()! } - set { jsObject[Strings.latency] = _toJSValue(newValue) } - } - @inlinable public var channelCount: ULongRange { - get { jsObject[Strings.channelCount].fromJSValue()! } - set { jsObject[Strings.channelCount] = _toJSValue(newValue) } - } - @inlinable public var deviceId: String { - get { jsObject[Strings.deviceId].fromJSValue()! } - set { jsObject[Strings.deviceId] = _toJSValue(newValue) } - } - @inlinable public var groupId: String { - get { jsObject[Strings.groupId].fromJSValue()! } - set { jsObject[Strings.groupId] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _width = ReadWriteAttribute(jsObject: object, name: Strings.width) + _height = ReadWriteAttribute(jsObject: object, name: Strings.height) + _aspectRatio = ReadWriteAttribute(jsObject: object, name: Strings.aspectRatio) + _frameRate = ReadWriteAttribute(jsObject: object, name: Strings.frameRate) + _facingMode = ReadWriteAttribute(jsObject: object, name: Strings.facingMode) + _resizeMode = ReadWriteAttribute(jsObject: object, name: Strings.resizeMode) + _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) + _sampleSize = ReadWriteAttribute(jsObject: object, name: Strings.sampleSize) + _echoCancellation = ReadWriteAttribute(jsObject: object, name: Strings.echoCancellation) + _autoGainControl = ReadWriteAttribute(jsObject: object, name: Strings.autoGainControl) + _noiseSuppression = ReadWriteAttribute(jsObject: object, name: Strings.noiseSuppression) + _latency = ReadWriteAttribute(jsObject: object, name: Strings.latency) + _channelCount = ReadWriteAttribute(jsObject: object, name: Strings.channelCount) + _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) + _groupId = ReadWriteAttribute(jsObject: object, name: Strings.groupId) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var width: ULongRange? + + @ReadWriteAttribute + public var height: ULongRange? + + @ReadWriteAttribute + public var aspectRatio: DoubleRange? + + @ReadWriteAttribute + public var frameRate: DoubleRange? + + @ReadWriteAttribute + public var facingMode: [String]? + + @ReadWriteAttribute + public var resizeMode: [String]? + + @ReadWriteAttribute + public var sampleRate: ULongRange? + + @ReadWriteAttribute + public var sampleSize: ULongRange? + + @ReadWriteAttribute + public var echoCancellation: [Bool]? + + @ReadWriteAttribute + public var autoGainControl: [Bool]? + + @ReadWriteAttribute + public var noiseSuppression: [Bool]? + + @ReadWriteAttribute + public var latency: DoubleRange? + + @ReadWriteAttribute + public var channelCount: ULongRange? + + @ReadWriteAttribute + public var deviceId: String? + + @ReadWriteAttribute + public var groupId: String? } -open class MediaTrackConstraintSet: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - width: ConstrainULong? = nil, - height: ConstrainULong? = nil, - aspectRatio: ConstrainDouble? = nil, - frameRate: ConstrainDouble? = nil, - facingMode: ConstrainDOMString? = nil, - resizeMode: ConstrainDOMString? = nil, - sampleRate: ConstrainULong? = nil, - sampleSize: ConstrainULong? = nil, - echoCancellation: ConstrainBoolean? = nil, - autoGainControl: ConstrainBoolean? = nil, - noiseSuppression: ConstrainBoolean? = nil, - latency: ConstrainDouble? = nil, - channelCount: ConstrainULong? = nil, - deviceId: ConstrainDOMString? = nil, - groupId: ConstrainDOMString? = nil - ) { +public class MediaTrackConstraintSet: BridgedDictionary { + public convenience init(width: ConstrainULong, height: ConstrainULong, aspectRatio: ConstrainDouble, frameRate: ConstrainDouble, facingMode: ConstrainDOMString, resizeMode: ConstrainDOMString, sampleRate: ConstrainULong, sampleSize: ConstrainULong, echoCancellation: ConstrainBoolean, autoGainControl: ConstrainBoolean, noiseSuppression: ConstrainBoolean, latency: ConstrainDouble, channelCount: ConstrainULong, deviceId: ConstrainDOMString, groupId: ConstrainDOMString) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) @@ -12376,141 +11400,92 @@ open class MediaTrackConstraintSet: JSDictionaryCompatible { object[Strings.channelCount] = _toJSValue(channelCount) object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.groupId] = _toJSValue(groupId) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var width: ConstrainULong { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } - @inlinable public var height: ConstrainULong { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } - @inlinable public var aspectRatio: ConstrainDouble { - get { jsObject[Strings.aspectRatio].fromJSValue()! } - set { jsObject[Strings.aspectRatio] = _toJSValue(newValue) } - } - @inlinable public var frameRate: ConstrainDouble { - get { jsObject[Strings.frameRate].fromJSValue()! } - set { jsObject[Strings.frameRate] = _toJSValue(newValue) } - } - @inlinable public var facingMode: ConstrainDOMString { - get { jsObject[Strings.facingMode].fromJSValue()! } - set { jsObject[Strings.facingMode] = _toJSValue(newValue) } - } - @inlinable public var resizeMode: ConstrainDOMString { - get { jsObject[Strings.resizeMode].fromJSValue()! } - set { jsObject[Strings.resizeMode] = _toJSValue(newValue) } - } - @inlinable public var sampleRate: ConstrainULong { - get { jsObject[Strings.sampleRate].fromJSValue()! } - set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } - } - @inlinable public var sampleSize: ConstrainULong { - get { jsObject[Strings.sampleSize].fromJSValue()! } - set { jsObject[Strings.sampleSize] = _toJSValue(newValue) } - } - @inlinable public var echoCancellation: ConstrainBoolean { - get { jsObject[Strings.echoCancellation].fromJSValue()! } - set { jsObject[Strings.echoCancellation] = _toJSValue(newValue) } - } - @inlinable public var autoGainControl: ConstrainBoolean { - get { jsObject[Strings.autoGainControl].fromJSValue()! } - set { jsObject[Strings.autoGainControl] = _toJSValue(newValue) } - } - @inlinable public var noiseSuppression: ConstrainBoolean { - get { jsObject[Strings.noiseSuppression].fromJSValue()! } - set { jsObject[Strings.noiseSuppression] = _toJSValue(newValue) } - } - @inlinable public var latency: ConstrainDouble { - get { jsObject[Strings.latency].fromJSValue()! } - set { jsObject[Strings.latency] = _toJSValue(newValue) } - } - @inlinable public var channelCount: ConstrainULong { - get { jsObject[Strings.channelCount].fromJSValue()! } - set { jsObject[Strings.channelCount] = _toJSValue(newValue) } - } - @inlinable public var deviceId: ConstrainDOMString { - get { jsObject[Strings.deviceId].fromJSValue()! } - set { jsObject[Strings.deviceId] = _toJSValue(newValue) } - } - @inlinable public var groupId: ConstrainDOMString { - get { jsObject[Strings.groupId].fromJSValue()! } - set { jsObject[Strings.groupId] = _toJSValue(newValue) } - } -} -open class MediaTrackConstraints: MediaTrackConstraintSet { - - public convenience init( - width: ConstrainULong? = nil, - height: ConstrainULong? = nil, - aspectRatio: ConstrainDouble? = nil, - frameRate: ConstrainDouble? = nil, - facingMode: ConstrainDOMString? = nil, - resizeMode: ConstrainDOMString? = nil, - sampleRate: ConstrainULong? = nil, - sampleSize: ConstrainULong? = nil, - echoCancellation: ConstrainBoolean? = nil, - autoGainControl: ConstrainBoolean? = nil, - noiseSuppression: ConstrainBoolean? = nil, - latency: ConstrainDouble? = nil, - channelCount: ConstrainULong? = nil, - deviceId: ConstrainDOMString? = nil, - groupId: ConstrainDOMString? = nil, - advanced: [MediaTrackConstraintSet]? = nil - ) { + public required init(unsafelyWrapping object: JSObject) { + _width = ReadWriteAttribute(jsObject: object, name: Strings.width) + _height = ReadWriteAttribute(jsObject: object, name: Strings.height) + _aspectRatio = ReadWriteAttribute(jsObject: object, name: Strings.aspectRatio) + _frameRate = ReadWriteAttribute(jsObject: object, name: Strings.frameRate) + _facingMode = ReadWriteAttribute(jsObject: object, name: Strings.facingMode) + _resizeMode = ReadWriteAttribute(jsObject: object, name: Strings.resizeMode) + _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) + _sampleSize = ReadWriteAttribute(jsObject: object, name: Strings.sampleSize) + _echoCancellation = ReadWriteAttribute(jsObject: object, name: Strings.echoCancellation) + _autoGainControl = ReadWriteAttribute(jsObject: object, name: Strings.autoGainControl) + _noiseSuppression = ReadWriteAttribute(jsObject: object, name: Strings.noiseSuppression) + _latency = ReadWriteAttribute(jsObject: object, name: Strings.latency) + _channelCount = ReadWriteAttribute(jsObject: object, name: Strings.channelCount) + _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) + _groupId = ReadWriteAttribute(jsObject: object, name: Strings.groupId) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var width: ConstrainULong? + + @ReadWriteAttribute + public var height: ConstrainULong? + + @ReadWriteAttribute + public var aspectRatio: ConstrainDouble? + + @ReadWriteAttribute + public var frameRate: ConstrainDouble? + + @ReadWriteAttribute + public var facingMode: ConstrainDOMString? + + @ReadWriteAttribute + public var resizeMode: ConstrainDOMString? + + @ReadWriteAttribute + public var sampleRate: ConstrainULong? + + @ReadWriteAttribute + public var sampleSize: ConstrainULong? + + @ReadWriteAttribute + public var echoCancellation: ConstrainBoolean? + + @ReadWriteAttribute + public var autoGainControl: ConstrainBoolean? + + @ReadWriteAttribute + public var noiseSuppression: ConstrainBoolean? + + @ReadWriteAttribute + public var latency: ConstrainDouble? + + @ReadWriteAttribute + public var channelCount: ConstrainULong? + + @ReadWriteAttribute + public var deviceId: ConstrainDOMString? + + @ReadWriteAttribute + public var groupId: ConstrainDOMString? +} + +public class MediaTrackConstraints: BridgedDictionary { + public convenience init(advanced: [MediaTrackConstraintSet]) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.width] = _toJSValue(width) - object[Strings.height] = _toJSValue(height) - object[Strings.aspectRatio] = _toJSValue(aspectRatio) - object[Strings.frameRate] = _toJSValue(frameRate) - object[Strings.facingMode] = _toJSValue(facingMode) - object[Strings.resizeMode] = _toJSValue(resizeMode) - object[Strings.sampleRate] = _toJSValue(sampleRate) - object[Strings.sampleSize] = _toJSValue(sampleSize) - object[Strings.echoCancellation] = _toJSValue(echoCancellation) - object[Strings.autoGainControl] = _toJSValue(autoGainControl) - object[Strings.noiseSuppression] = _toJSValue(noiseSuppression) - object[Strings.latency] = _toJSValue(latency) - object[Strings.channelCount] = _toJSValue(channelCount) - object[Strings.deviceId] = _toJSValue(deviceId) - object[Strings.groupId] = _toJSValue(groupId) object[Strings.advanced] = _toJSValue(advanced) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var advanced: [MediaTrackConstraintSet] { - get { jsObject[Strings.advanced].fromJSValue()! } - set { jsObject[Strings.advanced] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _advanced = ReadWriteAttribute(jsObject: object, name: Strings.advanced) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var advanced: [MediaTrackConstraintSet]? } -open class MediaTrackSettings: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - width: UInt32? = nil, - height: UInt32? = nil, - aspectRatio: Double? = nil, - frameRate: Double? = nil, - facingMode: String? = nil, - resizeMode: String? = nil, - sampleRate: UInt32? = nil, - sampleSize: UInt32? = nil, - echoCancellation: Bool? = nil, - autoGainControl: Bool? = nil, - noiseSuppression: Bool? = nil, - latency: Double? = nil, - channelCount: UInt32? = nil, - deviceId: String? = nil, - groupId: String? = nil - ) { +public class MediaTrackSettings: BridgedDictionary { + public convenience init(width: UInt32, height: UInt32, aspectRatio: Double, frameRate: Double, facingMode: String, resizeMode: String, sampleRate: UInt32, sampleSize: UInt32, echoCancellation: Bool, autoGainControl: Bool, noiseSuppression: Bool, latency: Double, channelCount: UInt32, deviceId: String, groupId: String) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) @@ -12527,93 +11502,76 @@ open class MediaTrackSettings: JSDictionaryCompatible { object[Strings.channelCount] = _toJSValue(channelCount) object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.groupId] = _toJSValue(groupId) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var width: UInt32 { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } - @inlinable public var height: UInt32 { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } - @inlinable public var aspectRatio: Double { - get { jsObject[Strings.aspectRatio].fromJSValue()! } - set { jsObject[Strings.aspectRatio] = _toJSValue(newValue) } - } - @inlinable public var frameRate: Double { - get { jsObject[Strings.frameRate].fromJSValue()! } - set { jsObject[Strings.frameRate] = _toJSValue(newValue) } - } - @inlinable public var facingMode: String { - get { jsObject[Strings.facingMode].fromJSValue()! } - set { jsObject[Strings.facingMode] = _toJSValue(newValue) } - } - @inlinable public var resizeMode: String { - get { jsObject[Strings.resizeMode].fromJSValue()! } - set { jsObject[Strings.resizeMode] = _toJSValue(newValue) } - } - @inlinable public var sampleRate: UInt32 { - get { jsObject[Strings.sampleRate].fromJSValue()! } - set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } - } - @inlinable public var sampleSize: UInt32 { - get { jsObject[Strings.sampleSize].fromJSValue()! } - set { jsObject[Strings.sampleSize] = _toJSValue(newValue) } - } - @inlinable public var echoCancellation: Bool { - get { jsObject[Strings.echoCancellation].fromJSValue()! } - set { jsObject[Strings.echoCancellation] = _toJSValue(newValue) } - } - @inlinable public var autoGainControl: Bool { - get { jsObject[Strings.autoGainControl].fromJSValue()! } - set { jsObject[Strings.autoGainControl] = _toJSValue(newValue) } - } - @inlinable public var noiseSuppression: Bool { - get { jsObject[Strings.noiseSuppression].fromJSValue()! } - set { jsObject[Strings.noiseSuppression] = _toJSValue(newValue) } - } - @inlinable public var latency: Double { - get { jsObject[Strings.latency].fromJSValue()! } - set { jsObject[Strings.latency] = _toJSValue(newValue) } - } - @inlinable public var channelCount: UInt32 { - get { jsObject[Strings.channelCount].fromJSValue()! } - set { jsObject[Strings.channelCount] = _toJSValue(newValue) } - } - @inlinable public var deviceId: String { - get { jsObject[Strings.deviceId].fromJSValue()! } - set { jsObject[Strings.deviceId] = _toJSValue(newValue) } - } - @inlinable public var groupId: String { - get { jsObject[Strings.groupId].fromJSValue()! } - set { jsObject[Strings.groupId] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _width = ReadWriteAttribute(jsObject: object, name: Strings.width) + _height = ReadWriteAttribute(jsObject: object, name: Strings.height) + _aspectRatio = ReadWriteAttribute(jsObject: object, name: Strings.aspectRatio) + _frameRate = ReadWriteAttribute(jsObject: object, name: Strings.frameRate) + _facingMode = ReadWriteAttribute(jsObject: object, name: Strings.facingMode) + _resizeMode = ReadWriteAttribute(jsObject: object, name: Strings.resizeMode) + _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) + _sampleSize = ReadWriteAttribute(jsObject: object, name: Strings.sampleSize) + _echoCancellation = ReadWriteAttribute(jsObject: object, name: Strings.echoCancellation) + _autoGainControl = ReadWriteAttribute(jsObject: object, name: Strings.autoGainControl) + _noiseSuppression = ReadWriteAttribute(jsObject: object, name: Strings.noiseSuppression) + _latency = ReadWriteAttribute(jsObject: object, name: Strings.latency) + _channelCount = ReadWriteAttribute(jsObject: object, name: Strings.channelCount) + _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) + _groupId = ReadWriteAttribute(jsObject: object, name: Strings.groupId) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var width: UInt32? + + @ReadWriteAttribute + public var height: UInt32? + + @ReadWriteAttribute + public var aspectRatio: Double? + + @ReadWriteAttribute + public var frameRate: Double? + + @ReadWriteAttribute + public var facingMode: String? + + @ReadWriteAttribute + public var resizeMode: String? + + @ReadWriteAttribute + public var sampleRate: UInt32? + + @ReadWriteAttribute + public var sampleSize: UInt32? + + @ReadWriteAttribute + public var echoCancellation: Bool? + + @ReadWriteAttribute + public var autoGainControl: Bool? + + @ReadWriteAttribute + public var noiseSuppression: Bool? + + @ReadWriteAttribute + public var latency: Double? + + @ReadWriteAttribute + public var channelCount: UInt32? + + @ReadWriteAttribute + public var deviceId: String? + + @ReadWriteAttribute + public var groupId: String? } -open class MediaTrackSupportedConstraints: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - width: Bool? = nil, - height: Bool? = nil, - aspectRatio: Bool? = nil, - frameRate: Bool? = nil, - facingMode: Bool? = nil, - resizeMode: Bool? = nil, - sampleRate: Bool? = nil, - sampleSize: Bool? = nil, - echoCancellation: Bool? = nil, - autoGainControl: Bool? = nil, - noiseSuppression: Bool? = nil, - latency: Bool? = nil, - channelCount: Bool? = nil, - deviceId: Bool? = nil, - groupId: Bool? = nil - ) { +public class MediaTrackSupportedConstraints: BridgedDictionary { + public convenience init(width: Bool, height: Bool, aspectRatio: Bool, frameRate: Bool, facingMode: Bool, resizeMode: Bool, sampleRate: Bool, sampleSize: Bool, echoCancellation: Bool, autoGainControl: Bool, noiseSuppression: Bool, latency: Bool, channelCount: Bool, deviceId: Bool, groupId: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) @@ -12630,227 +11588,203 @@ open class MediaTrackSupportedConstraints: JSDictionaryCompatible { object[Strings.channelCount] = _toJSValue(channelCount) object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.groupId] = _toJSValue(groupId) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var width: Bool { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } - @inlinable public var height: Bool { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } - @inlinable public var aspectRatio: Bool { - get { jsObject[Strings.aspectRatio].fromJSValue()! } - set { jsObject[Strings.aspectRatio] = _toJSValue(newValue) } - } - @inlinable public var frameRate: Bool { - get { jsObject[Strings.frameRate].fromJSValue()! } - set { jsObject[Strings.frameRate] = _toJSValue(newValue) } - } - @inlinable public var facingMode: Bool { - get { jsObject[Strings.facingMode].fromJSValue()! } - set { jsObject[Strings.facingMode] = _toJSValue(newValue) } - } - @inlinable public var resizeMode: Bool { - get { jsObject[Strings.resizeMode].fromJSValue()! } - set { jsObject[Strings.resizeMode] = _toJSValue(newValue) } - } - @inlinable public var sampleRate: Bool { - get { jsObject[Strings.sampleRate].fromJSValue()! } - set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } - } - @inlinable public var sampleSize: Bool { - get { jsObject[Strings.sampleSize].fromJSValue()! } - set { jsObject[Strings.sampleSize] = _toJSValue(newValue) } - } - @inlinable public var echoCancellation: Bool { - get { jsObject[Strings.echoCancellation].fromJSValue()! } - set { jsObject[Strings.echoCancellation] = _toJSValue(newValue) } - } - @inlinable public var autoGainControl: Bool { - get { jsObject[Strings.autoGainControl].fromJSValue()! } - set { jsObject[Strings.autoGainControl] = _toJSValue(newValue) } - } - @inlinable public var noiseSuppression: Bool { - get { jsObject[Strings.noiseSuppression].fromJSValue()! } - set { jsObject[Strings.noiseSuppression] = _toJSValue(newValue) } - } - @inlinable public var latency: Bool { - get { jsObject[Strings.latency].fromJSValue()! } - set { jsObject[Strings.latency] = _toJSValue(newValue) } - } - @inlinable public var channelCount: Bool { - get { jsObject[Strings.channelCount].fromJSValue()! } - set { jsObject[Strings.channelCount] = _toJSValue(newValue) } - } - @inlinable public var deviceId: Bool { - get { jsObject[Strings.deviceId].fromJSValue()! } - set { jsObject[Strings.deviceId] = _toJSValue(newValue) } - } - @inlinable public var groupId: Bool { - get { jsObject[Strings.groupId].fromJSValue()! } - set { jsObject[Strings.groupId] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _width = ReadWriteAttribute(jsObject: object, name: Strings.width) + _height = ReadWriteAttribute(jsObject: object, name: Strings.height) + _aspectRatio = ReadWriteAttribute(jsObject: object, name: Strings.aspectRatio) + _frameRate = ReadWriteAttribute(jsObject: object, name: Strings.frameRate) + _facingMode = ReadWriteAttribute(jsObject: object, name: Strings.facingMode) + _resizeMode = ReadWriteAttribute(jsObject: object, name: Strings.resizeMode) + _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) + _sampleSize = ReadWriteAttribute(jsObject: object, name: Strings.sampleSize) + _echoCancellation = ReadWriteAttribute(jsObject: object, name: Strings.echoCancellation) + _autoGainControl = ReadWriteAttribute(jsObject: object, name: Strings.autoGainControl) + _noiseSuppression = ReadWriteAttribute(jsObject: object, name: Strings.noiseSuppression) + _latency = ReadWriteAttribute(jsObject: object, name: Strings.latency) + _channelCount = ReadWriteAttribute(jsObject: object, name: Strings.channelCount) + _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) + _groupId = ReadWriteAttribute(jsObject: object, name: Strings.groupId) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var width: Bool? + + @ReadWriteAttribute + public var height: Bool? + + @ReadWriteAttribute + public var aspectRatio: Bool? + + @ReadWriteAttribute + public var frameRate: Bool? + + @ReadWriteAttribute + public var facingMode: Bool? + + @ReadWriteAttribute + public var resizeMode: Bool? + + @ReadWriteAttribute + public var sampleRate: Bool? + + @ReadWriteAttribute + public var sampleSize: Bool? + + @ReadWriteAttribute + public var echoCancellation: Bool? + + @ReadWriteAttribute + public var autoGainControl: Bool? + + @ReadWriteAttribute + public var noiseSuppression: Bool? + + @ReadWriteAttribute + public var latency: Bool? + + @ReadWriteAttribute + public var channelCount: Bool? + + @ReadWriteAttribute + public var deviceId: Bool? + + @ReadWriteAttribute + public var groupId: Bool? } + public class MessageChannel: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.MessageChannel].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _port1 = ReadonlyAttribute(jsObject: jsObject, name: Strings.port1) + _port2 = ReadonlyAttribute(jsObject: jsObject, name: Strings.port2) + self.jsObject = jsObject + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable public var port1: MessagePort { jsObject[Strings.port1].fromJSValue()! } + @ReadonlyAttribute + public var port1: MessagePort - @inlinable public var port2: MessagePort { jsObject[Strings.port2].fromJSValue()! } + @ReadonlyAttribute + public var port2: MessagePort } public class MessageEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MessageEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MessageEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) + _origin = ReadonlyAttribute(jsObject: jsObject, name: Strings.origin) + _lastEventId = ReadonlyAttribute(jsObject: jsObject, name: Strings.lastEventId) + _source = ReadonlyAttribute(jsObject: jsObject, name: Strings.source) + _ports = ReadonlyAttribute(jsObject: jsObject, name: Strings.ports) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: MessageEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var data: JSValue { jsObject[Strings.data].fromJSValue()! } + @ReadonlyAttribute + public var data: JSValue - @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } + @ReadonlyAttribute + public var origin: String - @inlinable public var lastEventId: String { jsObject[Strings.lastEventId].fromJSValue()! } + @ReadonlyAttribute + public var lastEventId: String - @inlinable public var source: MessageEventSource? { jsObject[Strings.source].fromJSValue() } + @ReadonlyAttribute + public var source: MessageEventSource? - @inlinable public var ports: [MessagePort] { jsObject[Strings.ports].fromJSValue()! } + @ReadonlyAttribute + public var ports: [MessagePort] - @inlinable final public func initMessageEvent( - type: String, - bubbles: Bool? = nil, - cancelable: Bool? = nil, - data: JSValue? = nil, - origin: String? = nil, - lastEventId: String? = nil, - source: MessageEventSource? = nil, - ports: [MessagePort]? = nil - ) { + @inlinable public func initMessageEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil, data: JSValue? = nil, origin: String? = nil, lastEventId: String? = nil, source: MessageEventSource? = nil, ports: [MessagePort]? = nil) { let this = jsObject - _ = this[Strings.initMessageEvent].function!( - this: this, - arguments: [ - _toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(data), _toJSValue(origin), - _toJSValue(lastEventId), _toJSValue(source), _toJSValue(ports), - ] - ) + _ = this[Strings.initMessageEvent].function!(this: this, arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(data), _toJSValue(origin), _toJSValue(lastEventId), _toJSValue(source), _toJSValue(ports)]) } } -open class MessageEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - data: JSValue? = nil, - origin: String? = nil, - lastEventId: String? = nil, - source: MessageEventSource?, - ports: [MessagePort]? = nil - ) { +public class MessageEventInit: BridgedDictionary { + public convenience init(data: JSValue, origin: String, lastEventId: String, source: MessageEventSource?, ports: [MessagePort]) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.data] = _toJSValue(data) object[Strings.origin] = _toJSValue(origin) object[Strings.lastEventId] = _toJSValue(lastEventId) object[Strings.source] = _toJSValue(source) object[Strings.ports] = _toJSValue(ports) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var data: JSValue { - get { jsObject[Strings.data].fromJSValue()! } - set { jsObject[Strings.data] = _toJSValue(newValue) } - } - @inlinable public var origin: String { - get { jsObject[Strings.origin].fromJSValue()! } - set { jsObject[Strings.origin] = _toJSValue(newValue) } - } - @inlinable public var lastEventId: String { - get { jsObject[Strings.lastEventId].fromJSValue()! } - set { jsObject[Strings.lastEventId] = _toJSValue(newValue) } - } - @inlinable public var source: MessageEventSource? { - get { jsObject[Strings.source].fromJSValue() } - set { jsObject[Strings.source] = _toJSValue(newValue) } - } - @inlinable public var ports: [MessagePort] { - get { jsObject[Strings.ports].fromJSValue()! } - set { jsObject[Strings.ports] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _data = ReadWriteAttribute(jsObject: object, name: Strings.data) + _origin = ReadWriteAttribute(jsObject: object, name: Strings.origin) + _lastEventId = ReadWriteAttribute(jsObject: object, name: Strings.lastEventId) + _source = ReadWriteAttribute(jsObject: object, name: Strings.source) + _ports = ReadWriteAttribute(jsObject: object, name: Strings.ports) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var data: JSValue? + + @ReadWriteAttribute + public var origin: String? + + @ReadWriteAttribute + public var lastEventId: String? + + @ReadWriteAttribute + public var source: MessageEventSource? + + @ReadWriteAttribute + public var ports: [MessagePort]? } + public class MessagePort: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MessagePort].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MessagePort].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) + _onmessageerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessageerror) + super.init(unsafelyWrapping: jsObject) + } - @inlinable final public func postMessage(message: JSValue, transfer: [JSObject]) { + @inlinable public func postMessage(message: JSValue, transfer: [JSObject]) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(transfer)]) } - @inlinable final public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { + @inlinable public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(options)]) } - @inlinable final public func start() { + @inlinable public func start() { let this = jsObject _ = this[Strings.start].function!(this: this, arguments: []) } - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @inlinable public var onmessage: EventHandler { - get { - guard let function = jsObject[Strings.onmessage].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmessage] = .null - } - } - } + @ClosureAttribute1Optional + public var onmessage: EventHandler - @inlinable public var onmessageerror: EventHandler { - get { - guard let function = jsObject[Strings.onmessageerror].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmessageerror] = .null - } - } - } + @ClosureAttribute1Optional + public var onmessageerror: EventHandler } public class MimeType: JSBridgedClass { @@ -12858,15 +11792,25 @@ public class MimeType: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + _description = ReadonlyAttribute(jsObject: jsObject, name: Strings.description) + _suffixes = ReadonlyAttribute(jsObject: jsObject, name: Strings.suffixes) + _enabledPlugin = ReadonlyAttribute(jsObject: jsObject, name: Strings.enabledPlugin) + self.jsObject = jsObject + } - @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } + @ReadonlyAttribute + public var type: String - @inlinable public var description: String { jsObject[Strings.description].fromJSValue()! } + @ReadonlyAttribute + public var description: String - @inlinable public var suffixes: String { jsObject[Strings.suffixes].fromJSValue()! } + @ReadonlyAttribute + public var suffixes: String - @inlinable public var enabledPlugin: Plugin { jsObject[Strings.enabledPlugin].fromJSValue()! } + @ReadonlyAttribute + public var enabledPlugin: Plugin } public class MimeTypeArray: JSBridgedClass { @@ -12874,143 +11818,126 @@ public class MimeTypeArray: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> MimeType? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: Int) -> MimeType? { + jsObject[key].fromJSValue() + } - @inlinable final public func item(index: UInt32) -> MimeType? { + @inlinable public func item(index: UInt32) -> MimeType? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> MimeType? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: String) -> MimeType? { + jsObject[key].fromJSValue() + } - @inlinable final public func namedItem(name: String) -> MimeType? { + @inlinable public func namedItem(name: String) -> MimeType? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } } public class MouseEvent: UIEvent { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MouseEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MouseEvent].function } + + public required init(unsafelyWrapping jsObject: JSObject) { + _screenX = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenX) + _screenY = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenY) + _clientX = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientX) + _clientY = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientY) + _ctrlKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.ctrlKey) + _shiftKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.shiftKey) + _altKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.altKey) + _metaKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.metaKey) + _button = ReadonlyAttribute(jsObject: jsObject, name: Strings.button) + _buttons = ReadonlyAttribute(jsObject: jsObject, name: Strings.buttons) + _relatedTarget = ReadonlyAttribute(jsObject: jsObject, name: Strings.relatedTarget) + _pageX = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageX) + _pageY = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageY) + _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) + _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) + _offsetX = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetX) + _offsetY = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetY) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: MouseEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var screenX: Int32 { jsObject[Strings.screenX].fromJSValue()! } + @ReadonlyAttribute + public var screenX: Int32 - @inlinable public var screenY: Int32 { jsObject[Strings.screenY].fromJSValue()! } + @ReadonlyAttribute + public var screenY: Int32 - @inlinable public var clientX: Int32 { jsObject[Strings.clientX].fromJSValue()! } + @ReadonlyAttribute + public var clientX: Int32 - @inlinable public var clientY: Int32 { jsObject[Strings.clientY].fromJSValue()! } + @ReadonlyAttribute + public var clientY: Int32 - @inlinable public var ctrlKey: Bool { jsObject[Strings.ctrlKey].fromJSValue()! } + @ReadonlyAttribute + public var ctrlKey: Bool - @inlinable public var shiftKey: Bool { jsObject[Strings.shiftKey].fromJSValue()! } + @ReadonlyAttribute + public var shiftKey: Bool - @inlinable public var altKey: Bool { jsObject[Strings.altKey].fromJSValue()! } + @ReadonlyAttribute + public var altKey: Bool - @inlinable public var metaKey: Bool { jsObject[Strings.metaKey].fromJSValue()! } + @ReadonlyAttribute + public var metaKey: Bool - @inlinable public var button: Int16 { jsObject[Strings.button].fromJSValue()! } + @ReadonlyAttribute + public var button: Int16 - @inlinable public var buttons: UInt16 { jsObject[Strings.buttons].fromJSValue()! } + @ReadonlyAttribute + public var buttons: UInt16 - @inlinable public var relatedTarget: EventTarget? { jsObject[Strings.relatedTarget].fromJSValue() } + @ReadonlyAttribute + public var relatedTarget: EventTarget? - @inlinable final public func getModifierState(keyArg: String) -> Bool { + @inlinable public func getModifierState(keyArg: String) -> Bool { let this = jsObject return this[Strings.getModifierState].function!(this: this, arguments: [_toJSValue(keyArg)]).fromJSValue()! } - @inlinable final public func initMouseEvent( - typeArg: String, - bubblesArg: Bool? = nil, - cancelableArg: Bool? = nil, - viewArg: Window? = nil, - detailArg: Int32? = nil, - screenXArg: Int32? = nil, - screenYArg: Int32? = nil, - clientXArg: Int32? = nil, - clientYArg: Int32? = nil, - ctrlKeyArg: Bool? = nil, - altKeyArg: Bool? = nil, - shiftKeyArg: Bool? = nil, - metaKeyArg: Bool? = nil, - buttonArg: Int16? = nil, - relatedTargetArg: EventTarget? = nil - ) { - let this = jsObject - _ = this[Strings.initMouseEvent].function!( - this: this, - arguments: [ - _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), - _toJSValue(detailArg), _toJSValue(screenXArg), _toJSValue(screenYArg), _toJSValue(clientXArg), - _toJSValue(clientYArg), _toJSValue(ctrlKeyArg), _toJSValue(altKeyArg), _toJSValue(shiftKeyArg), - _toJSValue(metaKeyArg), _toJSValue(buttonArg), _toJSValue(relatedTargetArg), - ] - ) - } - - @inlinable public var pageX: Double { jsObject[Strings.pageX].fromJSValue()! } - - @inlinable public var pageY: Double { jsObject[Strings.pageY].fromJSValue()! } - - @inlinable public var x: Double { jsObject[Strings.x].fromJSValue()! } - - @inlinable public var y: Double { jsObject[Strings.y].fromJSValue()! } - - @inlinable public var offsetX: Double { jsObject[Strings.offsetX].fromJSValue()! } - - @inlinable public var offsetY: Double { jsObject[Strings.offsetY].fromJSValue()! } -} - -open class MouseEventInit: EventModifierInit { - - public convenience init( - ctrlKey: Bool? = nil, - shiftKey: Bool? = nil, - altKey: Bool? = nil, - metaKey: Bool? = nil, - modifierAltGraph: Bool? = nil, - modifierCapsLock: Bool? = nil, - modifierFn: Bool? = nil, - modifierFnLock: Bool? = nil, - modifierHyper: Bool? = nil, - modifierNumLock: Bool? = nil, - modifierScrollLock: Bool? = nil, - modifierSuper: Bool? = nil, - modifierSymbol: Bool? = nil, - modifierSymbolLock: Bool? = nil, - screenX: Int32? = nil, - screenY: Int32? = nil, - clientX: Int32? = nil, - clientY: Int32? = nil, - button: Int16? = nil, - buttons: UInt16? = nil, - relatedTarget: EventTarget? - ) { + @inlinable public func initMouseEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, viewArg: Window? = nil, detailArg: Int32? = nil, screenXArg: Int32? = nil, screenYArg: Int32? = nil, clientXArg: Int32? = nil, clientYArg: Int32? = nil, ctrlKeyArg: Bool? = nil, altKeyArg: Bool? = nil, shiftKeyArg: Bool? = nil, metaKeyArg: Bool? = nil, buttonArg: Int16? = nil, relatedTargetArg: EventTarget? = nil) { + let this = jsObject + _ = this[Strings.initMouseEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), _toJSValue(detailArg), _toJSValue(screenXArg), _toJSValue(screenYArg), _toJSValue(clientXArg), _toJSValue(clientYArg), _toJSValue(ctrlKeyArg), _toJSValue(altKeyArg), _toJSValue(shiftKeyArg), _toJSValue(metaKeyArg), _toJSValue(buttonArg), _toJSValue(relatedTargetArg)]) + } + + @ReadonlyAttribute + public var pageX: Double + + @ReadonlyAttribute + public var pageY: Double + + @ReadonlyAttribute + public var x: Double + + @ReadonlyAttribute + public var y: Double + + @ReadonlyAttribute + public var offsetX: Double + + @ReadonlyAttribute + public var offsetY: Double +} + +public class MouseEventInit: BridgedDictionary { + public convenience init(screenX: Int32, screenY: Int32, clientX: Int32, clientY: Int32, button: Int16, buttons: UInt16, relatedTarget: EventTarget?) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.ctrlKey] = _toJSValue(ctrlKey) - object[Strings.shiftKey] = _toJSValue(shiftKey) - object[Strings.altKey] = _toJSValue(altKey) - object[Strings.metaKey] = _toJSValue(metaKey) - object[Strings.modifierAltGraph] = _toJSValue(modifierAltGraph) - object[Strings.modifierCapsLock] = _toJSValue(modifierCapsLock) - object[Strings.modifierFn] = _toJSValue(modifierFn) - object[Strings.modifierFnLock] = _toJSValue(modifierFnLock) - object[Strings.modifierHyper] = _toJSValue(modifierHyper) - object[Strings.modifierNumLock] = _toJSValue(modifierNumLock) - object[Strings.modifierScrollLock] = _toJSValue(modifierScrollLock) - object[Strings.modifierSuper] = _toJSValue(modifierSuper) - object[Strings.modifierSymbol] = _toJSValue(modifierSymbol) - object[Strings.modifierSymbolLock] = _toJSValue(modifierSymbolLock) object[Strings.screenX] = _toJSValue(screenX) object[Strings.screenY] = _toJSValue(screenY) object[Strings.clientX] = _toJSValue(clientX) @@ -13018,69 +11945,69 @@ open class MouseEventInit: EventModifierInit { object[Strings.button] = _toJSValue(button) object[Strings.buttons] = _toJSValue(buttons) object[Strings.relatedTarget] = _toJSValue(relatedTarget) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var screenX: Int32 { - get { jsObject[Strings.screenX].fromJSValue()! } - set { jsObject[Strings.screenX] = _toJSValue(newValue) } - } - @inlinable public var screenY: Int32 { - get { jsObject[Strings.screenY].fromJSValue()! } - set { jsObject[Strings.screenY] = _toJSValue(newValue) } - } - @inlinable public var clientX: Int32 { - get { jsObject[Strings.clientX].fromJSValue()! } - set { jsObject[Strings.clientX] = _toJSValue(newValue) } - } - @inlinable public var clientY: Int32 { - get { jsObject[Strings.clientY].fromJSValue()! } - set { jsObject[Strings.clientY] = _toJSValue(newValue) } - } - @inlinable public var button: Int16 { - get { jsObject[Strings.button].fromJSValue()! } - set { jsObject[Strings.button] = _toJSValue(newValue) } - } - @inlinable public var buttons: UInt16 { - get { jsObject[Strings.buttons].fromJSValue()! } - set { jsObject[Strings.buttons] = _toJSValue(newValue) } - } - @inlinable public var relatedTarget: EventTarget? { - get { jsObject[Strings.relatedTarget].fromJSValue() } - set { jsObject[Strings.relatedTarget] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _screenX = ReadWriteAttribute(jsObject: object, name: Strings.screenX) + _screenY = ReadWriteAttribute(jsObject: object, name: Strings.screenY) + _clientX = ReadWriteAttribute(jsObject: object, name: Strings.clientX) + _clientY = ReadWriteAttribute(jsObject: object, name: Strings.clientY) + _button = ReadWriteAttribute(jsObject: object, name: Strings.button) + _buttons = ReadWriteAttribute(jsObject: object, name: Strings.buttons) + _relatedTarget = ReadWriteAttribute(jsObject: object, name: Strings.relatedTarget) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var screenX: Int32? + + @ReadWriteAttribute + public var screenY: Int32? + + @ReadWriteAttribute + public var clientX: Int32? + + @ReadWriteAttribute + public var clientY: Int32? + + @ReadWriteAttribute + public var button: Int16? + + @ReadWriteAttribute + public var buttons: UInt16? + + @ReadWriteAttribute + public var relatedTarget: EventTarget? } -open class MultiCacheQueryOptions: CacheQueryOptions { - public convenience init( - ignoreSearch: Bool? = nil, - ignoreMethod: Bool? = nil, - ignoreVary: Bool? = nil, - cacheName: String? = nil - ) { +public class MultiCacheQueryOptions: BridgedDictionary { + public convenience init(cacheName: String) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.ignoreSearch] = _toJSValue(ignoreSearch) - object[Strings.ignoreMethod] = _toJSValue(ignoreMethod) - object[Strings.ignoreVary] = _toJSValue(ignoreVary) object[Strings.cacheName] = _toJSValue(cacheName) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var cacheName: String { - get { jsObject[Strings.cacheName].fromJSValue()! } - set { jsObject[Strings.cacheName] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _cacheName = ReadWriteAttribute(jsObject: object, name: Strings.cacheName) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var cacheName: String? } + public class MutationEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MutationEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MutationEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _relatedNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.relatedNode) + _prevValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.prevValue) + _newValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.newValue) + _attrName = ReadonlyAttribute(jsObject: jsObject, name: Strings.attrName) + _attrChange = ReadonlyAttribute(jsObject: jsObject, name: Strings.attrChange) + super.init(unsafelyWrapping: jsObject) + } public static let MODIFICATION: UInt16 = 1 @@ -13088,34 +12015,24 @@ public class MutationEvent: Event { public static let REMOVAL: UInt16 = 3 - @inlinable public var relatedNode: Node? { jsObject[Strings.relatedNode].fromJSValue() } + @ReadonlyAttribute + public var relatedNode: Node? - @inlinable public var prevValue: String { jsObject[Strings.prevValue].fromJSValue()! } + @ReadonlyAttribute + public var prevValue: String - @inlinable public var newValue: String { jsObject[Strings.newValue].fromJSValue()! } + @ReadonlyAttribute + public var newValue: String - @inlinable public var attrName: String { jsObject[Strings.attrName].fromJSValue()! } + @ReadonlyAttribute + public var attrName: String - @inlinable public var attrChange: UInt16 { jsObject[Strings.attrChange].fromJSValue()! } + @ReadonlyAttribute + public var attrChange: UInt16 - @inlinable final public func initMutationEvent( - typeArg: String, - bubblesArg: Bool? = nil, - cancelableArg: Bool? = nil, - relatedNodeArg: Node? = nil, - prevValueArg: String? = nil, - newValueArg: String? = nil, - attrNameArg: String? = nil, - attrChangeArg: UInt16? = nil - ) { + @inlinable public func initMutationEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, relatedNodeArg: Node? = nil, prevValueArg: String? = nil, newValueArg: String? = nil, attrNameArg: String? = nil, attrChangeArg: UInt16? = nil) { let this = jsObject - _ = this[Strings.initMutationEvent].function!( - this: this, - arguments: [ - _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(relatedNodeArg), - _toJSValue(prevValueArg), _toJSValue(newValueArg), _toJSValue(attrNameArg), _toJSValue(attrChangeArg), - ] - ) + _ = this[Strings.initMutationEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(relatedNodeArg), _toJSValue(prevValueArg), _toJSValue(newValueArg), _toJSValue(attrNameArg), _toJSValue(attrChangeArg)]) } } @@ -13124,40 +12041,32 @@ public class MutationObserver: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } @inlinable public convenience init(callback: @escaping MutationCallback) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(callback)])) } - @inlinable final public func observe(target: Node, options: MutationObserverInit? = nil) { + @inlinable public func observe(target: Node, options: MutationObserverInit? = nil) { let this = jsObject _ = this[Strings.observe].function!(this: this, arguments: [_toJSValue(target), _toJSValue(options)]) } - @inlinable final public func disconnect() { + @inlinable public func disconnect() { let this = jsObject _ = this[Strings.disconnect].function!(this: this, arguments: []) } - @inlinable final public func takeRecords() -> [MutationRecord] { + @inlinable public func takeRecords() -> [MutationRecord] { let this = jsObject return this[Strings.takeRecords].function!(this: this, arguments: []).fromJSValue()! } } -open class MutationObserverInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - childList: Bool? = nil, - attributes: Bool? = nil, - characterData: Bool? = nil, - subtree: Bool? = nil, - attributeOldValue: Bool? = nil, - characterDataOldValue: Bool? = nil, - attributeFilter: [String]? = nil - ) { +public class MutationObserverInit: BridgedDictionary { + public convenience init(childList: Bool, attributes: Bool, characterData: Bool, subtree: Bool, attributeOldValue: Bool, characterDataOldValue: Bool, attributeFilter: [String]) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.childList] = _toJSValue(childList) object[Strings.attributes] = _toJSValue(attributes) @@ -13166,65 +12075,86 @@ open class MutationObserverInit: JSDictionaryCompatible { object[Strings.attributeOldValue] = _toJSValue(attributeOldValue) object[Strings.characterDataOldValue] = _toJSValue(characterDataOldValue) object[Strings.attributeFilter] = _toJSValue(attributeFilter) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var childList: Bool { - get { jsObject[Strings.childList].fromJSValue()! } - set { jsObject[Strings.childList] = _toJSValue(newValue) } - } - @inlinable public var attributes: Bool { - get { jsObject[Strings.attributes].fromJSValue()! } - set { jsObject[Strings.attributes] = _toJSValue(newValue) } - } - @inlinable public var characterData: Bool { - get { jsObject[Strings.characterData].fromJSValue()! } - set { jsObject[Strings.characterData] = _toJSValue(newValue) } - } - @inlinable public var subtree: Bool { - get { jsObject[Strings.subtree].fromJSValue()! } - set { jsObject[Strings.subtree] = _toJSValue(newValue) } - } - @inlinable public var attributeOldValue: Bool { - get { jsObject[Strings.attributeOldValue].fromJSValue()! } - set { jsObject[Strings.attributeOldValue] = _toJSValue(newValue) } - } - @inlinable public var characterDataOldValue: Bool { - get { jsObject[Strings.characterDataOldValue].fromJSValue()! } - set { jsObject[Strings.characterDataOldValue] = _toJSValue(newValue) } - } - @inlinable public var attributeFilter: [String] { - get { jsObject[Strings.attributeFilter].fromJSValue()! } - set { jsObject[Strings.attributeFilter] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _childList = ReadWriteAttribute(jsObject: object, name: Strings.childList) + _attributes = ReadWriteAttribute(jsObject: object, name: Strings.attributes) + _characterData = ReadWriteAttribute(jsObject: object, name: Strings.characterData) + _subtree = ReadWriteAttribute(jsObject: object, name: Strings.subtree) + _attributeOldValue = ReadWriteAttribute(jsObject: object, name: Strings.attributeOldValue) + _characterDataOldValue = ReadWriteAttribute(jsObject: object, name: Strings.characterDataOldValue) + _attributeFilter = ReadWriteAttribute(jsObject: object, name: Strings.attributeFilter) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var childList: Bool? + + @ReadWriteAttribute + public var attributes: Bool? + + @ReadWriteAttribute + public var characterData: Bool? + + @ReadWriteAttribute + public var subtree: Bool? + + @ReadWriteAttribute + public var attributeOldValue: Bool? + + @ReadWriteAttribute + public var characterDataOldValue: Bool? + + @ReadWriteAttribute + public var attributeFilter: [String]? } + public class MutationRecord: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.MutationRecord].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + _target = ReadonlyAttribute(jsObject: jsObject, name: Strings.target) + _addedNodes = ReadonlyAttribute(jsObject: jsObject, name: Strings.addedNodes) + _removedNodes = ReadonlyAttribute(jsObject: jsObject, name: Strings.removedNodes) + _previousSibling = ReadonlyAttribute(jsObject: jsObject, name: Strings.previousSibling) + _nextSibling = ReadonlyAttribute(jsObject: jsObject, name: Strings.nextSibling) + _attributeName = ReadonlyAttribute(jsObject: jsObject, name: Strings.attributeName) + _attributeNamespace = ReadonlyAttribute(jsObject: jsObject, name: Strings.attributeNamespace) + _oldValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.oldValue) + self.jsObject = jsObject + } - @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } + @ReadonlyAttribute + public var type: String - @inlinable public var target: Node { jsObject[Strings.target].fromJSValue()! } + @ReadonlyAttribute + public var target: Node - @inlinable public var addedNodes: NodeList { jsObject[Strings.addedNodes].fromJSValue()! } + @ReadonlyAttribute + public var addedNodes: NodeList - @inlinable public var removedNodes: NodeList { jsObject[Strings.removedNodes].fromJSValue()! } + @ReadonlyAttribute + public var removedNodes: NodeList - @inlinable public var previousSibling: Node? { jsObject[Strings.previousSibling].fromJSValue() } + @ReadonlyAttribute + public var previousSibling: Node? - @inlinable public var nextSibling: Node? { jsObject[Strings.nextSibling].fromJSValue() } + @ReadonlyAttribute + public var nextSibling: Node? - @inlinable public var attributeName: String? { jsObject[Strings.attributeName].fromJSValue() } + @ReadonlyAttribute + public var attributeName: String? - @inlinable public var attributeNamespace: String? { jsObject[Strings.attributeNamespace].fromJSValue() } + @ReadonlyAttribute + public var attributeNamespace: String? - @inlinable public var oldValue: String? { jsObject[Strings.oldValue].fromJSValue() } + @ReadonlyAttribute + public var oldValue: String? } public class NamedNodeMap: JSBridgedClass { @@ -13232,115 +12162,119 @@ public class NamedNodeMap: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> Attr? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: Int) -> Attr? { + jsObject[key].fromJSValue() + } - @inlinable final public func item(index: UInt32) -> Attr? { + @inlinable public func item(index: UInt32) -> Attr? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> Attr? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: String) -> Attr? { + jsObject[key].fromJSValue() + } - @inlinable final public func getNamedItem(qualifiedName: String) -> Attr? { + @inlinable public func getNamedItem(qualifiedName: String) -> Attr? { let this = jsObject return this[Strings.getNamedItem].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue() } - @inlinable final public func getNamedItemNS(namespace: String?, localName: String) -> Attr? { + @inlinable public func getNamedItemNS(namespace: String?, localName: String) -> Attr? { let this = jsObject - return this[Strings.getNamedItemNS].function!( - this: this, - arguments: [_toJSValue(namespace), _toJSValue(localName)] - ).fromJSValue() + return this[Strings.getNamedItemNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue() } - @inlinable final public func setNamedItem(attr: Attr) -> Attr? { + @inlinable public func setNamedItem(attr: Attr) -> Attr? { let this = jsObject return this[Strings.setNamedItem].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue() } - @inlinable final public func setNamedItemNS(attr: Attr) -> Attr? { + @inlinable public func setNamedItemNS(attr: Attr) -> Attr? { let this = jsObject return this[Strings.setNamedItemNS].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue() } - @inlinable final public func removeNamedItem(qualifiedName: String) -> Attr { + @inlinable public func removeNamedItem(qualifiedName: String) -> Attr { let this = jsObject - return this[Strings.removeNamedItem].function!(this: this, arguments: [_toJSValue(qualifiedName)]) - .fromJSValue()! + return this[Strings.removeNamedItem].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue()! } - @inlinable final public func removeNamedItemNS(namespace: String?, localName: String) -> Attr { + @inlinable public func removeNamedItemNS(namespace: String?, localName: String) -> Attr { let this = jsObject - return this[Strings.removeNamedItemNS].function!( - this: this, - arguments: [_toJSValue(namespace), _toJSValue(localName)] - ).fromJSValue()! + return this[Strings.removeNamedItemNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue()! } } public class NavigateEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.NavigateEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.NavigateEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _navigationType = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigationType) + _destination = ReadonlyAttribute(jsObject: jsObject, name: Strings.destination) + _canIntercept = ReadonlyAttribute(jsObject: jsObject, name: Strings.canIntercept) + _userInitiated = ReadonlyAttribute(jsObject: jsObject, name: Strings.userInitiated) + _hashChange = ReadonlyAttribute(jsObject: jsObject, name: Strings.hashChange) + _signal = ReadonlyAttribute(jsObject: jsObject, name: Strings.signal) + _formData = ReadonlyAttribute(jsObject: jsObject, name: Strings.formData) + _downloadRequest = ReadonlyAttribute(jsObject: jsObject, name: Strings.downloadRequest) + _info = ReadonlyAttribute(jsObject: jsObject, name: Strings.info) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: NavigateEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var navigationType: NavigationType { jsObject[Strings.navigationType].fromJSValue()! } + @ReadonlyAttribute + public var navigationType: NavigationType - @inlinable public var destination: NavigationDestination { jsObject[Strings.destination].fromJSValue()! } + @ReadonlyAttribute + public var destination: NavigationDestination - @inlinable public var canIntercept: Bool { jsObject[Strings.canIntercept].fromJSValue()! } + @ReadonlyAttribute + public var canIntercept: Bool - @inlinable public var userInitiated: Bool { jsObject[Strings.userInitiated].fromJSValue()! } + @ReadonlyAttribute + public var userInitiated: Bool - @inlinable public var hashChange: Bool { jsObject[Strings.hashChange].fromJSValue()! } + @ReadonlyAttribute + public var hashChange: Bool - @inlinable public var signal: AbortSignal { jsObject[Strings.signal].fromJSValue()! } + @ReadonlyAttribute + public var signal: AbortSignal - @inlinable public var formData: FormData? { jsObject[Strings.formData].fromJSValue() } + @ReadonlyAttribute + public var formData: FormData? - @inlinable public var downloadRequest: String? { jsObject[Strings.downloadRequest].fromJSValue() } + @ReadonlyAttribute + public var downloadRequest: String? - @inlinable public var info: JSValue { jsObject[Strings.info].fromJSValue()! } + @ReadonlyAttribute + public var info: JSValue - @inlinable final public func intercept(options: NavigationInterceptOptions? = nil) { + @inlinable public func intercept(options: NavigationInterceptOptions? = nil) { let this = jsObject _ = this[Strings.intercept].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable final public func scroll() { + @inlinable public func scroll() { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: []) } } -open class NavigateEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - navigationType: NavigationType? = nil, - destination: NavigationDestination, - canIntercept: Bool? = nil, - userInitiated: Bool? = nil, - hashChange: Bool? = nil, - signal: AbortSignal, - formData: FormData?, - downloadRequest: String?, - info: JSValue? = nil - ) { +public class NavigateEventInit: BridgedDictionary { + public convenience init(navigationType: NavigationType, destination: NavigationDestination, canIntercept: Bool, userInitiated: Bool, hashChange: Bool, signal: AbortSignal, formData: FormData?, downloadRequest: String?, info: JSValue) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.navigationType] = _toJSValue(navigationType) object[Strings.destination] = _toJSValue(destination) object[Strings.canIntercept] = _toJSValue(canIntercept) @@ -13350,221 +12284,196 @@ open class NavigateEventInit: EventInit { object[Strings.formData] = _toJSValue(formData) object[Strings.downloadRequest] = _toJSValue(downloadRequest) object[Strings.info] = _toJSValue(info) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var navigationType: NavigationType { - get { jsObject[Strings.navigationType].fromJSValue()! } - set { jsObject[Strings.navigationType] = _toJSValue(newValue) } - } - @inlinable public var destination: NavigationDestination { - get { jsObject[Strings.destination].fromJSValue()! } - set { jsObject[Strings.destination] = _toJSValue(newValue) } - } - @inlinable public var canIntercept: Bool { - get { jsObject[Strings.canIntercept].fromJSValue()! } - set { jsObject[Strings.canIntercept] = _toJSValue(newValue) } - } - @inlinable public var userInitiated: Bool { - get { jsObject[Strings.userInitiated].fromJSValue()! } - set { jsObject[Strings.userInitiated] = _toJSValue(newValue) } - } - @inlinable public var hashChange: Bool { - get { jsObject[Strings.hashChange].fromJSValue()! } - set { jsObject[Strings.hashChange] = _toJSValue(newValue) } - } - @inlinable public var signal: AbortSignal { - get { jsObject[Strings.signal].fromJSValue()! } - set { jsObject[Strings.signal] = _toJSValue(newValue) } - } - @inlinable public var formData: FormData? { - get { jsObject[Strings.formData].fromJSValue() } - set { jsObject[Strings.formData] = _toJSValue(newValue) } - } - @inlinable public var downloadRequest: String? { - get { jsObject[Strings.downloadRequest].fromJSValue() } - set { jsObject[Strings.downloadRequest] = _toJSValue(newValue) } - } - @inlinable public var info: JSValue { - get { jsObject[Strings.info].fromJSValue()! } - set { jsObject[Strings.info] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _navigationType = ReadWriteAttribute(jsObject: object, name: Strings.navigationType) + _destination = ReadWriteAttribute(jsObject: object, name: Strings.destination) + _canIntercept = ReadWriteAttribute(jsObject: object, name: Strings.canIntercept) + _userInitiated = ReadWriteAttribute(jsObject: object, name: Strings.userInitiated) + _hashChange = ReadWriteAttribute(jsObject: object, name: Strings.hashChange) + _signal = ReadWriteAttribute(jsObject: object, name: Strings.signal) + _formData = ReadWriteAttribute(jsObject: object, name: Strings.formData) + _downloadRequest = ReadWriteAttribute(jsObject: object, name: Strings.downloadRequest) + _info = ReadWriteAttribute(jsObject: object, name: Strings.info) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var navigationType: NavigationType? + + @ReadWriteAttribute + public var destination: NavigationDestination + + @ReadWriteAttribute + public var canIntercept: Bool? + + @ReadWriteAttribute + public var userInitiated: Bool? + + @ReadWriteAttribute + public var hashChange: Bool? + + @ReadWriteAttribute + public var signal: AbortSignal + + @ReadWriteAttribute + public var formData: FormData? + + @ReadWriteAttribute + public var downloadRequest: String? + + @ReadWriteAttribute + public var info: JSValue? } + public class Navigation: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Navigation].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Navigation].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _currentEntry = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentEntry) + _transition = ReadonlyAttribute(jsObject: jsObject, name: Strings.transition) + _canGoBack = ReadonlyAttribute(jsObject: jsObject, name: Strings.canGoBack) + _canGoForward = ReadonlyAttribute(jsObject: jsObject, name: Strings.canGoForward) + _onnavigate = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onnavigate) + _onnavigatesuccess = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onnavigatesuccess) + _onnavigateerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onnavigateerror) + _oncurrententrychange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncurrententrychange) + super.init(unsafelyWrapping: jsObject) + } - @inlinable final public func entries() -> [NavigationHistoryEntry] { + @inlinable public func entries() -> [NavigationHistoryEntry] { let this = jsObject return this[Strings.entries].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var currentEntry: NavigationHistoryEntry? { jsObject[Strings.currentEntry].fromJSValue() } + @ReadonlyAttribute + public var currentEntry: NavigationHistoryEntry? - @inlinable final public func updateCurrentEntry(options: NavigationUpdateCurrentEntryOptions) { + @inlinable public func updateCurrentEntry(options: NavigationUpdateCurrentEntryOptions) { let this = jsObject _ = this[Strings.updateCurrentEntry].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public var transition: NavigationTransition? { jsObject[Strings.transition].fromJSValue() } + @ReadonlyAttribute + public var transition: NavigationTransition? - @inlinable public var canGoBack: Bool { jsObject[Strings.canGoBack].fromJSValue()! } + @ReadonlyAttribute + public var canGoBack: Bool - @inlinable public var canGoForward: Bool { jsObject[Strings.canGoForward].fromJSValue()! } + @ReadonlyAttribute + public var canGoForward: Bool - @inlinable final public func navigate(url: String, options: NavigationNavigateOptions? = nil) -> NavigationResult { + @inlinable public func navigate(url: String, options: NavigationNavigateOptions? = nil) -> NavigationResult { let this = jsObject - return this[Strings.navigate].function!(this: this, arguments: [_toJSValue(url), _toJSValue(options)]) - .fromJSValue()! + return this[Strings.navigate].function!(this: this, arguments: [_toJSValue(url), _toJSValue(options)]).fromJSValue()! } - @inlinable final public func reload(options: NavigationReloadOptions? = nil) -> NavigationResult { + @inlinable public func reload(options: NavigationReloadOptions? = nil) -> NavigationResult { let this = jsObject return this[Strings.reload].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable final public func traverseTo(key: String, options: NavigationOptions? = nil) -> NavigationResult { + @inlinable public func traverseTo(key: String, options: NavigationOptions? = nil) -> NavigationResult { let this = jsObject - return this[Strings.traverseTo].function!(this: this, arguments: [_toJSValue(key), _toJSValue(options)]) - .fromJSValue()! + return this[Strings.traverseTo].function!(this: this, arguments: [_toJSValue(key), _toJSValue(options)]).fromJSValue()! } - @inlinable final public func back(options: NavigationOptions? = nil) -> NavigationResult { + @inlinable public func back(options: NavigationOptions? = nil) -> NavigationResult { let this = jsObject return this[Strings.back].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable final public func forward(options: NavigationOptions? = nil) -> NavigationResult { + @inlinable public func forward(options: NavigationOptions? = nil) -> NavigationResult { let this = jsObject return this[Strings.forward].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public var onnavigate: EventHandler { - get { - guard let function = jsObject[Strings.onnavigate].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onnavigate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onnavigate] = .null - } - } - } + @ClosureAttribute1Optional + public var onnavigate: EventHandler - @inlinable public var onnavigatesuccess: EventHandler { - get { - guard let function = jsObject[Strings.onnavigatesuccess].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onnavigatesuccess] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onnavigatesuccess] = .null - } - } - } + @ClosureAttribute1Optional + public var onnavigatesuccess: EventHandler - @inlinable public var onnavigateerror: EventHandler { - get { - guard let function = jsObject[Strings.onnavigateerror].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onnavigateerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onnavigateerror] = .null - } - } - } + @ClosureAttribute1Optional + public var onnavigateerror: EventHandler - @inlinable public var oncurrententrychange: EventHandler { - get { - guard let function = jsObject[Strings.oncurrententrychange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncurrententrychange] = - JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncurrententrychange] = .null - } - } - } + @ClosureAttribute1Optional + public var oncurrententrychange: EventHandler } public class NavigationCurrentEntryChangeEvent: Event { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.NavigationCurrentEntryChangeEvent].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.NavigationCurrentEntryChangeEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _navigationType = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigationType) + _from = ReadonlyAttribute(jsObject: jsObject, name: Strings.from) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: NavigationCurrentEntryChangeEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var navigationType: NavigationType? { jsObject[Strings.navigationType].fromJSValue() } + @ReadonlyAttribute + public var navigationType: NavigationType? - @inlinable public var from: NavigationHistoryEntry { jsObject[Strings.from].fromJSValue()! } + @ReadonlyAttribute + public var from: NavigationHistoryEntry } -open class NavigationCurrentEntryChangeEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - navigationType: NavigationType?, - from: NavigationHistoryEntry - ) { +public class NavigationCurrentEntryChangeEventInit: BridgedDictionary { + public convenience init(navigationType: NavigationType?, from: NavigationHistoryEntry) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.navigationType] = _toJSValue(navigationType) object[Strings.from] = _toJSValue(from) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var navigationType: NavigationType? { - get { jsObject[Strings.navigationType].fromJSValue() } - set { jsObject[Strings.navigationType] = _toJSValue(newValue) } - } - @inlinable public var from: NavigationHistoryEntry { - get { jsObject[Strings.from].fromJSValue()! } - set { jsObject[Strings.from] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _navigationType = ReadWriteAttribute(jsObject: object, name: Strings.navigationType) + _from = ReadWriteAttribute(jsObject: object, name: Strings.from) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var navigationType: NavigationType? + + @ReadWriteAttribute + public var from: NavigationHistoryEntry } + public class NavigationDestination: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.NavigationDestination].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) + _key = ReadonlyAttribute(jsObject: jsObject, name: Strings.key) + _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) + _index = ReadonlyAttribute(jsObject: jsObject, name: Strings.index) + _sameDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.sameDocument) + self.jsObject = jsObject + } - @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } + @ReadonlyAttribute + public var url: String - @inlinable public var key: String { jsObject[Strings.key].fromJSValue()! } + @ReadonlyAttribute + public var key: String - @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } + @ReadonlyAttribute + public var id: String - @inlinable public var index: Int64 { jsObject[Strings.index].fromJSValue()! } + @ReadonlyAttribute + public var index: Int64 - @inlinable public var sameDocument: Bool { jsObject[Strings.sameDocument].fromJSValue()! } + @ReadonlyAttribute + public var sameDocument: Bool - @inlinable final public func getState() -> JSValue { + @inlinable public func getState() -> JSValue { let this = jsObject return this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! } @@ -13575,293 +12484,292 @@ public enum NavigationFocusReset: JSString, JSValueCompatible { case manual = "manual" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum NavigationHistoryBehavior: JSString, JSValueCompatible { case auto = "auto" case push = "push" case replace = "replace" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class NavigationHistoryEntry: EventTarget { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.NavigationHistoryEntry].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.NavigationHistoryEntry].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) + _key = ReadonlyAttribute(jsObject: jsObject, name: Strings.key) + _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) + _index = ReadonlyAttribute(jsObject: jsObject, name: Strings.index) + _sameDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.sameDocument) + _ondispose = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondispose) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var url: String? { jsObject[Strings.url].fromJSValue() } + @ReadonlyAttribute + public var url: String? - @inlinable public var key: String { jsObject[Strings.key].fromJSValue()! } + @ReadonlyAttribute + public var key: String - @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } + @ReadonlyAttribute + public var id: String - @inlinable public var index: Int64 { jsObject[Strings.index].fromJSValue()! } + @ReadonlyAttribute + public var index: Int64 - @inlinable public var sameDocument: Bool { jsObject[Strings.sameDocument].fromJSValue()! } + @ReadonlyAttribute + public var sameDocument: Bool - @inlinable final public func getState() -> JSValue { + @inlinable public func getState() -> JSValue { let this = jsObject return this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var ondispose: EventHandler { - get { - guard let function = jsObject[Strings.ondispose].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondispose] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondispose] = .null - } - } - } + @ClosureAttribute1Optional + public var ondispose: EventHandler } -open class NavigationInterceptOptions: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - handler: NavigationInterceptHandler? = nil, - focusReset: NavigationFocusReset? = nil, - scroll: NavigationScrollBehavior? = nil - ) { +public class NavigationInterceptOptions: BridgedDictionary { + public convenience init(handler: @escaping NavigationInterceptHandler, focusReset: NavigationFocusReset, scroll: NavigationScrollBehavior) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.handler] = _toJSValue(handler) + ClosureAttribute0[Strings.handler, in: object] = handler object[Strings.focusReset] = _toJSValue(focusReset) object[Strings.scroll] = _toJSValue(scroll) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var handler: NavigationInterceptHandler { - get { - let function = jsObject[Strings.handler].function! - return { function().fromJSValue()! } - } - set { jsObject[Strings.handler] = JSClosure { _ in _toJSValue(newValue()) }.jsValue } - } - @inlinable public var focusReset: NavigationFocusReset { - get { jsObject[Strings.focusReset].fromJSValue()! } - set { jsObject[Strings.focusReset] = _toJSValue(newValue) } - } - @inlinable public var scroll: NavigationScrollBehavior { - get { jsObject[Strings.scroll].fromJSValue()! } - set { jsObject[Strings.scroll] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _handler = ClosureAttribute0(jsObject: object, name: Strings.handler) + _focusReset = ReadWriteAttribute(jsObject: object, name: Strings.focusReset) + _scroll = ReadWriteAttribute(jsObject: object, name: Strings.scroll) + super.init(unsafelyWrapping: object) } + + @ClosureAttribute0 + public var handler: NavigationInterceptHandler + + @ReadWriteAttribute + public var focusReset: NavigationFocusReset? + + @ReadWriteAttribute + public var scroll: NavigationScrollBehavior? } -open class NavigationNavigateOptions: NavigationOptions { - public convenience init(info: JSValue? = nil, state: JSValue? = nil, history: NavigationHistoryBehavior? = nil) { +public class NavigationNavigateOptions: BridgedDictionary { + public convenience init(state: JSValue, history: NavigationHistoryBehavior) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.info] = _toJSValue(info) object[Strings.state] = _toJSValue(state) object[Strings.history] = _toJSValue(history) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var state: JSValue { - get { jsObject[Strings.state].fromJSValue()! } - set { jsObject[Strings.state] = _toJSValue(newValue) } - } - @inlinable public var history: NavigationHistoryBehavior { - get { jsObject[Strings.history].fromJSValue()! } - set { jsObject[Strings.history] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _state = ReadWriteAttribute(jsObject: object, name: Strings.state) + _history = ReadWriteAttribute(jsObject: object, name: Strings.history) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var state: JSValue? + + @ReadWriteAttribute + public var history: NavigationHistoryBehavior? } -open class NavigationOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(info: JSValue? = nil) { +public class NavigationOptions: BridgedDictionary { + public convenience init(info: JSValue) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.info] = _toJSValue(info) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var info: JSValue { - get { jsObject[Strings.info].fromJSValue()! } - set { jsObject[Strings.info] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _info = ReadWriteAttribute(jsObject: object, name: Strings.info) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var info: JSValue? } + public class NavigationPreloadManager: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.NavigationPreloadManager].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable final public func enable() -> JSPromise { + @inlinable public func enable() -> JSPromise { let this = jsObject return this[Strings.enable].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func enable() - async throws(JSException) - { - let this = jsObject - let _promise: JSPromise = this[Strings.enable].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func enable() async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.enable].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func disable() -> JSPromise { + @inlinable public func disable() -> JSPromise { let this = jsObject return this[Strings.disable].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func disable() - async throws(JSException) - { - let this = jsObject - let _promise: JSPromise = this[Strings.disable].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func disable() async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.disable].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func setHeaderValue(value: String) -> JSPromise { + @inlinable public func setHeaderValue(value: String) -> JSPromise { let this = jsObject return this[Strings.setHeaderValue].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func setHeaderValue( - value: String - ) async throws(JSException) { - let this = jsObject - let _promise: JSPromise = this[Strings.setHeaderValue].function!(this: this, arguments: [_toJSValue(value)]) - .fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func setHeaderValue(value: String) async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.setHeaderValue].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func getState() -> JSPromise { + @inlinable public func getState() -> JSPromise { let this = jsObject return this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getState() - async throws(JSException) -> NavigationPreloadState - { - let this = jsObject - let _promise: JSPromise = this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func getState() async throws -> NavigationPreloadState { + let this = jsObject + let _promise: JSPromise = this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } } -open class NavigationPreloadState: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(enabled: Bool? = nil, headerValue: String? = nil) { +public class NavigationPreloadState: BridgedDictionary { + public convenience init(enabled: Bool, headerValue: String) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.enabled] = _toJSValue(enabled) object[Strings.headerValue] = _toJSValue(headerValue) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var enabled: Bool { - get { jsObject[Strings.enabled].fromJSValue()! } - set { jsObject[Strings.enabled] = _toJSValue(newValue) } - } - @inlinable public var headerValue: String { - get { jsObject[Strings.headerValue].fromJSValue()! } - set { jsObject[Strings.headerValue] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _enabled = ReadWriteAttribute(jsObject: object, name: Strings.enabled) + _headerValue = ReadWriteAttribute(jsObject: object, name: Strings.headerValue) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var enabled: Bool? + + @ReadWriteAttribute + public var headerValue: String? } -open class NavigationReloadOptions: NavigationOptions { - public convenience init(info: JSValue? = nil, state: JSValue? = nil) { +public class NavigationReloadOptions: BridgedDictionary { + public convenience init(state: JSValue) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.info] = _toJSValue(info) object[Strings.state] = _toJSValue(state) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var state: JSValue { - get { jsObject[Strings.state].fromJSValue()! } - set { jsObject[Strings.state] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _state = ReadWriteAttribute(jsObject: object, name: Strings.state) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var state: JSValue? } -open class NavigationResult: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(committed: JSPromise? = nil, finished: JSPromise? = nil) { +public class NavigationResult: BridgedDictionary { + public convenience init(committed: JSPromise, finished: JSPromise) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.committed] = _toJSValue(committed) object[Strings.finished] = _toJSValue(finished) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var committed: JSPromise { - get { jsObject[Strings.committed].fromJSValue()! } - set { jsObject[Strings.committed] = _toJSValue(newValue) } - } - @inlinable public var finished: JSPromise { - get { jsObject[Strings.finished].fromJSValue()! } - set { jsObject[Strings.finished] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _committed = ReadWriteAttribute(jsObject: object, name: Strings.committed) + _finished = ReadWriteAttribute(jsObject: object, name: Strings.finished) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var committed: JSPromise? + + @ReadWriteAttribute + public var finished: JSPromise? } + public enum NavigationScrollBehavior: JSString, JSValueCompatible { case afterTransition = "after-transition" case manual = "manual" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class NavigationTransition: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.NavigationTransition].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _navigationType = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigationType) + _from = ReadonlyAttribute(jsObject: jsObject, name: Strings.from) + _finished = ReadonlyAttribute(jsObject: jsObject, name: Strings.finished) + self.jsObject = jsObject + } - @inlinable public var navigationType: NavigationType { jsObject[Strings.navigationType].fromJSValue()! } + @ReadonlyAttribute + public var navigationType: NavigationType - @inlinable public var from: NavigationHistoryEntry { jsObject[Strings.from].fromJSValue()! } + @ReadonlyAttribute + public var from: NavigationHistoryEntry - @inlinable public var finished: JSPromise { jsObject[Strings.finished].fromJSValue()! } + @ReadonlyAttribute + public var finished: JSPromise } public enum NavigationType: JSString, JSValueCompatible { @@ -13871,139 +12779,163 @@ public enum NavigationType: JSString, JSValueCompatible { case traverse = "traverse" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -open class NavigationUpdateCurrentEntryOptions: JSDictionaryCompatible { - public let jsObject: JSObject +public class NavigationUpdateCurrentEntryOptions: BridgedDictionary { public convenience init(state: JSValue) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.state] = _toJSValue(state) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var state: JSValue { - get { jsObject[Strings.state].fromJSValue()! } - set { jsObject[Strings.state] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _state = ReadWriteAttribute(jsObject: object, name: Strings.state) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var state: JSValue } -public class Navigator: JSBridgedClass, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, - NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware -{ + +public class Navigator: JSBridgedClass, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Navigator].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _userActivation = ReadonlyAttribute(jsObject: jsObject, name: Strings.userActivation) + _mediaDevices = ReadonlyAttribute(jsObject: jsObject, name: Strings.mediaDevices) + _serviceWorker = ReadonlyAttribute(jsObject: jsObject, name: Strings.serviceWorker) + _permissions = ReadonlyAttribute(jsObject: jsObject, name: Strings.permissions) + self.jsObject = jsObject + } - @inlinable public var userActivation: UserActivation { jsObject[Strings.userActivation].fromJSValue()! } + @ReadonlyAttribute + public var userActivation: UserActivation - @inlinable public var mediaDevices: MediaDevices { jsObject[Strings.mediaDevices].fromJSValue()! } + @ReadonlyAttribute + public var mediaDevices: MediaDevices - @inlinable final public func getUserMedia( - constraints: MediaStreamConstraints, - successCallback: @escaping NavigatorUserMediaSuccessCallback, - errorCallback: @escaping NavigatorUserMediaErrorCallback - ) { + @inlinable public func getUserMedia(constraints: MediaStreamConstraints, successCallback: @escaping NavigatorUserMediaSuccessCallback, errorCallback: @escaping NavigatorUserMediaErrorCallback) { let this = jsObject - _ = this[Strings.getUserMedia].function!( - this: this, - arguments: [_toJSValue(constraints), _toJSValue(successCallback), _toJSValue(errorCallback)] - ) + _ = this[Strings.getUserMedia].function!(this: this, arguments: [_toJSValue(constraints), _toJSValue(successCallback), _toJSValue(errorCallback)]) } - @inlinable public var serviceWorker: ServiceWorkerContainer { jsObject[Strings.serviceWorker].fromJSValue()! } + @ReadonlyAttribute + public var serviceWorker: ServiceWorkerContainer - @inlinable public var permissions: Permissions { jsObject[Strings.permissions].fromJSValue()! } + @ReadonlyAttribute + public var permissions: Permissions } public protocol NavigatorConcurrentHardware: JSBridgedClass {} -extension NavigatorConcurrentHardware { - @inlinable public var hardwareConcurrency: UInt64 { jsObject[Strings.hardwareConcurrency].fromJSValue()! } +public extension NavigatorConcurrentHardware { + @inlinable var hardwareConcurrency: UInt64 { jsObject[Strings.hardwareConcurrency].fromJSValue()! } } + public protocol NavigatorContentUtils: JSBridgedClass {} -extension NavigatorContentUtils { - @inlinable public func registerProtocolHandler(scheme: String, url: String) { +public extension NavigatorContentUtils { + @inlinable func registerProtocolHandler(scheme: String, url: String) { let this = jsObject - _ = this[Strings.registerProtocolHandler].function!( - this: this, - arguments: [_toJSValue(scheme), _toJSValue(url)] - ) + _ = this[Strings.registerProtocolHandler].function!(this: this, arguments: [_toJSValue(scheme), _toJSValue(url)]) } - @inlinable public func unregisterProtocolHandler(scheme: String, url: String) { + @inlinable func unregisterProtocolHandler(scheme: String, url: String) { let this = jsObject - _ = this[Strings.unregisterProtocolHandler].function!( - this: this, - arguments: [_toJSValue(scheme), _toJSValue(url)] - ) + _ = this[Strings.unregisterProtocolHandler].function!(this: this, arguments: [_toJSValue(scheme), _toJSValue(url)]) } } + public protocol NavigatorCookies: JSBridgedClass {} -extension NavigatorCookies { - @inlinable public var cookieEnabled: Bool { jsObject[Strings.cookieEnabled].fromJSValue()! } +public extension NavigatorCookies { + @inlinable var cookieEnabled: Bool { jsObject[Strings.cookieEnabled].fromJSValue()! } } + public protocol NavigatorID: JSBridgedClass {} -extension NavigatorID { - @inlinable public var appCodeName: String { jsObject[Strings.appCodeName].fromJSValue()! } +public extension NavigatorID { + @inlinable var appCodeName: String { jsObject[Strings.appCodeName].fromJSValue()! } - @inlinable public var appName: String { jsObject[Strings.appName].fromJSValue()! } + @inlinable var appName: String { jsObject[Strings.appName].fromJSValue()! } - @inlinable public var appVersion: String { jsObject[Strings.appVersion].fromJSValue()! } + @inlinable var appVersion: String { jsObject[Strings.appVersion].fromJSValue()! } - @inlinable public var platform: String { jsObject[Strings.platform].fromJSValue()! } + @inlinable var platform: String { jsObject[Strings.platform].fromJSValue()! } - @inlinable public var product: String { jsObject[Strings.product].fromJSValue()! } + @inlinable var product: String { jsObject[Strings.product].fromJSValue()! } - @inlinable public var productSub: String { jsObject[Strings.productSub].fromJSValue()! } + @inlinable var productSub: String { jsObject[Strings.productSub].fromJSValue()! } - @inlinable public var userAgent: String { jsObject[Strings.userAgent].fromJSValue()! } + @inlinable var userAgent: String { jsObject[Strings.userAgent].fromJSValue()! } - @inlinable public var vendor: String { jsObject[Strings.vendor].fromJSValue()! } + @inlinable var vendor: String { jsObject[Strings.vendor].fromJSValue()! } - @inlinable public var vendorSub: String { jsObject[Strings.vendorSub].fromJSValue()! } + @inlinable var vendorSub: String { jsObject[Strings.vendorSub].fromJSValue()! } - @inlinable public func taintEnabled() -> Bool { + @inlinable func taintEnabled() -> Bool { let this = jsObject return this[Strings.taintEnabled].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var oscpu: String { jsObject[Strings.oscpu].fromJSValue()! } + @inlinable var oscpu: String { jsObject[Strings.oscpu].fromJSValue()! } } + public protocol NavigatorLanguage: JSBridgedClass {} -extension NavigatorLanguage { - @inlinable public var language: String { jsObject[Strings.language].fromJSValue()! } +public extension NavigatorLanguage { + @inlinable var language: String { jsObject[Strings.language].fromJSValue()! } - @inlinable public var languages: [String] { jsObject[Strings.languages].fromJSValue()! } + @inlinable var languages: [String] { jsObject[Strings.languages].fromJSValue()! } } + public protocol NavigatorOnLine: JSBridgedClass {} -extension NavigatorOnLine { @inlinable public var onLine: Bool { jsObject[Strings.onLine].fromJSValue()! } } +public extension NavigatorOnLine { + @inlinable var onLine: Bool { jsObject[Strings.onLine].fromJSValue()! } +} + public protocol NavigatorPlugins: JSBridgedClass {} -extension NavigatorPlugins { - @inlinable public var plugins: PluginArray { jsObject[Strings.plugins].fromJSValue()! } +public extension NavigatorPlugins { + @inlinable var plugins: PluginArray { jsObject[Strings.plugins].fromJSValue()! } - @inlinable public var mimeTypes: MimeTypeArray { jsObject[Strings.mimeTypes].fromJSValue()! } + @inlinable var mimeTypes: MimeTypeArray { jsObject[Strings.mimeTypes].fromJSValue()! } - @inlinable public func javaEnabled() -> Bool { + @inlinable func javaEnabled() -> Bool { let this = jsObject return this[Strings.javaEnabled].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var pdfViewerEnabled: Bool { jsObject[Strings.pdfViewerEnabled].fromJSValue()! } + @inlinable var pdfViewerEnabled: Bool { jsObject[Strings.pdfViewerEnabled].fromJSValue()! } } -open class Node: EventTarget { - @inlinable open override class var constructor: JSFunction? { JSObject.global[Strings.Node].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } +open class Node: EventTarget { + @inlinable override open class var constructor: JSFunction? { JSObject.global[Strings.Node].function } + + public required init(unsafelyWrapping jsObject: JSObject) { + _nodeType = ReadonlyAttribute(jsObject: jsObject, name: Strings.nodeType) + _nodeName = ReadonlyAttribute(jsObject: jsObject, name: Strings.nodeName) + _baseURI = ReadonlyAttribute(jsObject: jsObject, name: Strings.baseURI) + _isConnected = ReadonlyAttribute(jsObject: jsObject, name: Strings.isConnected) + _ownerDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.ownerDocument) + _parentNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.parentNode) + _parentElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.parentElement) + _childNodes = ReadonlyAttribute(jsObject: jsObject, name: Strings.childNodes) + _firstChild = ReadonlyAttribute(jsObject: jsObject, name: Strings.firstChild) + _lastChild = ReadonlyAttribute(jsObject: jsObject, name: Strings.lastChild) + _previousSibling = ReadonlyAttribute(jsObject: jsObject, name: Strings.previousSibling) + _nextSibling = ReadonlyAttribute(jsObject: jsObject, name: Strings.nextSibling) + _nodeValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.nodeValue) + _textContent = ReadWriteAttribute(jsObject: jsObject, name: Strings.textContent) + super.init(unsafelyWrapping: jsObject) + } public static let ELEMENT_NODE: UInt16 = 1 @@ -14029,66 +12961,74 @@ open class Node: EventTarget { public static let NOTATION_NODE: UInt16 = 12 - @inlinable public var nodeType: UInt16 { jsObject[Strings.nodeType].fromJSValue()! } + @ReadonlyAttribute + public var nodeType: UInt16 - @inlinable public var nodeName: String { jsObject[Strings.nodeName].fromJSValue()! } + @ReadonlyAttribute + public var nodeName: String - @inlinable public var baseURI: String { jsObject[Strings.baseURI].fromJSValue()! } + @ReadonlyAttribute + public var baseURI: String - @inlinable public var isConnected: Bool { jsObject[Strings.isConnected].fromJSValue()! } + @ReadonlyAttribute + public var isConnected: Bool - @inlinable public var ownerDocument: Document? { jsObject[Strings.ownerDocument].fromJSValue() } + @ReadonlyAttribute + public var ownerDocument: Document? - @inlinable final public func getRootNode(options: GetRootNodeOptions? = nil) -> Node { + @inlinable public func getRootNode(options: GetRootNodeOptions? = nil) -> Self { let this = jsObject return this[Strings.getRootNode].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public var parentNode: Node? { jsObject[Strings.parentNode].fromJSValue() } + @ReadonlyAttribute + public var parentNode: Node? - @inlinable public var parentElement: Element? { jsObject[Strings.parentElement].fromJSValue() } + @ReadonlyAttribute + public var parentElement: Element? - @inlinable final public func hasChildNodes() -> Bool { + @inlinable public func hasChildNodes() -> Bool { let this = jsObject return this[Strings.hasChildNodes].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var childNodes: NodeList { jsObject[Strings.childNodes].fromJSValue()! } + @ReadonlyAttribute + public var childNodes: NodeList - @inlinable public var firstChild: Node? { jsObject[Strings.firstChild].fromJSValue() } + @ReadonlyAttribute + public var firstChild: Node? - @inlinable public var lastChild: Node? { jsObject[Strings.lastChild].fromJSValue() } + @ReadonlyAttribute + public var lastChild: Node? - @inlinable public var previousSibling: Node? { jsObject[Strings.previousSibling].fromJSValue() } + @ReadonlyAttribute + public var previousSibling: Node? - @inlinable public var nextSibling: Node? { jsObject[Strings.nextSibling].fromJSValue() } + @ReadonlyAttribute + public var nextSibling: Node? - @inlinable public var nodeValue: String? { - get { jsObject[Strings.nodeValue].fromJSValue() } - set { jsObject[Strings.nodeValue] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var nodeValue: String? - @inlinable public var textContent: String? { - get { jsObject[Strings.textContent].fromJSValue() } - set { jsObject[Strings.textContent] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var textContent: String? - @inlinable final public func normalize() { + @inlinable public func normalize() { let this = jsObject _ = this[Strings.normalize].function!(this: this, arguments: []) } - @inlinable final public func cloneNode(deep: Bool? = nil) -> Node { + @inlinable public func cloneNode(deep: Bool? = nil) -> Self { let this = jsObject return this[Strings.cloneNode].function!(this: this, arguments: [_toJSValue(deep)]).fromJSValue()! } - @inlinable final public func isEqualNode(otherNode: Node?) -> Bool { + @inlinable public func isEqualNode(otherNode: Node?) -> Bool { let this = jsObject return this[Strings.isEqualNode].function!(this: this, arguments: [_toJSValue(otherNode)]).fromJSValue()! } - @inlinable final public func isSameNode(otherNode: Node?) -> Bool { + @inlinable public func isSameNode(otherNode: Node?) -> Bool { let this = jsObject return this[Strings.isSameNode].function!(this: this, arguments: [_toJSValue(otherNode)]).fromJSValue()! } @@ -14105,50 +13045,47 @@ open class Node: EventTarget { public static let DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: UInt16 = 0x20 - @inlinable final public func compareDocumentPosition(other: Node) -> UInt16 { + @inlinable public func compareDocumentPosition(other: Node) -> UInt16 { let this = jsObject - return this[Strings.compareDocumentPosition].function!(this: this, arguments: [_toJSValue(other)]) - .fromJSValue()! + return this[Strings.compareDocumentPosition].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable final public func contains(other: Node?) -> Bool { + @inlinable public func contains(other: Node?) -> Bool { let this = jsObject return this[Strings.contains].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable final public func lookupPrefix(namespace: String?) -> String? { + @inlinable public func lookupPrefix(namespace: String?) -> String? { let this = jsObject return this[Strings.lookupPrefix].function!(this: this, arguments: [_toJSValue(namespace)]).fromJSValue() } - @inlinable final public func lookupNamespaceURI(prefix: String?) -> String? { + @inlinable public func lookupNamespaceURI(prefix: String?) -> String? { let this = jsObject return this[Strings.lookupNamespaceURI].function!(this: this, arguments: [_toJSValue(prefix)]).fromJSValue() } - @inlinable final public func isDefaultNamespace(namespace: String?) -> Bool { + @inlinable public func isDefaultNamespace(namespace: String?) -> Bool { let this = jsObject return this[Strings.isDefaultNamespace].function!(this: this, arguments: [_toJSValue(namespace)]).fromJSValue()! } - @inlinable final public func insertBefore(node: Node, child: Node?) -> Node { + @inlinable public func insertBefore(node: Node, child: Node?) -> Self { let this = jsObject - return this[Strings.insertBefore].function!(this: this, arguments: [_toJSValue(node), _toJSValue(child)]) - .fromJSValue()! + return this[Strings.insertBefore].function!(this: this, arguments: [_toJSValue(node), _toJSValue(child)]).fromJSValue()! } - @inlinable final public func appendChild(node: Node) -> Node { + @inlinable public func appendChild(node: Node) -> Self { let this = jsObject return this[Strings.appendChild].function!(this: this, arguments: [_toJSValue(node)]).fromJSValue()! } - @inlinable final public func replaceChild(node: Node, child: Node) -> Node { + @inlinable public func replaceChild(node: Node, child: Node) -> Self { let this = jsObject - return this[Strings.replaceChild].function!(this: this, arguments: [_toJSValue(node), _toJSValue(child)]) - .fromJSValue()! + return this[Strings.replaceChild].function!(this: this, arguments: [_toJSValue(node), _toJSValue(child)]).fromJSValue()! } - @inlinable final public func removeChild(child: Node) -> Node { + @inlinable public func removeChild(child: Node) -> Self { let this = jsObject return this[Strings.removeChild].function!(this: this, arguments: [_toJSValue(child)]).fromJSValue()! } @@ -14159,31 +13096,39 @@ public class NodeIterator: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _root = ReadonlyAttribute(jsObject: jsObject, name: Strings.root) + _referenceNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.referenceNode) + _pointerBeforeReferenceNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.pointerBeforeReferenceNode) + _whatToShow = ReadonlyAttribute(jsObject: jsObject, name: Strings.whatToShow) + self.jsObject = jsObject + } - @inlinable public var root: Node { jsObject[Strings.root].fromJSValue()! } + @ReadonlyAttribute + public var root: Node - @inlinable public var referenceNode: Node { jsObject[Strings.referenceNode].fromJSValue()! } + @ReadonlyAttribute + public var referenceNode: Node - @inlinable public var pointerBeforeReferenceNode: Bool { - jsObject[Strings.pointerBeforeReferenceNode].fromJSValue()! - } + @ReadonlyAttribute + public var pointerBeforeReferenceNode: Bool - @inlinable public var whatToShow: UInt32 { jsObject[Strings.whatToShow].fromJSValue()! } + @ReadonlyAttribute + public var whatToShow: UInt32 // XXX: member 'filter' is ignored - @inlinable final public func nextNode() -> Node? { + @inlinable public func nextNode() -> Node? { let this = jsObject return this[Strings.nextNode].function!(this: this, arguments: []).fromJSValue() } - @inlinable final public func previousNode() -> Node? { + @inlinable public func previousNode() -> Node? { let this = jsObject return this[Strings.previousNode].function!(this: this, arguments: []).fromJSValue() } - @inlinable final public func detach() { + @inlinable public func detach() { let this = jsObject _ = this[Strings.detach].function!(this: this, arguments: []) } @@ -14194,262 +13139,247 @@ public class NodeList: JSBridgedClass, Sequence { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public subscript(key: Int) -> Node? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: Int) -> Node? { + jsObject[key].fromJSValue() + } - @inlinable final public func item(index: UInt32) -> Node? { + @inlinable public func item(index: UInt32) -> Node? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 public typealias Element = Node - public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } + public func makeIterator() -> ValueIterableIterator { + ValueIterableIterator(sequence: self) + } } public protocol NonDocumentTypeChildNode: JSBridgedClass {} -extension NonDocumentTypeChildNode { - @inlinable public var previousElementSibling: Element? { jsObject[Strings.previousElementSibling].fromJSValue() } +public extension NonDocumentTypeChildNode { + @inlinable var previousElementSibling: Element? { jsObject[Strings.previousElementSibling].fromJSValue() } - @inlinable public var nextElementSibling: Element? { jsObject[Strings.nextElementSibling].fromJSValue() } + @inlinable var nextElementSibling: Element? { jsObject[Strings.nextElementSibling].fromJSValue() } } + public protocol NonElementParentNode: JSBridgedClass {} -extension NonElementParentNode { - @inlinable public func getElementById(elementId: String) -> Element? { +public extension NonElementParentNode { + @inlinable func getElementById(elementId: String) -> Element? { let this = jsObject return this[Strings.getElementById].function!(this: this, arguments: [_toJSValue(elementId)]).fromJSValue() } } + public class OffscreenCanvas: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.OffscreenCanvas].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.OffscreenCanvas].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) + _oncontextlost = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncontextlost) + _oncontextrestored = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncontextrestored) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(width: UInt64, height: UInt64) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(width), _toJSValue(height)])) } - @inlinable public var width: UInt64 { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var width: UInt64 - @inlinable public var height: UInt64 { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var height: UInt64 // XXX: member 'getContext' is ignored - @inlinable final public func transferToImageBitmap() -> ImageBitmap { + @inlinable public func transferToImageBitmap() -> ImageBitmap { let this = jsObject return this[Strings.transferToImageBitmap].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func convertToBlob(options: ImageEncodeOptions? = nil) -> JSPromise { + @inlinable public func convertToBlob(options: ImageEncodeOptions? = nil) -> JSPromise { let this = jsObject return this[Strings.convertToBlob].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func convertToBlob( - options: ImageEncodeOptions? = nil - ) async throws(JSException) -> Blob { - let this = jsObject - let _promise: JSPromise = this[Strings.convertToBlob].function!( - this: this, - arguments: [_toJSValue(options)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif - - @inlinable public var oncontextlost: EventHandler { - get { - guard let function = jsObject[Strings.oncontextlost].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncontextlost] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncontextlost] = .null - } - } + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func convertToBlob(options: ImageEncodeOptions? = nil) async throws -> Blob { + let this = jsObject + let _promise: JSPromise = this[Strings.convertToBlob].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! + return try await _promise.value.fromJSValue()! } - @inlinable public var oncontextrestored: EventHandler { - get { - guard let function = jsObject[Strings.oncontextrestored].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncontextrestored] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncontextrestored] = .null - } - } - } + @ClosureAttribute1Optional + public var oncontextlost: EventHandler + + @ClosureAttribute1Optional + public var oncontextrestored: EventHandler } -public class OffscreenCanvasRenderingContext2D: JSBridgedClass, CanvasState, CanvasTransform, CanvasCompositing, - CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, - CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath -{ - @inlinable public class var constructor: JSFunction? { - JSObject.global[Strings.OffscreenCanvasRenderingContext2D].function - } +public class OffscreenCanvasRenderingContext2D: JSBridgedClass, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.OffscreenCanvasRenderingContext2D].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _canvas = ReadonlyAttribute(jsObject: jsObject, name: Strings.canvas) + self.jsObject = jsObject + } - @inlinable final public func commit() { + @inlinable public func commit() { let this = jsObject _ = this[Strings.commit].function!(this: this, arguments: []) } - @inlinable public var canvas: OffscreenCanvas { jsObject[Strings.canvas].fromJSValue()! } + @ReadonlyAttribute + public var canvas: OffscreenCanvas } public class OverconstrainedError: DOMException { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.OverconstrainedError].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.OverconstrainedError].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _constraint = ReadonlyAttribute(jsObject: jsObject, name: Strings.constraint) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(constraint: String, message: String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(constraint), _toJSValue(message)])) } - @inlinable public var constraint: String { jsObject[Strings.constraint].fromJSValue()! } + @ReadonlyAttribute + public var constraint: String } public class PageTransitionEvent: Event { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.PageTransitionEvent].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.PageTransitionEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _persisted = ReadonlyAttribute(jsObject: jsObject, name: Strings.persisted) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: PageTransitionEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var persisted: Bool { jsObject[Strings.persisted].fromJSValue()! } + @ReadonlyAttribute + public var persisted: Bool } -open class PageTransitionEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - persisted: Bool? = nil - ) { +public class PageTransitionEventInit: BridgedDictionary { + public convenience init(persisted: Bool) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.persisted] = _toJSValue(persisted) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var persisted: Bool { - get { jsObject[Strings.persisted].fromJSValue()! } - set { jsObject[Strings.persisted] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _persisted = ReadWriteAttribute(jsObject: object, name: Strings.persisted) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var persisted: Bool? } + public protocol ParentNode: JSBridgedClass {} -extension ParentNode { - @inlinable public var children: HTMLCollection { jsObject[Strings.children].fromJSValue()! } +public extension ParentNode { + @inlinable var children: HTMLCollection { jsObject[Strings.children].fromJSValue()! } - @inlinable public var firstElementChild: Element? { jsObject[Strings.firstElementChild].fromJSValue() } + @inlinable var firstElementChild: Element? { jsObject[Strings.firstElementChild].fromJSValue() } - @inlinable public var lastElementChild: Element? { jsObject[Strings.lastElementChild].fromJSValue() } + @inlinable var lastElementChild: Element? { jsObject[Strings.lastElementChild].fromJSValue() } - @inlinable public var childElementCount: UInt32 { jsObject[Strings.childElementCount].fromJSValue()! } + @inlinable var childElementCount: UInt32 { jsObject[Strings.childElementCount].fromJSValue()! } - @inlinable public func prepend(nodes: Node_or_String...) { + @inlinable func prepend(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.prepend].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable public func append(nodes: Node_or_String...) { + @inlinable func append(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.append].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable public func replaceChildren(nodes: Node_or_String...) { + @inlinable func replaceChildren(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.replaceChildren].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable public func querySelector(selectors: String) -> Element? { + @inlinable func querySelector(selectors: String) -> Element? { let this = jsObject return this[Strings.querySelector].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue() } - @inlinable public func querySelectorAll(selectors: String) -> NodeList { + @inlinable func querySelectorAll(selectors: String) -> NodeList { let this = jsObject return this[Strings.querySelectorAll].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue()! } } + public class Path2D: JSBridgedClass, CanvasPath { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Path2D].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } @inlinable public convenience init(path: Path2D_or_String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(path)])) } - @inlinable final public func addPath(path: Path2D, transform: DOMMatrix2DInit? = nil) { + @inlinable public func addPath(path: Path2D, transform: DOMMatrix2DInit? = nil) { let this = jsObject _ = this[Strings.addPath].function!(this: this, arguments: [_toJSValue(path), _toJSValue(transform)]) } } public class Performance: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Performance].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Performance].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _timeOrigin = ReadonlyAttribute(jsObject: jsObject, name: Strings.timeOrigin) + super.init(unsafelyWrapping: jsObject) + } - @inlinable final public func now() -> DOMHighResTimeStamp { + @inlinable public func now() -> DOMHighResTimeStamp { let this = jsObject return this[Strings.now].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var timeOrigin: DOMHighResTimeStamp { jsObject[Strings.timeOrigin].fromJSValue()! } + @ReadonlyAttribute + public var timeOrigin: DOMHighResTimeStamp - @inlinable final public func toJSON() -> JSObject { + @inlinable public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func getEntries() -> PerformanceEntryList { + @inlinable public func getEntries() -> PerformanceEntryList { let this = jsObject return this[Strings.getEntries].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func getEntriesByType(type: String) -> PerformanceEntryList { + @inlinable public func getEntriesByType(type: String) -> PerformanceEntryList { let this = jsObject return this[Strings.getEntriesByType].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @inlinable final public func getEntriesByName(name: String, type: String? = nil) -> PerformanceEntryList { + @inlinable public func getEntriesByName(name: String, type: String? = nil) -> PerformanceEntryList { let this = jsObject - return this[Strings.getEntriesByName].function!(this: this, arguments: [_toJSValue(name), _toJSValue(type)]) - .fromJSValue()! + return this[Strings.getEntriesByName].function!(this: this, arguments: [_toJSValue(name), _toJSValue(type)]).fromJSValue()! } } @@ -14458,17 +13388,27 @@ public class PerformanceEntry: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) + _entryType = ReadonlyAttribute(jsObject: jsObject, name: Strings.entryType) + _startTime = ReadonlyAttribute(jsObject: jsObject, name: Strings.startTime) + _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) + self.jsObject = jsObject + } - @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } + @ReadonlyAttribute + public var name: String - @inlinable public var entryType: String { jsObject[Strings.entryType].fromJSValue()! } + @ReadonlyAttribute + public var entryType: String - @inlinable public var startTime: DOMHighResTimeStamp { jsObject[Strings.startTime].fromJSValue()! } + @ReadonlyAttribute + public var startTime: DOMHighResTimeStamp - @inlinable public var duration: DOMHighResTimeStamp { jsObject[Strings.duration].fromJSValue()! } + @ReadonlyAttribute + public var duration: DOMHighResTimeStamp - @inlinable final public func toJSON() -> JSObject { + @inlinable public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -14479,175 +13419,175 @@ public class PerformanceObserver: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _supportedEntryTypes = ReadonlyAttribute(jsObject: jsObject, name: Strings.supportedEntryTypes) + self.jsObject = jsObject + } @inlinable public convenience init(callback: @escaping PerformanceObserverCallback) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(callback)])) } - @inlinable final public func observe(options: PerformanceObserverInit? = nil) { + @inlinable public func observe(options: PerformanceObserverInit? = nil) { let this = jsObject _ = this[Strings.observe].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable final public func disconnect() { + @inlinable public func disconnect() { let this = jsObject _ = this[Strings.disconnect].function!(this: this, arguments: []) } - @inlinable final public func takeRecords() -> PerformanceEntryList { + @inlinable public func takeRecords() -> PerformanceEntryList { let this = jsObject return this[Strings.takeRecords].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var supportedEntryTypes: [String] { jsObject[Strings.supportedEntryTypes].fromJSValue()! } + @ReadonlyAttribute + public var supportedEntryTypes: [String] } -open class PerformanceObserverCallbackOptions: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(droppedEntriesCount: UInt64? = nil) { +public class PerformanceObserverCallbackOptions: BridgedDictionary { + public convenience init(droppedEntriesCount: UInt64) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.droppedEntriesCount] = _toJSValue(droppedEntriesCount) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var droppedEntriesCount: UInt64 { - get { jsObject[Strings.droppedEntriesCount].fromJSValue()! } - set { jsObject[Strings.droppedEntriesCount] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _droppedEntriesCount = ReadWriteAttribute(jsObject: object, name: Strings.droppedEntriesCount) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var droppedEntriesCount: UInt64? } + public class PerformanceObserverEntryList: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { - JSObject.global[Strings.PerformanceObserverEntryList].function - } + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.PerformanceObserverEntryList].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable final public func getEntries() -> PerformanceEntryList { + @inlinable public func getEntries() -> PerformanceEntryList { let this = jsObject return this[Strings.getEntries].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func getEntriesByType(type: String) -> PerformanceEntryList { + @inlinable public func getEntriesByType(type: String) -> PerformanceEntryList { let this = jsObject return this[Strings.getEntriesByType].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @inlinable final public func getEntriesByName(name: String, type: String? = nil) -> PerformanceEntryList { + @inlinable public func getEntriesByName(name: String, type: String? = nil) -> PerformanceEntryList { let this = jsObject - return this[Strings.getEntriesByName].function!(this: this, arguments: [_toJSValue(name), _toJSValue(type)]) - .fromJSValue()! + return this[Strings.getEntriesByName].function!(this: this, arguments: [_toJSValue(name), _toJSValue(type)]).fromJSValue()! } } -open class PerformanceObserverInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(entryTypes: [String]? = nil, type: String? = nil, buffered: Bool? = nil) { +public class PerformanceObserverInit: BridgedDictionary { + public convenience init(entryTypes: [String], type: String, buffered: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.entryTypes] = _toJSValue(entryTypes) object[Strings.type] = _toJSValue(type) object[Strings.buffered] = _toJSValue(buffered) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var entryTypes: [String] { - get { jsObject[Strings.entryTypes].fromJSValue()! } - set { jsObject[Strings.entryTypes] = _toJSValue(newValue) } - } - @inlinable public var type: String { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } - @inlinable public var buffered: Bool { - get { jsObject[Strings.buffered].fromJSValue()! } - set { jsObject[Strings.buffered] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _entryTypes = ReadWriteAttribute(jsObject: object, name: Strings.entryTypes) + _type = ReadWriteAttribute(jsObject: object, name: Strings.type) + _buffered = ReadWriteAttribute(jsObject: object, name: Strings.buffered) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var entryTypes: [String]? + + @ReadWriteAttribute + public var type: String? + + @ReadWriteAttribute + public var buffered: Bool? } -open class PermissionDescriptor: JSDictionaryCompatible { - public let jsObject: JSObject +public class PermissionDescriptor: BridgedDictionary { public convenience init(name: String) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.name] = _toJSValue(name) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _name = ReadWriteAttribute(jsObject: object, name: Strings.name) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var name: String } -open class PermissionSetParameters: JSDictionaryCompatible { - public let jsObject: JSObject +public class PermissionSetParameters: BridgedDictionary { public convenience init(descriptor: PermissionDescriptor, state: PermissionState) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.descriptor] = _toJSValue(descriptor) object[Strings.state] = _toJSValue(state) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var descriptor: PermissionDescriptor { - get { jsObject[Strings.descriptor].fromJSValue()! } - set { jsObject[Strings.descriptor] = _toJSValue(newValue) } - } - @inlinable public var state: PermissionState { - get { jsObject[Strings.state].fromJSValue()! } - set { jsObject[Strings.state] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _descriptor = ReadWriteAttribute(jsObject: object, name: Strings.descriptor) + _state = ReadWriteAttribute(jsObject: object, name: Strings.state) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var descriptor: PermissionDescriptor + + @ReadWriteAttribute + public var state: PermissionState } + public enum PermissionState: JSString, JSValueCompatible { case granted = "granted" case denied = "denied" case prompt = "prompt" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class PermissionStatus: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.PermissionStatus].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.PermissionStatus].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) + _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) + _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var state: PermissionState { jsObject[Strings.state].fromJSValue()! } + @ReadonlyAttribute + public var state: PermissionState - @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } + @ReadonlyAttribute + public var name: String - @inlinable public var onchange: EventHandler { - get { - guard let function = jsObject[Strings.onchange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onchange] = .null - } - } - } + @ClosureAttribute1Optional + public var onchange: EventHandler } public class Permissions: JSBridgedClass { @@ -14655,72 +13595,83 @@ public class Permissions: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable final public func query(permissionDesc: JSObject) -> JSPromise { + @inlinable public func query(permissionDesc: JSObject) -> JSPromise { let this = jsObject return this[Strings.query].function!(this: this, arguments: [_toJSValue(permissionDesc)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func query( - permissionDesc: JSObject - ) async throws(JSException) -> PermissionStatus { - let this = jsObject - let _promise: JSPromise = this[Strings.query].function!(this: this, arguments: [_toJSValue(permissionDesc)]) - .fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func query(permissionDesc: JSObject) async throws -> PermissionStatus { + let this = jsObject + let _promise: JSPromise = this[Strings.query].function!(this: this, arguments: [_toJSValue(permissionDesc)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } } -open class PlaneLayout: JSDictionaryCompatible { - public let jsObject: JSObject - +public class PlaneLayout: BridgedDictionary { public convenience init(offset: UInt32, stride: UInt32) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.offset] = _toJSValue(offset) object[Strings.stride] = _toJSValue(stride) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var offset: UInt32 { - get { jsObject[Strings.offset].fromJSValue()! } - set { jsObject[Strings.offset] = _toJSValue(newValue) } - } - @inlinable public var stride: UInt32 { - get { jsObject[Strings.stride].fromJSValue()! } - set { jsObject[Strings.stride] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _offset = ReadWriteAttribute(jsObject: object, name: Strings.offset) + _stride = ReadWriteAttribute(jsObject: object, name: Strings.stride) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var offset: UInt32 + + @ReadWriteAttribute + public var stride: UInt32 } + public class Plugin: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Plugin].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) + _description = ReadonlyAttribute(jsObject: jsObject, name: Strings.description) + _filename = ReadonlyAttribute(jsObject: jsObject, name: Strings.filename) + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } + @ReadonlyAttribute + public var name: String - @inlinable public var description: String { jsObject[Strings.description].fromJSValue()! } + @ReadonlyAttribute + public var description: String - @inlinable public var filename: String { jsObject[Strings.filename].fromJSValue()! } + @ReadonlyAttribute + public var filename: String - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> MimeType? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: Int) -> MimeType? { + jsObject[key].fromJSValue() + } - @inlinable final public func item(index: UInt32) -> MimeType? { + @inlinable public func item(index: UInt32) -> MimeType? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> MimeType? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: String) -> MimeType? { + jsObject[key].fromJSValue() + } - @inlinable final public func namedItem(name: String) -> MimeType? { + @inlinable public func namedItem(name: String) -> MimeType? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } @@ -14731,312 +13682,328 @@ public class PluginArray: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable final public func refresh() { + @inlinable public func refresh() { let this = jsObject _ = this[Strings.refresh].function!(this: this, arguments: []) } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> Plugin? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: Int) -> Plugin? { + jsObject[key].fromJSValue() + } - @inlinable final public func item(index: UInt32) -> Plugin? { + @inlinable public func item(index: UInt32) -> Plugin? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> Plugin? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: String) -> Plugin? { + jsObject[key].fromJSValue() + } - @inlinable final public func namedItem(name: String) -> Plugin? { + @inlinable public func namedItem(name: String) -> Plugin? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } } public class PopStateEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.PopStateEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.PopStateEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: PopStateEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var state: JSValue { jsObject[Strings.state].fromJSValue()! } + @ReadonlyAttribute + public var state: JSValue } -open class PopStateEventInit: EventInit { - - public convenience init(bubbles: Bool? = nil, cancelable: Bool? = nil, composed: Bool? = nil, state: JSValue? = nil) - { +public class PopStateEventInit: BridgedDictionary { + public convenience init(state: JSValue) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.state] = _toJSValue(state) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var state: JSValue { - get { jsObject[Strings.state].fromJSValue()! } - set { jsObject[Strings.state] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _state = ReadWriteAttribute(jsObject: object, name: Strings.state) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var state: JSValue? } + public protocol PopoverInvokerElement: JSBridgedClass {} -extension PopoverInvokerElement { - @inlinable public var popoverTargetElement: Element? { +public extension PopoverInvokerElement { + @inlinable var popoverTargetElement: Element? { get { jsObject[Strings.popoverTargetElement].fromJSValue() } - set { jsObject[Strings.popoverTargetElement] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.popoverTargetElement] = _toJSValue(newValue) } } - @inlinable public var popoverTargetAction: String { + @inlinable var popoverTargetAction: String { get { jsObject[Strings.popoverTargetAction].fromJSValue()! } - set { jsObject[Strings.popoverTargetAction] = _toJSValue(newValue) } + nonmutating set { jsObject[Strings.popoverTargetAction] = _toJSValue(newValue) } } } + public enum PredefinedColorSpace: JSString, JSValueCompatible { case srgb = "srgb" case displayP3 = "display-p3" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum PremultiplyAlpha: JSString, JSValueCompatible { case none = "none" case premultiply = "premultiply" case `default` = "default" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class ProcessingInstruction: CharacterData { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.ProcessingInstruction].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ProcessingInstruction].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _target = ReadonlyAttribute(jsObject: jsObject, name: Strings.target) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var target: String { jsObject[Strings.target].fromJSValue()! } + @ReadonlyAttribute + public var target: String } public class ProgressEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.ProgressEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ProgressEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _lengthComputable = ReadonlyAttribute(jsObject: jsObject, name: Strings.lengthComputable) + _loaded = ReadonlyAttribute(jsObject: jsObject, name: Strings.loaded) + _total = ReadonlyAttribute(jsObject: jsObject, name: Strings.total) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: ProgressEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var lengthComputable: Bool { jsObject[Strings.lengthComputable].fromJSValue()! } + @ReadonlyAttribute + public var lengthComputable: Bool - @inlinable public var loaded: UInt64 { jsObject[Strings.loaded].fromJSValue()! } + @ReadonlyAttribute + public var loaded: UInt64 - @inlinable public var total: UInt64 { jsObject[Strings.total].fromJSValue()! } + @ReadonlyAttribute + public var total: UInt64 } -open class ProgressEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - lengthComputable: Bool? = nil, - loaded: UInt64? = nil, - total: UInt64? = nil - ) { +public class ProgressEventInit: BridgedDictionary { + public convenience init(lengthComputable: Bool, loaded: UInt64, total: UInt64) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.lengthComputable] = _toJSValue(lengthComputable) object[Strings.loaded] = _toJSValue(loaded) object[Strings.total] = _toJSValue(total) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var lengthComputable: Bool { - get { jsObject[Strings.lengthComputable].fromJSValue()! } - set { jsObject[Strings.lengthComputable] = _toJSValue(newValue) } - } - @inlinable public var loaded: UInt64 { - get { jsObject[Strings.loaded].fromJSValue()! } - set { jsObject[Strings.loaded] = _toJSValue(newValue) } - } - @inlinable public var total: UInt64 { - get { jsObject[Strings.total].fromJSValue()! } - set { jsObject[Strings.total] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _lengthComputable = ReadWriteAttribute(jsObject: object, name: Strings.lengthComputable) + _loaded = ReadWriteAttribute(jsObject: object, name: Strings.loaded) + _total = ReadWriteAttribute(jsObject: object, name: Strings.total) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var lengthComputable: Bool? + + @ReadWriteAttribute + public var loaded: UInt64? + + @ReadWriteAttribute + public var total: UInt64? } + public class PromiseRejectionEvent: Event { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.PromiseRejectionEvent].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.PromiseRejectionEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _promise = ReadonlyAttribute(jsObject: jsObject, name: Strings.promise) + _reason = ReadonlyAttribute(jsObject: jsObject, name: Strings.reason) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: PromiseRejectionEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var promise: JSPromise { jsObject[Strings.promise].fromJSValue()! } + @ReadonlyAttribute + public var promise: JSPromise - @inlinable public var reason: JSValue { jsObject[Strings.reason].fromJSValue()! } + @ReadonlyAttribute + public var reason: JSValue } -open class PromiseRejectionEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - promise: JSPromise, - reason: JSValue? = nil - ) { +public class PromiseRejectionEventInit: BridgedDictionary { + public convenience init(promise: JSPromise, reason: JSValue) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.promise] = _toJSValue(promise) object[Strings.reason] = _toJSValue(reason) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var promise: JSPromise { - get { jsObject[Strings.promise].fromJSValue()! } - set { jsObject[Strings.promise] = _toJSValue(newValue) } - } - @inlinable public var reason: JSValue { - get { jsObject[Strings.reason].fromJSValue()! } - set { jsObject[Strings.reason] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _promise = ReadWriteAttribute(jsObject: object, name: Strings.promise) + _reason = ReadWriteAttribute(jsObject: object, name: Strings.reason) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var promise: JSPromise + + @ReadWriteAttribute + public var reason: JSValue? } -open class QueuingStrategy: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(highWaterMark: Double? = nil, size: QueuingStrategySize? = nil) { +public class QueuingStrategy: BridgedDictionary { + public convenience init(highWaterMark: Double, size: @escaping QueuingStrategySize) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.highWaterMark] = _toJSValue(highWaterMark) - object[Strings.size] = _toJSValue(size) - + ClosureAttribute1[Strings.size, in: object] = size self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var highWaterMark: Double { - get { jsObject[Strings.highWaterMark].fromJSValue()! } - set { jsObject[Strings.highWaterMark] = _toJSValue(newValue) } - } - @inlinable public var size: QueuingStrategySize { - get { - let function = jsObject[Strings.size].function! - return { function(_toJSValue($0)).fromJSValue()! } - } - set { jsObject[Strings.size] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + public required init(unsafelyWrapping object: JSObject) { + _highWaterMark = ReadWriteAttribute(jsObject: object, name: Strings.highWaterMark) + _size = ClosureAttribute1(jsObject: object, name: Strings.size) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var highWaterMark: Double? + + @ClosureAttribute1 + public var size: QueuingStrategySize } -open class QueuingStrategyInit: JSDictionaryCompatible { - public let jsObject: JSObject +public class QueuingStrategyInit: BridgedDictionary { public convenience init(highWaterMark: Double) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.highWaterMark] = _toJSValue(highWaterMark) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var highWaterMark: Double { - get { jsObject[Strings.highWaterMark].fromJSValue()! } - set { jsObject[Strings.highWaterMark] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _highWaterMark = ReadWriteAttribute(jsObject: object, name: Strings.highWaterMark) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var highWaterMark: Double } -public class RadioNodeList: NodeList { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.RadioNodeList].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } +public class RadioNodeList: NodeList { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.RadioNodeList].function } - @inlinable public var value: String { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) + super.init(unsafelyWrapping: jsObject) } + + @ReadWriteAttribute + public var value: String } public class Range: AbstractRange { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Range].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Range].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _commonAncestorContainer = ReadonlyAttribute(jsObject: jsObject, name: Strings.commonAncestorContainer) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable public var commonAncestorContainer: Node { jsObject[Strings.commonAncestorContainer].fromJSValue()! } + @ReadonlyAttribute + public var commonAncestorContainer: Node - @inlinable final public func setStart(node: Node, offset: UInt32) { + @inlinable public func setStart(node: Node, offset: UInt32) { let this = jsObject _ = this[Strings.setStart].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]) } - @inlinable final public func setEnd(node: Node, offset: UInt32) { + @inlinable public func setEnd(node: Node, offset: UInt32) { let this = jsObject _ = this[Strings.setEnd].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]) } - @inlinable final public func setStartBefore(node: Node) { + @inlinable public func setStartBefore(node: Node) { let this = jsObject _ = this[Strings.setStartBefore].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable final public func setStartAfter(node: Node) { + @inlinable public func setStartAfter(node: Node) { let this = jsObject _ = this[Strings.setStartAfter].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable final public func setEndBefore(node: Node) { + @inlinable public func setEndBefore(node: Node) { let this = jsObject _ = this[Strings.setEndBefore].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable final public func setEndAfter(node: Node) { + @inlinable public func setEndAfter(node: Node) { let this = jsObject _ = this[Strings.setEndAfter].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable final public func collapse(toStart: Bool? = nil) { + @inlinable public func collapse(toStart: Bool? = nil) { let this = jsObject _ = this[Strings.collapse].function!(this: this, arguments: [_toJSValue(toStart)]) } - @inlinable final public func selectNode(node: Node) { + @inlinable public func selectNode(node: Node) { let this = jsObject _ = this[Strings.selectNode].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable final public func selectNodeContents(node: Node) { + @inlinable public func selectNodeContents(node: Node) { let this = jsObject _ = this[Strings.selectNodeContents].function!(this: this, arguments: [_toJSValue(node)]) } @@ -15049,223 +14016,203 @@ public class Range: AbstractRange { public static let END_TO_START: UInt16 = 3 - @inlinable final public func compareBoundaryPoints(how: UInt16, sourceRange: Range) -> Int16 { + @inlinable public func compareBoundaryPoints(how: UInt16, sourceRange: Range) -> Int16 { let this = jsObject - return this[Strings.compareBoundaryPoints].function!( - this: this, - arguments: [_toJSValue(how), _toJSValue(sourceRange)] - ).fromJSValue()! + return this[Strings.compareBoundaryPoints].function!(this: this, arguments: [_toJSValue(how), _toJSValue(sourceRange)]).fromJSValue()! } - @inlinable final public func deleteContents() { + @inlinable public func deleteContents() { let this = jsObject _ = this[Strings.deleteContents].function!(this: this, arguments: []) } - @inlinable final public func extractContents() -> DocumentFragment { + @inlinable public func extractContents() -> DocumentFragment { let this = jsObject return this[Strings.extractContents].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func cloneContents() -> DocumentFragment { + @inlinable public func cloneContents() -> DocumentFragment { let this = jsObject return this[Strings.cloneContents].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func insertNode(node: Node) { + @inlinable public func insertNode(node: Node) { let this = jsObject _ = this[Strings.insertNode].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable final public func surroundContents(newParent: Node) { + @inlinable public func surroundContents(newParent: Node) { let this = jsObject _ = this[Strings.surroundContents].function!(this: this, arguments: [_toJSValue(newParent)]) } - @inlinable final public func cloneRange() -> Range { + @inlinable public func cloneRange() -> Self { let this = jsObject return this[Strings.cloneRange].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func detach() { + @inlinable public func detach() { let this = jsObject _ = this[Strings.detach].function!(this: this, arguments: []) } - @inlinable final public func isPointInRange(node: Node, offset: UInt32) -> Bool { + @inlinable public func isPointInRange(node: Node, offset: UInt32) -> Bool { let this = jsObject - return this[Strings.isPointInRange].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]) - .fromJSValue()! + return this[Strings.isPointInRange].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]).fromJSValue()! } - @inlinable final public func comparePoint(node: Node, offset: UInt32) -> Int16 { + @inlinable public func comparePoint(node: Node, offset: UInt32) -> Int16 { let this = jsObject - return this[Strings.comparePoint].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]) - .fromJSValue()! + return this[Strings.comparePoint].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]).fromJSValue()! } - @inlinable final public func intersectsNode(node: Node) -> Bool { + @inlinable public func intersectsNode(node: Node) -> Bool { let this = jsObject return this[Strings.intersectsNode].function!(this: this, arguments: [_toJSValue(node)]).fromJSValue()! } - @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } + @inlinable public var description: String { + jsObject[Strings.toString]!().fromJSValue()! + } - @inlinable final public func getClientRects() -> DOMRectList { + @inlinable public func getClientRects() -> DOMRectList { let this = jsObject return this[Strings.getClientRects].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func getBoundingClientRect() -> DOMRect { + @inlinable public func getBoundingClientRect() -> DOMRect { let this = jsObject return this[Strings.getBoundingClientRect].function!(this: this, arguments: []).fromJSValue()! } } public class ReadableByteStreamController: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { - JSObject.global[Strings.ReadableByteStreamController].function - } + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableByteStreamController].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _byobRequest = ReadonlyAttribute(jsObject: jsObject, name: Strings.byobRequest) + _desiredSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.desiredSize) + self.jsObject = jsObject + } - @inlinable public var byobRequest: ReadableStreamBYOBRequest? { jsObject[Strings.byobRequest].fromJSValue() } + @ReadonlyAttribute + public var byobRequest: ReadableStreamBYOBRequest? - @inlinable public var desiredSize: Double? { jsObject[Strings.desiredSize].fromJSValue() } + @ReadonlyAttribute + public var desiredSize: Double? - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @inlinable final public func enqueue(chunk: ArrayBufferView) { + @inlinable public func enqueue(chunk: ArrayBufferView) { let this = jsObject _ = this[Strings.enqueue].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable final public func error(e: JSValue? = nil) { + @inlinable public func error(e: JSValue? = nil) { let this = jsObject _ = this[Strings.error].function!(this: this, arguments: [_toJSValue(e)]) } } -public class ReadableStream: JSBridgedClass { +public class ReadableStream: JSBridgedClass, AsyncSequence { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableStream].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _locked = ReadonlyAttribute(jsObject: jsObject, name: Strings.locked) + self.jsObject = jsObject + } @inlinable public convenience init(underlyingSource: JSObject? = nil, strategy: QueuingStrategy? = nil) { - self.init( - unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(underlyingSource), _toJSValue(strategy)]) - ) + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(underlyingSource), _toJSValue(strategy)])) } - @inlinable public class func from(asyncIterable: JSValue) -> ReadableStream { + @inlinable public class func from(asyncIterable: JSValue) -> Self { let this = constructor! return this[Strings.from].function!(this: this, arguments: [_toJSValue(asyncIterable)]).fromJSValue()! } - @inlinable public var locked: Bool { jsObject[Strings.locked].fromJSValue()! } + @ReadonlyAttribute + public var locked: Bool - @inlinable final public func cancel(reason: JSValue? = nil) -> JSPromise { + @inlinable public func cancel(reason: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func cancel( - reason: JSValue? = nil - ) async throws(JSException) { - let this = jsObject - let _promise: JSPromise = this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]) - .fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func cancel(reason: JSValue? = nil) async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func getReader(options: ReadableStreamGetReaderOptions? = nil) -> ReadableStreamReader { + @inlinable public func getReader(options: ReadableStreamGetReaderOptions? = nil) -> ReadableStreamReader { let this = jsObject return this[Strings.getReader].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable final public func pipeThrough( - transform: ReadableWritablePair, - options: StreamPipeOptions? = nil - ) -> ReadableStream { + @inlinable public func pipeThrough(transform: ReadableWritablePair, options: StreamPipeOptions? = nil) -> Self { let this = jsObject - return this[Strings.pipeThrough].function!(this: this, arguments: [_toJSValue(transform), _toJSValue(options)]) - .fromJSValue()! + return this[Strings.pipeThrough].function!(this: this, arguments: [_toJSValue(transform), _toJSValue(options)]).fromJSValue()! } - @inlinable final public func pipeTo(destination: WritableStream, options: StreamPipeOptions? = nil) -> JSPromise { + @inlinable public func pipeTo(destination: WritableStream, options: StreamPipeOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.pipeTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]) - .fromJSValue()! + return this[Strings.pipeTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func pipeTo( - destination: WritableStream, - options: StreamPipeOptions? = nil - ) async throws(JSException) { - let this = jsObject - let _promise: JSPromise = this[Strings.pipeTo].function!( - this: this, - arguments: [_toJSValue(destination), _toJSValue(options)] - ).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func pipeTo(destination: WritableStream, options: StreamPipeOptions? = nil) async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.pipeTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func tee() -> [ReadableStream] { + @inlinable public func tee() -> [ReadableStream] { let this = jsObject return this[Strings.tee].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - public typealias Element = JSValue - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) public func makeAsyncIterator() - -> ValueIterableAsyncIterator - { ValueIterableAsyncIterator(sequence: self) } - #endif + public typealias Element = JSValue + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + public func makeAsyncIterator() -> ValueIterableAsyncIterator { + ValueIterableAsyncIterator(sequence: self) + } } -#if canImport(JavaScriptEventLoop) - extension ReadableStream: AsyncSequence {} -#endif - public class ReadableStreamBYOBReader: JSBridgedClass, ReadableStreamGenericReader { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableStreamBYOBReader].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } @inlinable public convenience init(stream: ReadableStream) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream)])) } - @inlinable final public func read(view: ArrayBufferView) -> JSPromise { + @inlinable public func read(view: ArrayBufferView) -> JSPromise { let this = jsObject return this[Strings.read].function!(this: this, arguments: [_toJSValue(view)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func read( - view: ArrayBufferView - ) async throws(JSException) -> ReadableStreamReadResult { - let this = jsObject - let _promise: JSPromise = this[Strings.read].function!(this: this, arguments: [_toJSValue(view)]) - .fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func read(view: ArrayBufferView) async throws -> ReadableStreamReadResult { + let this = jsObject + let _promise: JSPromise = this[Strings.read].function!(this: this, arguments: [_toJSValue(view)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func releaseLock() { + @inlinable public func releaseLock() { let this = jsObject _ = this[Strings.releaseLock].function!(this: this, arguments: []) } @@ -15276,232 +14223,248 @@ public class ReadableStreamBYOBRequest: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _view = ReadonlyAttribute(jsObject: jsObject, name: Strings.view) + self.jsObject = jsObject + } - @inlinable public var view: ArrayBufferView? { jsObject[Strings.view].fromJSValue() } + @ReadonlyAttribute + public var view: ArrayBufferView? - @inlinable final public func respond(bytesWritten: UInt64) { + @inlinable public func respond(bytesWritten: UInt64) { let this = jsObject _ = this[Strings.respond].function!(this: this, arguments: [_toJSValue(bytesWritten)]) } - @inlinable final public func respondWithNewView(view: ArrayBufferView) { + @inlinable public func respondWithNewView(view: ArrayBufferView) { let this = jsObject _ = this[Strings.respondWithNewView].function!(this: this, arguments: [_toJSValue(view)]) } } public class ReadableStreamDefaultController: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { - JSObject.global[Strings.ReadableStreamDefaultController].function - } + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableStreamDefaultController].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _desiredSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.desiredSize) + self.jsObject = jsObject + } - @inlinable public var desiredSize: Double? { jsObject[Strings.desiredSize].fromJSValue() } + @ReadonlyAttribute + public var desiredSize: Double? - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @inlinable final public func enqueue(chunk: JSValue? = nil) { + @inlinable public func enqueue(chunk: JSValue? = nil) { let this = jsObject _ = this[Strings.enqueue].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable final public func error(e: JSValue? = nil) { + @inlinable public func error(e: JSValue? = nil) { let this = jsObject _ = this[Strings.error].function!(this: this, arguments: [_toJSValue(e)]) } } public class ReadableStreamDefaultReader: JSBridgedClass, ReadableStreamGenericReader { - @inlinable public class var constructor: JSFunction? { - JSObject.global[Strings.ReadableStreamDefaultReader].function - } + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableStreamDefaultReader].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } @inlinable public convenience init(stream: ReadableStream) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream)])) } - @inlinable final public func read() -> JSPromise { + @inlinable public func read() -> JSPromise { let this = jsObject return this[Strings.read].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func read() - async throws(JSException) -> ReadableStreamReadResult - { - let this = jsObject - let _promise: JSPromise = this[Strings.read].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func read() async throws -> ReadableStreamReadResult { + let this = jsObject + let _promise: JSPromise = this[Strings.read].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func releaseLock() { + @inlinable public func releaseLock() { let this = jsObject _ = this[Strings.releaseLock].function!(this: this, arguments: []) } } public protocol ReadableStreamGenericReader: JSBridgedClass {} -extension ReadableStreamGenericReader { - @inlinable public var closed: JSPromise { jsObject[Strings.closed].fromJSValue()! } +public extension ReadableStreamGenericReader { + @inlinable var closed: JSPromise { jsObject[Strings.closed].fromJSValue()! } - @inlinable public func cancel(reason: JSValue? = nil) -> JSPromise { + @inlinable func cancel(reason: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func cancel( - reason: JSValue? = nil - ) async throws(JSException) { - let this = jsObject - let _promise: JSPromise = this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]) - .fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable func cancel(reason: JSValue? = nil) async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! + _ = try await _promise.value + } } -open class ReadableStreamGetReaderOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(mode: ReadableStreamReaderMode? = nil) { +public class ReadableStreamGetReaderOptions: BridgedDictionary { + public convenience init(mode: ReadableStreamReaderMode) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.mode] = _toJSValue(mode) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var mode: ReadableStreamReaderMode { - get { jsObject[Strings.mode].fromJSValue()! } - set { jsObject[Strings.mode] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _mode = ReadWriteAttribute(jsObject: object, name: Strings.mode) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var mode: ReadableStreamReaderMode? } -open class ReadableStreamIteratorOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(preventCancel: Bool? = nil) { +public class ReadableStreamIteratorOptions: BridgedDictionary { + public convenience init(preventCancel: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.preventCancel] = _toJSValue(preventCancel) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var preventCancel: Bool { - get { jsObject[Strings.preventCancel].fromJSValue()! } - set { jsObject[Strings.preventCancel] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _preventCancel = ReadWriteAttribute(jsObject: object, name: Strings.preventCancel) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var preventCancel: Bool? } -open class ReadableStreamReadResult: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(value: JSValue? = nil, done: Bool? = nil) { +public class ReadableStreamReadResult: BridgedDictionary { + public convenience init(value: JSValue, done: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.value] = _toJSValue(value) object[Strings.done] = _toJSValue(done) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var value: JSValue { - get { jsObject[Strings.value].fromJSValue()! } - set { jsObject[Strings.value] = _toJSValue(newValue) } - } - @inlinable public var done: Bool { - get { jsObject[Strings.done].fromJSValue()! } - set { jsObject[Strings.done] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _value = ReadWriteAttribute(jsObject: object, name: Strings.value) + _done = ReadWriteAttribute(jsObject: object, name: Strings.done) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var value: JSValue? + + @ReadWriteAttribute + public var done: Bool? } + public enum ReadableStreamReaderMode: JSString, JSValueCompatible { case byob = "byob" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum ReadableStreamType: JSString, JSValueCompatible { case bytes = "bytes" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -open class ReadableWritablePair: JSDictionaryCompatible { - public let jsObject: JSObject +public class ReadableWritablePair: BridgedDictionary { public convenience init(readable: ReadableStream, writable: WritableStream) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.readable] = _toJSValue(readable) object[Strings.writable] = _toJSValue(writable) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var readable: ReadableStream { - get { jsObject[Strings.readable].fromJSValue()! } - set { jsObject[Strings.readable] = _toJSValue(newValue) } - } - @inlinable public var writable: WritableStream { - get { jsObject[Strings.writable].fromJSValue()! } - set { jsObject[Strings.writable] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _readable = ReadWriteAttribute(jsObject: object, name: Strings.readable) + _writable = ReadWriteAttribute(jsObject: object, name: Strings.writable) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var readable: ReadableStream + + @ReadWriteAttribute + public var writable: WritableStream } + public enum ReadyState: JSString, JSValueCompatible { case closed = "closed" case open = "open" case ended = "ended" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum RecordingState: JSString, JSValueCompatible { case inactive = "inactive" case recording = "recording" case paused = "paused" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum ReferrerPolicy: JSString, JSValueCompatible { case _empty = "" case noReferrer = "no-referrer" @@ -15514,89 +14477,123 @@ public enum ReferrerPolicy: JSString, JSValueCompatible { case unsafeUrl = "unsafe-url" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -open class RegistrationOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - scope: String? = nil, - type: WorkerType? = nil, - updateViaCache: ServiceWorkerUpdateViaCache? = nil - ) { +public class RegistrationOptions: BridgedDictionary { + public convenience init(scope: String, type: WorkerType, updateViaCache: ServiceWorkerUpdateViaCache) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.scope] = _toJSValue(scope) object[Strings.type] = _toJSValue(type) object[Strings.updateViaCache] = _toJSValue(updateViaCache) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var scope: String { - get { jsObject[Strings.scope].fromJSValue()! } - set { jsObject[Strings.scope] = _toJSValue(newValue) } - } - @inlinable public var type: WorkerType { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } - @inlinable public var updateViaCache: ServiceWorkerUpdateViaCache { - get { jsObject[Strings.updateViaCache].fromJSValue()! } - set { jsObject[Strings.updateViaCache] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _scope = ReadWriteAttribute(jsObject: object, name: Strings.scope) + _type = ReadWriteAttribute(jsObject: object, name: Strings.type) + _updateViaCache = ReadWriteAttribute(jsObject: object, name: Strings.updateViaCache) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var scope: String? + + @ReadWriteAttribute + public var type: WorkerType? + + @ReadWriteAttribute + public var updateViaCache: ServiceWorkerUpdateViaCache? } + public class Request: JSBridgedClass, Body { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Request].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - - @inlinable public convenience init(input: RequestInfo, `init`: RequestInit? = nil) { + public required init(unsafelyWrapping jsObject: JSObject) { + _method = ReadonlyAttribute(jsObject: jsObject, name: Strings.method) + _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) + _headers = ReadonlyAttribute(jsObject: jsObject, name: Strings.headers) + _destination = ReadonlyAttribute(jsObject: jsObject, name: Strings.destination) + _referrer = ReadonlyAttribute(jsObject: jsObject, name: Strings.referrer) + _referrerPolicy = ReadonlyAttribute(jsObject: jsObject, name: Strings.referrerPolicy) + _mode = ReadonlyAttribute(jsObject: jsObject, name: Strings.mode) + _credentials = ReadonlyAttribute(jsObject: jsObject, name: Strings.credentials) + _cache = ReadonlyAttribute(jsObject: jsObject, name: Strings.cache) + _redirect = ReadonlyAttribute(jsObject: jsObject, name: Strings.redirect) + _integrity = ReadonlyAttribute(jsObject: jsObject, name: Strings.integrity) + _keepalive = ReadonlyAttribute(jsObject: jsObject, name: Strings.keepalive) + _isReloadNavigation = ReadonlyAttribute(jsObject: jsObject, name: Strings.isReloadNavigation) + _isHistoryNavigation = ReadonlyAttribute(jsObject: jsObject, name: Strings.isHistoryNavigation) + _signal = ReadonlyAttribute(jsObject: jsObject, name: Strings.signal) + _duplex = ReadonlyAttribute(jsObject: jsObject, name: Strings.duplex) + self.jsObject = jsObject + } + + @inlinable public convenience init(input: RequestInfo, init: RequestInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(input), _toJSValue(`init`)])) } - @inlinable public var method: String { jsObject[Strings.method].fromJSValue()! } + @ReadonlyAttribute + public var method: String - @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } + @ReadonlyAttribute + public var url: String - @inlinable public var headers: Headers { jsObject[Strings.headers].fromJSValue()! } + @ReadonlyAttribute + public var headers: Headers - @inlinable public var destination: RequestDestination { jsObject[Strings.destination].fromJSValue()! } + @ReadonlyAttribute + public var destination: RequestDestination - @inlinable public var referrer: String { jsObject[Strings.referrer].fromJSValue()! } + @ReadonlyAttribute + public var referrer: String - @inlinable public var referrerPolicy: ReferrerPolicy { jsObject[Strings.referrerPolicy].fromJSValue()! } + @ReadonlyAttribute + public var referrerPolicy: ReferrerPolicy - @inlinable public var mode: RequestMode { jsObject[Strings.mode].fromJSValue()! } + @ReadonlyAttribute + public var mode: RequestMode - @inlinable public var credentials: RequestCredentials { jsObject[Strings.credentials].fromJSValue()! } + @ReadonlyAttribute + public var credentials: RequestCredentials - @inlinable public var cache: RequestCache { jsObject[Strings.cache].fromJSValue()! } + @ReadonlyAttribute + public var cache: RequestCache - @inlinable public var redirect: RequestRedirect { jsObject[Strings.redirect].fromJSValue()! } + @ReadonlyAttribute + public var redirect: RequestRedirect - @inlinable public var integrity: String { jsObject[Strings.integrity].fromJSValue()! } + @ReadonlyAttribute + public var integrity: String - @inlinable public var keepalive: Bool { jsObject[Strings.keepalive].fromJSValue()! } + @ReadonlyAttribute + public var keepalive: Bool - @inlinable public var isReloadNavigation: Bool { jsObject[Strings.isReloadNavigation].fromJSValue()! } + @ReadonlyAttribute + public var isReloadNavigation: Bool - @inlinable public var isHistoryNavigation: Bool { jsObject[Strings.isHistoryNavigation].fromJSValue()! } + @ReadonlyAttribute + public var isHistoryNavigation: Bool - @inlinable public var signal: AbortSignal { jsObject[Strings.signal].fromJSValue()! } + @ReadonlyAttribute + public var signal: AbortSignal - @inlinable public var duplex: RequestDuplex { jsObject[Strings.duplex].fromJSValue()! } + @ReadonlyAttribute + public var duplex: RequestDuplex - @inlinable final public func clone() -> Request { + @inlinable public func clone() -> Self { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } @@ -15611,28 +14608,38 @@ public enum RequestCache: JSString, JSValueCompatible { case onlyIfCached = "only-if-cached" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum RequestCredentials: JSString, JSValueCompatible { case omit = "omit" case sameOrigin = "same-origin" case include = "include" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum RequestDestination: JSString, JSValueCompatible { case _empty = "" case audio = "audio" @@ -15656,46 +14663,38 @@ public enum RequestDestination: JSString, JSValueCompatible { case xslt = "xslt" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum RequestDuplex: JSString, JSValueCompatible { case half = "half" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -open class RequestInit: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - method: String? = nil, - headers: HeadersInit? = nil, - body: BodyInit?, - referrer: String? = nil, - referrerPolicy: ReferrerPolicy? = nil, - mode: RequestMode? = nil, - credentials: RequestCredentials? = nil, - cache: RequestCache? = nil, - redirect: RequestRedirect? = nil, - integrity: String? = nil, - keepalive: Bool? = nil, - signal: AbortSignal?, - duplex: RequestDuplex? = nil, - priority: RequestPriority? = nil, - window: JSValue? = nil - ) { +public class RequestInit: BridgedDictionary { + public convenience init(method: String, headers: HeadersInit, body: BodyInit?, referrer: String, referrerPolicy: ReferrerPolicy, mode: RequestMode, credentials: RequestCredentials, cache: RequestCache, redirect: RequestRedirect, integrity: String, keepalive: Bool, signal: AbortSignal?, duplex: RequestDuplex, priority: RequestPriority, window: JSValue) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.method] = _toJSValue(method) object[Strings.headers] = _toJSValue(headers) @@ -15712,73 +14711,74 @@ open class RequestInit: JSDictionaryCompatible { object[Strings.duplex] = _toJSValue(duplex) object[Strings.priority] = _toJSValue(priority) object[Strings.window] = _toJSValue(window) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var method: String { - get { jsObject[Strings.method].fromJSValue()! } - set { jsObject[Strings.method] = _toJSValue(newValue) } - } - @inlinable public var headers: HeadersInit { - get { jsObject[Strings.headers].fromJSValue()! } - set { jsObject[Strings.headers] = _toJSValue(newValue) } - } - @inlinable public var body: BodyInit? { - get { jsObject[Strings.body].fromJSValue() } - set { jsObject[Strings.body] = _toJSValue(newValue) } - } - @inlinable public var referrer: String { - get { jsObject[Strings.referrer].fromJSValue()! } - set { jsObject[Strings.referrer] = _toJSValue(newValue) } - } - @inlinable public var referrerPolicy: ReferrerPolicy { - get { jsObject[Strings.referrerPolicy].fromJSValue()! } - set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } - } - @inlinable public var mode: RequestMode { - get { jsObject[Strings.mode].fromJSValue()! } - set { jsObject[Strings.mode] = _toJSValue(newValue) } - } - @inlinable public var credentials: RequestCredentials { - get { jsObject[Strings.credentials].fromJSValue()! } - set { jsObject[Strings.credentials] = _toJSValue(newValue) } - } - @inlinable public var cache: RequestCache { - get { jsObject[Strings.cache].fromJSValue()! } - set { jsObject[Strings.cache] = _toJSValue(newValue) } - } - @inlinable public var redirect: RequestRedirect { - get { jsObject[Strings.redirect].fromJSValue()! } - set { jsObject[Strings.redirect] = _toJSValue(newValue) } - } - @inlinable public var integrity: String { - get { jsObject[Strings.integrity].fromJSValue()! } - set { jsObject[Strings.integrity] = _toJSValue(newValue) } - } - @inlinable public var keepalive: Bool { - get { jsObject[Strings.keepalive].fromJSValue()! } - set { jsObject[Strings.keepalive] = _toJSValue(newValue) } - } - @inlinable public var signal: AbortSignal? { - get { jsObject[Strings.signal].fromJSValue() } - set { jsObject[Strings.signal] = _toJSValue(newValue) } - } - @inlinable public var duplex: RequestDuplex { - get { jsObject[Strings.duplex].fromJSValue()! } - set { jsObject[Strings.duplex] = _toJSValue(newValue) } - } - @inlinable public var priority: RequestPriority { - get { jsObject[Strings.priority].fromJSValue()! } - set { jsObject[Strings.priority] = _toJSValue(newValue) } - } - @inlinable public var window: JSValue { - get { jsObject[Strings.window].fromJSValue()! } - set { jsObject[Strings.window] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _method = ReadWriteAttribute(jsObject: object, name: Strings.method) + _headers = ReadWriteAttribute(jsObject: object, name: Strings.headers) + _body = ReadWriteAttribute(jsObject: object, name: Strings.body) + _referrer = ReadWriteAttribute(jsObject: object, name: Strings.referrer) + _referrerPolicy = ReadWriteAttribute(jsObject: object, name: Strings.referrerPolicy) + _mode = ReadWriteAttribute(jsObject: object, name: Strings.mode) + _credentials = ReadWriteAttribute(jsObject: object, name: Strings.credentials) + _cache = ReadWriteAttribute(jsObject: object, name: Strings.cache) + _redirect = ReadWriteAttribute(jsObject: object, name: Strings.redirect) + _integrity = ReadWriteAttribute(jsObject: object, name: Strings.integrity) + _keepalive = ReadWriteAttribute(jsObject: object, name: Strings.keepalive) + _signal = ReadWriteAttribute(jsObject: object, name: Strings.signal) + _duplex = ReadWriteAttribute(jsObject: object, name: Strings.duplex) + _priority = ReadWriteAttribute(jsObject: object, name: Strings.priority) + _window = ReadWriteAttribute(jsObject: object, name: Strings.window) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var method: String? + + @ReadWriteAttribute + public var headers: HeadersInit? + + @ReadWriteAttribute + public var body: BodyInit? + + @ReadWriteAttribute + public var referrer: String? + + @ReadWriteAttribute + public var referrerPolicy: ReferrerPolicy? + + @ReadWriteAttribute + public var mode: RequestMode? + + @ReadWriteAttribute + public var credentials: RequestCredentials? + + @ReadWriteAttribute + public var cache: RequestCache? + + @ReadWriteAttribute + public var redirect: RequestRedirect? + + @ReadWriteAttribute + public var integrity: String? + + @ReadWriteAttribute + public var keepalive: Bool? + + @ReadWriteAttribute + public var signal: AbortSignal? + + @ReadWriteAttribute + public var duplex: RequestDuplex? + + @ReadWriteAttribute + public var priority: RequestPriority? + + @ReadWriteAttribute + public var window: JSValue? } + public enum RequestMode: JSString, JSValueCompatible { case navigate = "navigate" case sameOrigin = "same-origin" @@ -15786,42 +14786,57 @@ public enum RequestMode: JSString, JSValueCompatible { case cors = "cors" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum RequestPriority: JSString, JSValueCompatible { case high = "high" case low = "low" case auto = "auto" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum RequestRedirect: JSString, JSValueCompatible { case follow = "follow" case error = "error" case manual = "manual" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum ResizeQuality: JSString, JSValueCompatible { case pixelated = "pixelated" case low = "low" @@ -15829,89 +14844,107 @@ public enum ResizeQuality: JSString, JSValueCompatible { case high = "high" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class Response: JSBridgedClass, Body { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Response].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) + _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) + _redirected = ReadonlyAttribute(jsObject: jsObject, name: Strings.redirected) + _status = ReadonlyAttribute(jsObject: jsObject, name: Strings.status) + _ok = ReadonlyAttribute(jsObject: jsObject, name: Strings.ok) + _statusText = ReadonlyAttribute(jsObject: jsObject, name: Strings.statusText) + _headers = ReadonlyAttribute(jsObject: jsObject, name: Strings.headers) + self.jsObject = jsObject + } - @inlinable public convenience init(body: BodyInit? = nil, `init`: ResponseInit? = nil) { + @inlinable public convenience init(body: BodyInit? = nil, init: ResponseInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(body), _toJSValue(`init`)])) } - @inlinable public class func error() -> Response { + @inlinable public class func error() -> Self { let this = constructor! return this[Strings.error].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public class func redirect(url: String, status: UInt16? = nil) -> Response { + @inlinable public class func redirect(url: String, status: UInt16? = nil) -> Self { let this = constructor! - return this[Strings.redirect].function!(this: this, arguments: [_toJSValue(url), _toJSValue(status)]) - .fromJSValue()! + return this[Strings.redirect].function!(this: this, arguments: [_toJSValue(url), _toJSValue(status)]).fromJSValue()! } - @inlinable public class func json(data: JSValue, `init`: ResponseInit? = nil) -> Response { + @inlinable public class func json(data: JSValue, init: ResponseInit? = nil) -> Self { let this = constructor! - return this[Strings.json].function!(this: this, arguments: [_toJSValue(data), _toJSValue(`init`)]) - .fromJSValue()! + return this[Strings.json].function!(this: this, arguments: [_toJSValue(data), _toJSValue(`init`)]).fromJSValue()! } - @inlinable public var type: ResponseType { jsObject[Strings.type].fromJSValue()! } + @ReadonlyAttribute + public var type: ResponseType - @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } + @ReadonlyAttribute + public var url: String - @inlinable public var redirected: Bool { jsObject[Strings.redirected].fromJSValue()! } + @ReadonlyAttribute + public var redirected: Bool - @inlinable public var status: UInt16 { jsObject[Strings.status].fromJSValue()! } + @ReadonlyAttribute + public var status: UInt16 - @inlinable public var ok: Bool { jsObject[Strings.ok].fromJSValue()! } + @ReadonlyAttribute + public var ok: Bool - @inlinable public var statusText: String { jsObject[Strings.statusText].fromJSValue()! } + @ReadonlyAttribute + public var statusText: String - @inlinable public var headers: Headers { jsObject[Strings.headers].fromJSValue()! } + @ReadonlyAttribute + public var headers: Headers - @inlinable final public func clone() -> Response { + @inlinable public func clone() -> Self { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } } -open class ResponseInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(status: UInt16? = nil, statusText: String? = nil, headers: HeadersInit? = nil) { +public class ResponseInit: BridgedDictionary { + public convenience init(status: UInt16, statusText: String, headers: HeadersInit) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.status] = _toJSValue(status) object[Strings.statusText] = _toJSValue(statusText) object[Strings.headers] = _toJSValue(headers) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var status: UInt16 { - get { jsObject[Strings.status].fromJSValue()! } - set { jsObject[Strings.status] = _toJSValue(newValue) } - } - @inlinable public var statusText: String { - get { jsObject[Strings.statusText].fromJSValue()! } - set { jsObject[Strings.statusText] = _toJSValue(newValue) } - } - @inlinable public var headers: HeadersInit { - get { jsObject[Strings.headers].fromJSValue()! } - set { jsObject[Strings.headers] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _status = ReadWriteAttribute(jsObject: object, name: Strings.status) + _statusText = ReadWriteAttribute(jsObject: object, name: Strings.statusText) + _headers = ReadWriteAttribute(jsObject: object, name: Strings.headers) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var status: UInt16? + + @ReadWriteAttribute + public var statusText: String? + + @ReadWriteAttribute + public var headers: HeadersInit? } + public enum ResponseType: JSString, JSValueCompatible { case basic = "basic" case cors = "cors" @@ -15921,32 +14954,51 @@ public enum ResponseType: JSString, JSValueCompatible { case opaqueredirect = "opaqueredirect" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class Screen: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Screen].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _availWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.availWidth) + _availHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.availHeight) + _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) + _colorDepth = ReadonlyAttribute(jsObject: jsObject, name: Strings.colorDepth) + _pixelDepth = ReadonlyAttribute(jsObject: jsObject, name: Strings.pixelDepth) + self.jsObject = jsObject + } - @inlinable public var availWidth: Int32 { jsObject[Strings.availWidth].fromJSValue()! } + @ReadonlyAttribute + public var availWidth: Int32 - @inlinable public var availHeight: Int32 { jsObject[Strings.availHeight].fromJSValue()! } + @ReadonlyAttribute + public var availHeight: Int32 - @inlinable public var width: Int32 { jsObject[Strings.width].fromJSValue()! } + @ReadonlyAttribute + public var width: Int32 - @inlinable public var height: Int32 { jsObject[Strings.height].fromJSValue()! } + @ReadonlyAttribute + public var height: Int32 - @inlinable public var colorDepth: UInt32 { jsObject[Strings.colorDepth].fromJSValue()! } + @ReadonlyAttribute + public var colorDepth: UInt32 - @inlinable public var pixelDepth: UInt32 { jsObject[Strings.pixelDepth].fromJSValue()! } + @ReadonlyAttribute + public var pixelDepth: UInt32 } public enum ScrollBehavior: JSString, JSValueCompatible { @@ -15955,40 +15007,40 @@ public enum ScrollBehavior: JSString, JSValueCompatible { case smooth = "smooth" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -open class ScrollIntoViewOptions: ScrollOptions { - public convenience init( - behavior: ScrollBehavior? = nil, - block: ScrollLogicalPosition? = nil, - inline: ScrollLogicalPosition? = nil - ) { +public class ScrollIntoViewOptions: BridgedDictionary { + public convenience init(block: ScrollLogicalPosition, inline: ScrollLogicalPosition) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.behavior] = _toJSValue(behavior) object[Strings.block] = _toJSValue(block) object[Strings.inline] = _toJSValue(inline) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var block: ScrollLogicalPosition { - get { jsObject[Strings.block].fromJSValue()! } - set { jsObject[Strings.block] = _toJSValue(newValue) } - } - @inlinable public var inline: ScrollLogicalPosition { - get { jsObject[Strings.inline].fromJSValue()! } - set { jsObject[Strings.inline] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _block = ReadWriteAttribute(jsObject: object, name: Strings.block) + _inline = ReadWriteAttribute(jsObject: object, name: Strings.inline) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var block: ScrollLogicalPosition? + + @ReadWriteAttribute + public var inline: ScrollLogicalPosition? } + public enum ScrollLogicalPosition: JSString, JSValueCompatible { case start = "start" case center = "center" @@ -15996,66 +15048,74 @@ public enum ScrollLogicalPosition: JSString, JSValueCompatible { case nearest = "nearest" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -open class ScrollOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(behavior: ScrollBehavior? = nil) { +public class ScrollOptions: BridgedDictionary { + public convenience init(behavior: ScrollBehavior) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.behavior] = _toJSValue(behavior) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var behavior: ScrollBehavior { - get { jsObject[Strings.behavior].fromJSValue()! } - set { jsObject[Strings.behavior] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _behavior = ReadWriteAttribute(jsObject: object, name: Strings.behavior) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var behavior: ScrollBehavior? } + public enum ScrollRestoration: JSString, JSValueCompatible { case auto = "auto" case manual = "manual" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -open class ScrollToOptions: ScrollOptions { - public convenience init(behavior: ScrollBehavior? = nil, left: Double? = nil, top: Double? = nil) { +public class ScrollToOptions: BridgedDictionary { + public convenience init(left: Double, top: Double) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.behavior] = _toJSValue(behavior) object[Strings.left] = _toJSValue(left) object[Strings.top] = _toJSValue(top) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var left: Double { - get { jsObject[Strings.left].fromJSValue()! } - set { jsObject[Strings.left] = _toJSValue(newValue) } - } - @inlinable public var top: Double { - get { jsObject[Strings.top].fromJSValue()! } - set { jsObject[Strings.top] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _left = ReadWriteAttribute(jsObject: object, name: Strings.left) + _top = ReadWriteAttribute(jsObject: object, name: Strings.top) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var left: Double? + + @ReadWriteAttribute + public var top: Double? } + public enum SelectionMode: JSString, JSValueCompatible { case select = "select" case start = "start" @@ -16063,226 +15123,176 @@ public enum SelectionMode: JSString, JSValueCompatible { case preserve = "preserve" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class ServiceWorker: EventTarget, AbstractWorker { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.ServiceWorker].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ServiceWorker].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _scriptURL = ReadonlyAttribute(jsObject: jsObject, name: Strings.scriptURL) + _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) + _onstatechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstatechange) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var scriptURL: String { jsObject[Strings.scriptURL].fromJSValue()! } + @ReadonlyAttribute + public var scriptURL: String - @inlinable public var state: ServiceWorkerState { jsObject[Strings.state].fromJSValue()! } + @ReadonlyAttribute + public var state: ServiceWorkerState - @inlinable final public func postMessage(message: JSValue, transfer: [JSObject]) { + @inlinable public func postMessage(message: JSValue, transfer: [JSObject]) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(transfer)]) } - @inlinable final public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { + @inlinable public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(options)]) } - @inlinable public var onstatechange: EventHandler { - get { - guard let function = jsObject[Strings.onstatechange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onstatechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onstatechange] = .null - } - } - } + @ClosureAttribute1Optional + public var onstatechange: EventHandler } public class ServiceWorkerContainer: EventTarget { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.ServiceWorkerContainer].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ServiceWorkerContainer].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _controller = ReadonlyAttribute(jsObject: jsObject, name: Strings.controller) + _ready = ReadonlyAttribute(jsObject: jsObject, name: Strings.ready) + _oncontrollerchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncontrollerchange) + _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) + _onmessageerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessageerror) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var controller: ServiceWorker? { jsObject[Strings.controller].fromJSValue() } + @ReadonlyAttribute + public var controller: ServiceWorker? - @inlinable public var ready: JSPromise { jsObject[Strings.ready].fromJSValue()! } + @ReadonlyAttribute + public var ready: JSPromise - @inlinable final public func register(scriptURL: String, options: RegistrationOptions? = nil) -> JSPromise { + @inlinable public func register(scriptURL: String, options: RegistrationOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.register].function!(this: this, arguments: [_toJSValue(scriptURL), _toJSValue(options)]) - .fromJSValue()! + return this[Strings.register].function!(this: this, arguments: [_toJSValue(scriptURL), _toJSValue(options)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func register( - scriptURL: String, - options: RegistrationOptions? = nil - ) async throws(JSException) -> ServiceWorkerRegistration { - let this = jsObject - let _promise: JSPromise = this[Strings.register].function!( - this: this, - arguments: [_toJSValue(scriptURL), _toJSValue(options)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func register(scriptURL: String, options: RegistrationOptions? = nil) async throws -> ServiceWorkerRegistration { + let this = jsObject + let _promise: JSPromise = this[Strings.register].function!(this: this, arguments: [_toJSValue(scriptURL), _toJSValue(options)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func getRegistration(clientURL: String? = nil) -> JSPromise { + @inlinable public func getRegistration(clientURL: String? = nil) -> JSPromise { let this = jsObject return this[Strings.getRegistration].function!(this: this, arguments: [_toJSValue(clientURL)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getRegistration( - clientURL: String? = nil - ) async throws(JSException) -> ServiceWorkerRegistration? { - let this = jsObject - let _promise: JSPromise = this[Strings.getRegistration].function!( - this: this, - arguments: [_toJSValue(clientURL)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func getRegistration(clientURL: String? = nil) async throws -> ServiceWorkerRegistration? { + let this = jsObject + let _promise: JSPromise = this[Strings.getRegistration].function!(this: this, arguments: [_toJSValue(clientURL)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func getRegistrations() -> JSPromise { + @inlinable public func getRegistrations() -> JSPromise { let this = jsObject return this[Strings.getRegistrations].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getRegistrations() - async throws(JSException) -> [ServiceWorkerRegistration] - { - let this = jsObject - let _promise: JSPromise = this[Strings.getRegistrations].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func getRegistrations() async throws -> [ServiceWorkerRegistration] { + let this = jsObject + let _promise: JSPromise = this[Strings.getRegistrations].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func startMessages() { + @inlinable public func startMessages() { let this = jsObject _ = this[Strings.startMessages].function!(this: this, arguments: []) } - @inlinable public var oncontrollerchange: EventHandler { - get { - guard let function = jsObject[Strings.oncontrollerchange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncontrollerchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncontrollerchange] = .null - } - } - } + @ClosureAttribute1Optional + public var oncontrollerchange: EventHandler - @inlinable public var onmessage: EventHandler { - get { - guard let function = jsObject[Strings.onmessage].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmessage] = .null - } - } - } + @ClosureAttribute1Optional + public var onmessage: EventHandler - @inlinable public var onmessageerror: EventHandler { - get { - guard let function = jsObject[Strings.onmessageerror].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmessageerror] = .null - } - } - } + @ClosureAttribute1Optional + public var onmessageerror: EventHandler } public class ServiceWorkerRegistration: EventTarget { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.ServiceWorkerRegistration].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ServiceWorkerRegistration].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _installing = ReadonlyAttribute(jsObject: jsObject, name: Strings.installing) + _waiting = ReadonlyAttribute(jsObject: jsObject, name: Strings.waiting) + _active = ReadonlyAttribute(jsObject: jsObject, name: Strings.active) + _navigationPreload = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigationPreload) + _scope = ReadonlyAttribute(jsObject: jsObject, name: Strings.scope) + _updateViaCache = ReadonlyAttribute(jsObject: jsObject, name: Strings.updateViaCache) + _onupdatefound = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onupdatefound) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var installing: ServiceWorker? { jsObject[Strings.installing].fromJSValue() } + @ReadonlyAttribute + public var installing: ServiceWorker? - @inlinable public var waiting: ServiceWorker? { jsObject[Strings.waiting].fromJSValue() } + @ReadonlyAttribute + public var waiting: ServiceWorker? - @inlinable public var active: ServiceWorker? { jsObject[Strings.active].fromJSValue() } + @ReadonlyAttribute + public var active: ServiceWorker? - @inlinable public var navigationPreload: NavigationPreloadManager { - jsObject[Strings.navigationPreload].fromJSValue()! - } + @ReadonlyAttribute + public var navigationPreload: NavigationPreloadManager - @inlinable public var scope: String { jsObject[Strings.scope].fromJSValue()! } + @ReadonlyAttribute + public var scope: String - @inlinable public var updateViaCache: ServiceWorkerUpdateViaCache { - jsObject[Strings.updateViaCache].fromJSValue()! - } + @ReadonlyAttribute + public var updateViaCache: ServiceWorkerUpdateViaCache - @inlinable final public func update() -> JSPromise { + @inlinable public func update() -> JSPromise { let this = jsObject return this[Strings.update].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func update() - async throws(JSException) - { - let this = jsObject - let _promise: JSPromise = this[Strings.update].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func update() async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.update].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func unregister() -> JSPromise { + @inlinable public func unregister() -> JSPromise { let this = jsObject return this[Strings.unregister].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func unregister() - async throws(JSException) -> Bool - { - let this = jsObject - let _promise: JSPromise = this[Strings.unregister].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif - - @inlinable public var onupdatefound: EventHandler { - get { - guard let function = jsObject[Strings.onupdatefound].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onupdatefound] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onupdatefound] = .null - } - } + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func unregister() async throws -> Bool { + let this = jsObject + let _promise: JSPromise = this[Strings.unregister].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! } + + @ClosureAttribute1Optional + public var onupdatefound: EventHandler } public enum ServiceWorkerState: JSString, JSValueCompatible { @@ -16294,110 +15304,124 @@ public enum ServiceWorkerState: JSString, JSValueCompatible { case redundant = "redundant" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum ServiceWorkerUpdateViaCache: JSString, JSValueCompatible { case imports = "imports" case all = "all" case none = "none" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + open class ShadowRoot: DocumentFragment, DocumentOrShadowRoot { - @inlinable open override class var constructor: JSFunction? { JSObject.global[Strings.ShadowRoot].function } + @inlinable override open class var constructor: JSFunction? { JSObject.global[Strings.ShadowRoot].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _mode = ReadonlyAttribute(jsObject: jsObject, name: Strings.mode) + _delegatesFocus = ReadonlyAttribute(jsObject: jsObject, name: Strings.delegatesFocus) + _slotAssignment = ReadonlyAttribute(jsObject: jsObject, name: Strings.slotAssignment) + _host = ReadonlyAttribute(jsObject: jsObject, name: Strings.host) + _onslotchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onslotchange) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var mode: ShadowRootMode { jsObject[Strings.mode].fromJSValue()! } + @ReadonlyAttribute + public var mode: ShadowRootMode - @inlinable public var delegatesFocus: Bool { jsObject[Strings.delegatesFocus].fromJSValue()! } + @ReadonlyAttribute + public var delegatesFocus: Bool - @inlinable public var slotAssignment: SlotAssignmentMode { jsObject[Strings.slotAssignment].fromJSValue()! } + @ReadonlyAttribute + public var slotAssignment: SlotAssignmentMode - @inlinable public var host: Element { jsObject[Strings.host].fromJSValue()! } + @ReadonlyAttribute + public var host: Element - @inlinable public var onslotchange: EventHandler { - get { - guard let function = jsObject[Strings.onslotchange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onslotchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onslotchange] = .null - } - } - } + @ClosureAttribute1Optional + public var onslotchange: EventHandler } -open class ShadowRootInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - mode: ShadowRootMode, - delegatesFocus: Bool? = nil, - slotAssignment: SlotAssignmentMode? = nil - ) { +public class ShadowRootInit: BridgedDictionary { + public convenience init(mode: ShadowRootMode, delegatesFocus: Bool, slotAssignment: SlotAssignmentMode) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.mode] = _toJSValue(mode) object[Strings.delegatesFocus] = _toJSValue(delegatesFocus) object[Strings.slotAssignment] = _toJSValue(slotAssignment) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var mode: ShadowRootMode { - get { jsObject[Strings.mode].fromJSValue()! } - set { jsObject[Strings.mode] = _toJSValue(newValue) } - } - @inlinable public var delegatesFocus: Bool { - get { jsObject[Strings.delegatesFocus].fromJSValue()! } - set { jsObject[Strings.delegatesFocus] = _toJSValue(newValue) } - } - @inlinable public var slotAssignment: SlotAssignmentMode { - get { jsObject[Strings.slotAssignment].fromJSValue()! } - set { jsObject[Strings.slotAssignment] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _mode = ReadWriteAttribute(jsObject: object, name: Strings.mode) + _delegatesFocus = ReadWriteAttribute(jsObject: object, name: Strings.delegatesFocus) + _slotAssignment = ReadWriteAttribute(jsObject: object, name: Strings.slotAssignment) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var mode: ShadowRootMode + + @ReadWriteAttribute + public var delegatesFocus: Bool? + + @ReadWriteAttribute + public var slotAssignment: SlotAssignmentMode? } + public enum ShadowRootMode: JSString, JSValueCompatible { case open = "open" case closed = "closed" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class SharedWorker: EventTarget, AbstractWorker { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SharedWorker].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SharedWorker].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _port = ReadonlyAttribute(jsObject: jsObject, name: Strings.port) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(scriptURL: String, options: String_or_WorkerOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(scriptURL), _toJSValue(options)])) } - @inlinable public var port: MessagePort { jsObject[Strings.port].fromJSValue()! } + @ReadonlyAttribute + public var port: MessagePort } public enum SlotAssignmentMode: JSString, JSValueCompatible { @@ -16405,469 +15429,404 @@ public enum SlotAssignmentMode: JSString, JSValueCompatible { case named = "named" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public protocol Slottable: JSBridgedClass {} -extension Slottable { - @inlinable public var assignedSlot: HTMLSlotElement? { jsObject[Strings.assignedSlot].fromJSValue() } +public extension Slottable { + @inlinable var assignedSlot: HTMLSlotElement? { jsObject[Strings.assignedSlot].fromJSValue() } } -public class SourceBuffer: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SourceBuffer].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } +public class SourceBuffer: EventTarget { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SourceBuffer].function } - @inlinable public var mode: AppendMode { - get { jsObject[Strings.mode].fromJSValue()! } - set { jsObject[Strings.mode] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _mode = ReadWriteAttribute(jsObject: jsObject, name: Strings.mode) + _updating = ReadonlyAttribute(jsObject: jsObject, name: Strings.updating) + _buffered = ReadonlyAttribute(jsObject: jsObject, name: Strings.buffered) + _timestampOffset = ReadWriteAttribute(jsObject: jsObject, name: Strings.timestampOffset) + _audioTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioTracks) + _videoTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoTracks) + _textTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.textTracks) + _appendWindowStart = ReadWriteAttribute(jsObject: jsObject, name: Strings.appendWindowStart) + _appendWindowEnd = ReadWriteAttribute(jsObject: jsObject, name: Strings.appendWindowEnd) + _onupdatestart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onupdatestart) + _onupdate = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onupdate) + _onupdateend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onupdateend) + _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) + _onabort = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onabort) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var updating: Bool { jsObject[Strings.updating].fromJSValue()! } + @ReadWriteAttribute + public var mode: AppendMode - @inlinable public var buffered: TimeRanges { jsObject[Strings.buffered].fromJSValue()! } + @ReadonlyAttribute + public var updating: Bool - @inlinable public var timestampOffset: Double { - get { jsObject[Strings.timestampOffset].fromJSValue()! } - set { jsObject[Strings.timestampOffset] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var buffered: TimeRanges - @inlinable public var audioTracks: AudioTrackList { jsObject[Strings.audioTracks].fromJSValue()! } + @ReadWriteAttribute + public var timestampOffset: Double - @inlinable public var videoTracks: VideoTrackList { jsObject[Strings.videoTracks].fromJSValue()! } + @ReadonlyAttribute + public var audioTracks: AudioTrackList - @inlinable public var textTracks: TextTrackList { jsObject[Strings.textTracks].fromJSValue()! } + @ReadonlyAttribute + public var videoTracks: VideoTrackList - @inlinable public var appendWindowStart: Double { - get { jsObject[Strings.appendWindowStart].fromJSValue()! } - set { jsObject[Strings.appendWindowStart] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var textTracks: TextTrackList - @inlinable public var appendWindowEnd: Double { - get { jsObject[Strings.appendWindowEnd].fromJSValue()! } - set { jsObject[Strings.appendWindowEnd] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var appendWindowStart: Double - @inlinable public var onupdatestart: EventHandler { - get { - guard let function = jsObject[Strings.onupdatestart].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onupdatestart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onupdatestart] = .null - } - } - } + @ReadWriteAttribute + public var appendWindowEnd: Double - @inlinable public var onupdate: EventHandler { - get { - guard let function = jsObject[Strings.onupdate].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onupdate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onupdate] = .null - } - } - } + @ClosureAttribute1Optional + public var onupdatestart: EventHandler - @inlinable public var onupdateend: EventHandler { - get { - guard let function = jsObject[Strings.onupdateend].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onupdateend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onupdateend] = .null - } - } - } + @ClosureAttribute1Optional + public var onupdate: EventHandler - @inlinable public var onerror: EventHandler { - get { - guard let function = jsObject[Strings.onerror].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onerror] = .null - } - } - } + @ClosureAttribute1Optional + public var onupdateend: EventHandler - @inlinable public var onabort: EventHandler { - get { - guard let function = jsObject[Strings.onabort].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onabort] = .null - } - } - } + @ClosureAttribute1Optional + public var onerror: EventHandler + + @ClosureAttribute1Optional + public var onabort: EventHandler - @inlinable final public func appendBuffer(data: BufferSource) { + @inlinable public func appendBuffer(data: BufferSource) { let this = jsObject _ = this[Strings.appendBuffer].function!(this: this, arguments: [_toJSValue(data)]) } - @inlinable final public func abort() { + @inlinable public func abort() { let this = jsObject _ = this[Strings.abort].function!(this: this, arguments: []) } - @inlinable final public func changeType(type: String) { + @inlinable public func changeType(type: String) { let this = jsObject _ = this[Strings.changeType].function!(this: this, arguments: [_toJSValue(type)]) } - @inlinable final public func remove(start: Double, end: Double) { + @inlinable public func remove(start: Double, end: Double) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end)]) } } public class SourceBufferList: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SourceBufferList].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SourceBufferList].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + _onaddsourcebuffer = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddsourcebuffer) + _onremovesourcebuffer = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovesourcebuffer) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public var onaddsourcebuffer: EventHandler { - get { - guard let function = jsObject[Strings.onaddsourcebuffer].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onaddsourcebuffer] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onaddsourcebuffer] = .null - } - } - } + @ClosureAttribute1Optional + public var onaddsourcebuffer: EventHandler - @inlinable public var onremovesourcebuffer: EventHandler { - get { - guard let function = jsObject[Strings.onremovesourcebuffer].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onremovesourcebuffer] = - JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onremovesourcebuffer] = .null - } - } - } + @ClosureAttribute1Optional + public var onremovesourcebuffer: EventHandler - @inlinable public subscript(key: Int) -> SourceBuffer { jsObject[key].fromJSValue()! } + @inlinable public subscript(key: Int) -> SourceBuffer { + jsObject[key].fromJSValue()! + } } public class StaticRange: AbstractRange { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.StaticRange].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.StaticRange].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init(`init`: StaticRangeInit) { + @inlinable public convenience init(init: StaticRangeInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } } -open class StaticRangeInit: JSDictionaryCompatible { - public let jsObject: JSObject - +public class StaticRangeInit: BridgedDictionary { public convenience init(startContainer: Node, startOffset: UInt32, endContainer: Node, endOffset: UInt32) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.startContainer] = _toJSValue(startContainer) object[Strings.startOffset] = _toJSValue(startOffset) object[Strings.endContainer] = _toJSValue(endContainer) object[Strings.endOffset] = _toJSValue(endOffset) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var startContainer: Node { - get { jsObject[Strings.startContainer].fromJSValue()! } - set { jsObject[Strings.startContainer] = _toJSValue(newValue) } - } - @inlinable public var startOffset: UInt32 { - get { jsObject[Strings.startOffset].fromJSValue()! } - set { jsObject[Strings.startOffset] = _toJSValue(newValue) } - } - @inlinable public var endContainer: Node { - get { jsObject[Strings.endContainer].fromJSValue()! } - set { jsObject[Strings.endContainer] = _toJSValue(newValue) } - } - @inlinable public var endOffset: UInt32 { - get { jsObject[Strings.endOffset].fromJSValue()! } - set { jsObject[Strings.endOffset] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _startContainer = ReadWriteAttribute(jsObject: object, name: Strings.startContainer) + _startOffset = ReadWriteAttribute(jsObject: object, name: Strings.startOffset) + _endContainer = ReadWriteAttribute(jsObject: object, name: Strings.endContainer) + _endOffset = ReadWriteAttribute(jsObject: object, name: Strings.endOffset) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var startContainer: Node + + @ReadWriteAttribute + public var startOffset: UInt32 + + @ReadWriteAttribute + public var endContainer: Node + + @ReadWriteAttribute + public var endOffset: UInt32 } + public class Storage: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Storage].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable final public func key(index: UInt32) -> String? { + @inlinable public func key(index: UInt32) -> String? { let this = jsObject return this[Strings.key].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable final public func getItem(key: String) -> String? { + @inlinable public func getItem(key: String) -> String? { let this = jsObject return this[Strings.getItem].function!(this: this, arguments: [_toJSValue(key)]).fromJSValue() } @inlinable public subscript(key: String) -> String? { - get { jsObject[key].fromJSValue() } - set { jsObject[key] = _toJSValue(newValue) } + get { + jsObject[key].fromJSValue() + } + set { + jsObject[key] = _toJSValue(newValue) + } } @inlinable public func removeValue(forKey key: String) { _ = JSObject.global.Reflect.deleteProperty(jsObject, _toJSValue(key)) } - @inlinable final public func clear() { + @inlinable public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } } public class StorageEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.StorageEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.StorageEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _key = ReadonlyAttribute(jsObject: jsObject, name: Strings.key) + _oldValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.oldValue) + _newValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.newValue) + _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) + _storageArea = ReadonlyAttribute(jsObject: jsObject, name: Strings.storageArea) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: StorageEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var key: String? { jsObject[Strings.key].fromJSValue() } + @ReadonlyAttribute + public var key: String? - @inlinable public var oldValue: String? { jsObject[Strings.oldValue].fromJSValue() } + @ReadonlyAttribute + public var oldValue: String? - @inlinable public var newValue: String? { jsObject[Strings.newValue].fromJSValue() } + @ReadonlyAttribute + public var newValue: String? - @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } + @ReadonlyAttribute + public var url: String - @inlinable public var storageArea: Storage? { jsObject[Strings.storageArea].fromJSValue() } + @ReadonlyAttribute + public var storageArea: Storage? - @inlinable final public func initStorageEvent( - type: String, - bubbles: Bool? = nil, - cancelable: Bool? = nil, - key: String? = nil, - oldValue: String? = nil, - newValue: String? = nil, - url: String? = nil, - storageArea: Storage? = nil - ) { + @inlinable public func initStorageEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil, key: String? = nil, oldValue: String? = nil, newValue: String? = nil, url: String? = nil, storageArea: Storage? = nil) { let this = jsObject - _ = this[Strings.initStorageEvent].function!( - this: this, - arguments: [ - _toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(key), _toJSValue(oldValue), - _toJSValue(newValue), _toJSValue(url), _toJSValue(storageArea), - ] - ) + _ = this[Strings.initStorageEvent].function!(this: this, arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(key), _toJSValue(oldValue), _toJSValue(newValue), _toJSValue(url), _toJSValue(storageArea)]) } } -open class StorageEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - key: String?, - oldValue: String?, - newValue: String?, - url: String? = nil, - storageArea: Storage? - ) { +public class StorageEventInit: BridgedDictionary { + public convenience init(key: String?, oldValue: String?, newValue: String?, url: String, storageArea: Storage?) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.key] = _toJSValue(key) object[Strings.oldValue] = _toJSValue(oldValue) object[Strings.newValue] = _toJSValue(newValue) object[Strings.url] = _toJSValue(url) object[Strings.storageArea] = _toJSValue(storageArea) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + public required init(unsafelyWrapping object: JSObject) { + _key = ReadWriteAttribute(jsObject: object, name: Strings.key) + _oldValue = ReadWriteAttribute(jsObject: object, name: Strings.oldValue) + _newValue = ReadWriteAttribute(jsObject: object, name: Strings.newValue) + _url = ReadWriteAttribute(jsObject: object, name: Strings.url) + _storageArea = ReadWriteAttribute(jsObject: object, name: Strings.storageArea) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var key: String? - @inlinable public var key: String? { - get { jsObject[Strings.key].fromJSValue() } - set { jsObject[Strings.key] = _toJSValue(newValue) } - } - @inlinable public var oldValue: String? { - get { jsObject[Strings.oldValue].fromJSValue() } - set { jsObject[Strings.oldValue] = _toJSValue(newValue) } - } - @inlinable public var newValue: String? { - get { jsObject[Strings.newValue].fromJSValue() } - set { jsObject[Strings.newValue] = _toJSValue(newValue) } - } - @inlinable public var url: String { - get { jsObject[Strings.url].fromJSValue()! } - set { jsObject[Strings.url] = _toJSValue(newValue) } - } - @inlinable public var storageArea: Storage? { - get { jsObject[Strings.storageArea].fromJSValue() } - set { jsObject[Strings.storageArea] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var oldValue: String? + + @ReadWriteAttribute + public var newValue: String? + + @ReadWriteAttribute + public var url: String? + + @ReadWriteAttribute + public var storageArea: Storage? } -open class StreamPipeOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - preventClose: Bool? = nil, - preventAbort: Bool? = nil, - preventCancel: Bool? = nil, - signal: AbortSignal? = nil - ) { +public class StreamPipeOptions: BridgedDictionary { + public convenience init(preventClose: Bool, preventAbort: Bool, preventCancel: Bool, signal: AbortSignal) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.preventClose] = _toJSValue(preventClose) object[Strings.preventAbort] = _toJSValue(preventAbort) object[Strings.preventCancel] = _toJSValue(preventCancel) object[Strings.signal] = _toJSValue(signal) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var preventClose: Bool { - get { jsObject[Strings.preventClose].fromJSValue()! } - set { jsObject[Strings.preventClose] = _toJSValue(newValue) } - } - @inlinable public var preventAbort: Bool { - get { jsObject[Strings.preventAbort].fromJSValue()! } - set { jsObject[Strings.preventAbort] = _toJSValue(newValue) } - } - @inlinable public var preventCancel: Bool { - get { jsObject[Strings.preventCancel].fromJSValue()! } - set { jsObject[Strings.preventCancel] = _toJSValue(newValue) } - } - @inlinable public var signal: AbortSignal { - get { jsObject[Strings.signal].fromJSValue()! } - set { jsObject[Strings.signal] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _preventClose = ReadWriteAttribute(jsObject: object, name: Strings.preventClose) + _preventAbort = ReadWriteAttribute(jsObject: object, name: Strings.preventAbort) + _preventCancel = ReadWriteAttribute(jsObject: object, name: Strings.preventCancel) + _signal = ReadWriteAttribute(jsObject: object, name: Strings.signal) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var preventClose: Bool? + + @ReadWriteAttribute + public var preventAbort: Bool? + + @ReadWriteAttribute + public var preventCancel: Bool? + + @ReadWriteAttribute + public var signal: AbortSignal? } -open class StructuredSerializeOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(transfer: [JSObject]? = nil) { +public class StructuredSerializeOptions: BridgedDictionary { + public convenience init(transfer: [JSObject]) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.transfer] = _toJSValue(transfer) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var transfer: [JSObject] { - get { jsObject[Strings.transfer].fromJSValue()! } - set { jsObject[Strings.transfer] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var transfer: [JSObject]? } + public class SubmitEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SubmitEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SubmitEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _submitter = ReadonlyAttribute(jsObject: jsObject, name: Strings.submitter) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: SubmitEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var submitter: HTMLElement? { jsObject[Strings.submitter].fromJSValue() } + @ReadonlyAttribute + public var submitter: HTMLElement? } -open class SubmitEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - submitter: HTMLElement? - ) { +public class SubmitEventInit: BridgedDictionary { + public convenience init(submitter: HTMLElement?) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.submitter] = _toJSValue(submitter) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var submitter: HTMLElement? { - get { jsObject[Strings.submitter].fromJSValue() } - set { jsObject[Strings.submitter] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _submitter = ReadWriteAttribute(jsObject: object, name: Strings.submitter) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var submitter: HTMLElement? } -open class SvcOutputMetadata: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(temporalLayerId: UInt32? = nil) { +public class SvcOutputMetadata: BridgedDictionary { + public convenience init(temporalLayerId: UInt32) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.temporalLayerId] = _toJSValue(temporalLayerId) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var temporalLayerId: UInt32 { - get { jsObject[Strings.temporalLayerId].fromJSValue()! } - set { jsObject[Strings.temporalLayerId] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _temporalLayerId = ReadWriteAttribute(jsObject: object, name: Strings.temporalLayerId) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var temporalLayerId: UInt32? } + public class Text: CharacterData, Slottable, GeometryUtils { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Text].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Text].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _wholeText = ReadonlyAttribute(jsObject: jsObject, name: Strings.wholeText) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(data: String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(data)])) } - @inlinable final public func splitText(offset: UInt32) -> Text { + @inlinable public func splitText(offset: UInt32) -> Self { let this = jsObject return this[Strings.splitText].function!(this: this, arguments: [_toJSValue(offset)]).fromJSValue()! } - @inlinable public var wholeText: String { jsObject[Strings.wholeText].fromJSValue()! } + @ReadonlyAttribute + public var wholeText: String } public class TextMetrics: JSBridgedClass { @@ -16875,140 +15834,151 @@ public class TextMetrics: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) + _actualBoundingBoxLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.actualBoundingBoxLeft) + _actualBoundingBoxRight = ReadonlyAttribute(jsObject: jsObject, name: Strings.actualBoundingBoxRight) + _fontBoundingBoxAscent = ReadonlyAttribute(jsObject: jsObject, name: Strings.fontBoundingBoxAscent) + _fontBoundingBoxDescent = ReadonlyAttribute(jsObject: jsObject, name: Strings.fontBoundingBoxDescent) + _actualBoundingBoxAscent = ReadonlyAttribute(jsObject: jsObject, name: Strings.actualBoundingBoxAscent) + _actualBoundingBoxDescent = ReadonlyAttribute(jsObject: jsObject, name: Strings.actualBoundingBoxDescent) + _emHeightAscent = ReadonlyAttribute(jsObject: jsObject, name: Strings.emHeightAscent) + _emHeightDescent = ReadonlyAttribute(jsObject: jsObject, name: Strings.emHeightDescent) + _hangingBaseline = ReadonlyAttribute(jsObject: jsObject, name: Strings.hangingBaseline) + _alphabeticBaseline = ReadonlyAttribute(jsObject: jsObject, name: Strings.alphabeticBaseline) + _ideographicBaseline = ReadonlyAttribute(jsObject: jsObject, name: Strings.ideographicBaseline) + self.jsObject = jsObject + } - @inlinable public var width: Double { jsObject[Strings.width].fromJSValue()! } + @ReadonlyAttribute + public var width: Double - @inlinable public var actualBoundingBoxLeft: Double { jsObject[Strings.actualBoundingBoxLeft].fromJSValue()! } + @ReadonlyAttribute + public var actualBoundingBoxLeft: Double - @inlinable public var actualBoundingBoxRight: Double { jsObject[Strings.actualBoundingBoxRight].fromJSValue()! } + @ReadonlyAttribute + public var actualBoundingBoxRight: Double - @inlinable public var fontBoundingBoxAscent: Double { jsObject[Strings.fontBoundingBoxAscent].fromJSValue()! } + @ReadonlyAttribute + public var fontBoundingBoxAscent: Double - @inlinable public var fontBoundingBoxDescent: Double { jsObject[Strings.fontBoundingBoxDescent].fromJSValue()! } + @ReadonlyAttribute + public var fontBoundingBoxDescent: Double - @inlinable public var actualBoundingBoxAscent: Double { jsObject[Strings.actualBoundingBoxAscent].fromJSValue()! } + @ReadonlyAttribute + public var actualBoundingBoxAscent: Double - @inlinable public var actualBoundingBoxDescent: Double { jsObject[Strings.actualBoundingBoxDescent].fromJSValue()! } + @ReadonlyAttribute + public var actualBoundingBoxDescent: Double - @inlinable public var emHeightAscent: Double { jsObject[Strings.emHeightAscent].fromJSValue()! } + @ReadonlyAttribute + public var emHeightAscent: Double - @inlinable public var emHeightDescent: Double { jsObject[Strings.emHeightDescent].fromJSValue()! } + @ReadonlyAttribute + public var emHeightDescent: Double - @inlinable public var hangingBaseline: Double { jsObject[Strings.hangingBaseline].fromJSValue()! } + @ReadonlyAttribute + public var hangingBaseline: Double - @inlinable public var alphabeticBaseline: Double { jsObject[Strings.alphabeticBaseline].fromJSValue()! } + @ReadonlyAttribute + public var alphabeticBaseline: Double - @inlinable public var ideographicBaseline: Double { jsObject[Strings.ideographicBaseline].fromJSValue()! } + @ReadonlyAttribute + public var ideographicBaseline: Double } public class TextTrack: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TextTrack].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TextTrack].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) + _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) + _language = ReadonlyAttribute(jsObject: jsObject, name: Strings.language) + _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) + _inBandMetadataTrackDispatchType = ReadonlyAttribute(jsObject: jsObject, name: Strings.inBandMetadataTrackDispatchType) + _mode = ReadWriteAttribute(jsObject: jsObject, name: Strings.mode) + _cues = ReadonlyAttribute(jsObject: jsObject, name: Strings.cues) + _activeCues = ReadonlyAttribute(jsObject: jsObject, name: Strings.activeCues) + _oncuechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncuechange) + _sourceBuffer = ReadonlyAttribute(jsObject: jsObject, name: Strings.sourceBuffer) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var kind: TextTrackKind { jsObject[Strings.kind].fromJSValue()! } + @ReadonlyAttribute + public var kind: TextTrackKind - @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } + @ReadonlyAttribute + public var label: String - @inlinable public var language: String { jsObject[Strings.language].fromJSValue()! } + @ReadonlyAttribute + public var language: String - @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } + @ReadonlyAttribute + public var id: String - @inlinable public var inBandMetadataTrackDispatchType: String { - jsObject[Strings.inBandMetadataTrackDispatchType].fromJSValue()! - } + @ReadonlyAttribute + public var inBandMetadataTrackDispatchType: String - @inlinable public var mode: TextTrackMode { - get { jsObject[Strings.mode].fromJSValue()! } - set { jsObject[Strings.mode] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var mode: TextTrackMode - @inlinable public var cues: TextTrackCueList? { jsObject[Strings.cues].fromJSValue() } + @ReadonlyAttribute + public var cues: TextTrackCueList? - @inlinable public var activeCues: TextTrackCueList? { jsObject[Strings.activeCues].fromJSValue() } + @ReadonlyAttribute + public var activeCues: TextTrackCueList? - @inlinable final public func addCue(cue: TextTrackCue) { + @inlinable public func addCue(cue: TextTrackCue) { let this = jsObject _ = this[Strings.addCue].function!(this: this, arguments: [_toJSValue(cue)]) } - @inlinable final public func removeCue(cue: TextTrackCue) { + @inlinable public func removeCue(cue: TextTrackCue) { let this = jsObject _ = this[Strings.removeCue].function!(this: this, arguments: [_toJSValue(cue)]) } - @inlinable public var oncuechange: EventHandler { - get { - guard let function = jsObject[Strings.oncuechange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.oncuechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.oncuechange] = .null - } - } - } + @ClosureAttribute1Optional + public var oncuechange: EventHandler - @inlinable public var sourceBuffer: SourceBuffer? { jsObject[Strings.sourceBuffer].fromJSValue() } + @ReadonlyAttribute + public var sourceBuffer: SourceBuffer? } public class TextTrackCue: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TextTrackCue].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TextTrackCue].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _track = ReadonlyAttribute(jsObject: jsObject, name: Strings.track) + _id = ReadWriteAttribute(jsObject: jsObject, name: Strings.id) + _startTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.startTime) + _endTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.endTime) + _pauseOnExit = ReadWriteAttribute(jsObject: jsObject, name: Strings.pauseOnExit) + _onenter = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onenter) + _onexit = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onexit) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var track: TextTrack? { jsObject[Strings.track].fromJSValue() } + @ReadonlyAttribute + public var track: TextTrack? - @inlinable public var id: String { - get { jsObject[Strings.id].fromJSValue()! } - set { jsObject[Strings.id] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var id: String - @inlinable public var startTime: Double { - get { jsObject[Strings.startTime].fromJSValue()! } - set { jsObject[Strings.startTime] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var startTime: Double - @inlinable public var endTime: Double { - get { jsObject[Strings.endTime].fromJSValue()! } - set { jsObject[Strings.endTime] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var endTime: Double - @inlinable public var pauseOnExit: Bool { - get { jsObject[Strings.pauseOnExit].fromJSValue()! } - set { jsObject[Strings.pauseOnExit] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var pauseOnExit: Bool - @inlinable public var onenter: EventHandler { - get { - guard let function = jsObject[Strings.onenter].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onenter] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onenter] = .null - } - } - } + @ClosureAttribute1Optional + public var onenter: EventHandler - @inlinable public var onexit: EventHandler { - get { - guard let function = jsObject[Strings.onexit].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onexit] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onexit] = .null - } - } - } + @ClosureAttribute1Optional + public var onexit: EventHandler } public class TextTrackCueList: JSBridgedClass { @@ -17016,13 +15986,19 @@ public class TextTrackCueList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> TextTrackCue { jsObject[key].fromJSValue()! } + @inlinable public subscript(key: Int) -> TextTrackCue { + jsObject[key].fromJSValue()! + } - @inlinable final public func getCueById(id: String) -> TextTrackCue? { + @inlinable public func getCueById(id: String) -> TextTrackCue? { let this = jsObject return this[Strings.getCueById].function!(this: this, arguments: [_toJSValue(id)]).fromJSValue() } @@ -17036,69 +16012,50 @@ public enum TextTrackKind: JSString, JSValueCompatible { case metadata = "metadata" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class TextTrackList: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TextTrackList].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TextTrackList].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) + _onaddtrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddtrack) + _onremovetrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovetrack) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> TextTrack { jsObject[key].fromJSValue()! } + @inlinable public subscript(key: Int) -> TextTrack { + jsObject[key].fromJSValue()! + } - @inlinable final public func getTrackById(id: String) -> TextTrack? { + @inlinable public func getTrackById(id: String) -> TextTrack? { let this = jsObject return this[Strings.getTrackById].function!(this: this, arguments: [_toJSValue(id)]).fromJSValue() } - @inlinable public var onchange: EventHandler { - get { - guard let function = jsObject[Strings.onchange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onchange] = .null - } - } - } + @ClosureAttribute1Optional + public var onchange: EventHandler - @inlinable public var onaddtrack: EventHandler { - get { - guard let function = jsObject[Strings.onaddtrack].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onaddtrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onaddtrack] = .null - } - } - } + @ClosureAttribute1Optional + public var onaddtrack: EventHandler - @inlinable public var onremovetrack: EventHandler { - get { - guard let function = jsObject[Strings.onremovetrack].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onremovetrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onremovetrack] = .null - } - } - } + @ClosureAttribute1Optional + public var onremovetrack: EventHandler } public enum TextTrackMode: JSString, JSValueCompatible { @@ -17107,229 +16064,235 @@ public enum TextTrackMode: JSString, JSValueCompatible { case showing = "showing" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class TimeRanges: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TimeRanges].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable final public func start(index: UInt32) -> Double { + @inlinable public func start(index: UInt32) -> Double { let this = jsObject return this[Strings.start].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable final public func end(index: UInt32) -> Double { + @inlinable public func end(index: UInt32) -> Double { let this = jsObject return this[Strings.end].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } } public class ToggleEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.ToggleEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ToggleEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _oldState = ReadonlyAttribute(jsObject: jsObject, name: Strings.oldState) + _newState = ReadonlyAttribute(jsObject: jsObject, name: Strings.newState) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: ToggleEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var oldState: String { jsObject[Strings.oldState].fromJSValue()! } + @ReadonlyAttribute + public var oldState: String - @inlinable public var newState: String { jsObject[Strings.newState].fromJSValue()! } + @ReadonlyAttribute + public var newState: String } -open class ToggleEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - oldState: String? = nil, - newState: String? = nil - ) { +public class ToggleEventInit: BridgedDictionary { + public convenience init(oldState: String, newState: String) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.oldState] = _toJSValue(oldState) object[Strings.newState] = _toJSValue(newState) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var oldState: String { - get { jsObject[Strings.oldState].fromJSValue()! } - set { jsObject[Strings.oldState] = _toJSValue(newValue) } - } - @inlinable public var newState: String { - get { jsObject[Strings.newState].fromJSValue()! } - set { jsObject[Strings.newState] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _oldState = ReadWriteAttribute(jsObject: object, name: Strings.oldState) + _newState = ReadWriteAttribute(jsObject: object, name: Strings.newState) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var oldState: String? + + @ReadWriteAttribute + public var newState: String? } + public class Touch: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Touch].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _identifier = ReadonlyAttribute(jsObject: jsObject, name: Strings.identifier) + _target = ReadonlyAttribute(jsObject: jsObject, name: Strings.target) + _screenX = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenX) + _screenY = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenY) + _clientX = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientX) + _clientY = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientY) + _pageX = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageX) + _pageY = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageY) + _radiusX = ReadonlyAttribute(jsObject: jsObject, name: Strings.radiusX) + _radiusY = ReadonlyAttribute(jsObject: jsObject, name: Strings.radiusY) + _rotationAngle = ReadonlyAttribute(jsObject: jsObject, name: Strings.rotationAngle) + _force = ReadonlyAttribute(jsObject: jsObject, name: Strings.force) + _altitudeAngle = ReadonlyAttribute(jsObject: jsObject, name: Strings.altitudeAngle) + _azimuthAngle = ReadonlyAttribute(jsObject: jsObject, name: Strings.azimuthAngle) + _touchType = ReadonlyAttribute(jsObject: jsObject, name: Strings.touchType) + self.jsObject = jsObject + } @inlinable public convenience init(touchInitDict: TouchInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(touchInitDict)])) } - @inlinable public var identifier: Int32 { jsObject[Strings.identifier].fromJSValue()! } + @ReadonlyAttribute + public var identifier: Int32 - @inlinable public var target: EventTarget { jsObject[Strings.target].fromJSValue()! } + @ReadonlyAttribute + public var target: EventTarget - @inlinable public var screenX: Double { jsObject[Strings.screenX].fromJSValue()! } + @ReadonlyAttribute + public var screenX: Double - @inlinable public var screenY: Double { jsObject[Strings.screenY].fromJSValue()! } + @ReadonlyAttribute + public var screenY: Double - @inlinable public var clientX: Double { jsObject[Strings.clientX].fromJSValue()! } + @ReadonlyAttribute + public var clientX: Double - @inlinable public var clientY: Double { jsObject[Strings.clientY].fromJSValue()! } + @ReadonlyAttribute + public var clientY: Double - @inlinable public var pageX: Double { jsObject[Strings.pageX].fromJSValue()! } + @ReadonlyAttribute + public var pageX: Double - @inlinable public var pageY: Double { jsObject[Strings.pageY].fromJSValue()! } + @ReadonlyAttribute + public var pageY: Double - @inlinable public var radiusX: Float { jsObject[Strings.radiusX].fromJSValue()! } + @ReadonlyAttribute + public var radiusX: Float - @inlinable public var radiusY: Float { jsObject[Strings.radiusY].fromJSValue()! } + @ReadonlyAttribute + public var radiusY: Float - @inlinable public var rotationAngle: Float { jsObject[Strings.rotationAngle].fromJSValue()! } + @ReadonlyAttribute + public var rotationAngle: Float - @inlinable public var force: Float { jsObject[Strings.force].fromJSValue()! } + @ReadonlyAttribute + public var force: Float - @inlinable public var altitudeAngle: Float { jsObject[Strings.altitudeAngle].fromJSValue()! } + @ReadonlyAttribute + public var altitudeAngle: Float - @inlinable public var azimuthAngle: Float { jsObject[Strings.azimuthAngle].fromJSValue()! } + @ReadonlyAttribute + public var azimuthAngle: Float - @inlinable public var touchType: TouchType { jsObject[Strings.touchType].fromJSValue()! } + @ReadonlyAttribute + public var touchType: TouchType } public class TouchEvent: UIEvent { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TouchEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TouchEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _touches = ReadonlyAttribute(jsObject: jsObject, name: Strings.touches) + _targetTouches = ReadonlyAttribute(jsObject: jsObject, name: Strings.targetTouches) + _changedTouches = ReadonlyAttribute(jsObject: jsObject, name: Strings.changedTouches) + _altKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.altKey) + _metaKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.metaKey) + _ctrlKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.ctrlKey) + _shiftKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.shiftKey) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: TouchEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var touches: TouchList { jsObject[Strings.touches].fromJSValue()! } + @ReadonlyAttribute + public var touches: TouchList - @inlinable public var targetTouches: TouchList { jsObject[Strings.targetTouches].fromJSValue()! } + @ReadonlyAttribute + public var targetTouches: TouchList - @inlinable public var changedTouches: TouchList { jsObject[Strings.changedTouches].fromJSValue()! } + @ReadonlyAttribute + public var changedTouches: TouchList - @inlinable public var altKey: Bool { jsObject[Strings.altKey].fromJSValue()! } + @ReadonlyAttribute + public var altKey: Bool - @inlinable public var metaKey: Bool { jsObject[Strings.metaKey].fromJSValue()! } + @ReadonlyAttribute + public var metaKey: Bool - @inlinable public var ctrlKey: Bool { jsObject[Strings.ctrlKey].fromJSValue()! } + @ReadonlyAttribute + public var ctrlKey: Bool - @inlinable public var shiftKey: Bool { jsObject[Strings.shiftKey].fromJSValue()! } + @ReadonlyAttribute + public var shiftKey: Bool - @inlinable public subscript(key: String) -> Bool { jsObject[key].fromJSValue()! } + @inlinable public subscript(key: String) -> Bool { + jsObject[key].fromJSValue()! + } - @inlinable final public func getModifierState(keyArg: String) -> Bool { + @inlinable public func getModifierState(keyArg: String) -> Bool { let this = jsObject return this[Strings.getModifierState].function!(this: this, arguments: [_toJSValue(keyArg)]).fromJSValue()! } } -open class TouchEventInit: EventModifierInit { - - public convenience init( - ctrlKey: Bool? = nil, - shiftKey: Bool? = nil, - altKey: Bool? = nil, - metaKey: Bool? = nil, - modifierAltGraph: Bool? = nil, - modifierCapsLock: Bool? = nil, - modifierFn: Bool? = nil, - modifierFnLock: Bool? = nil, - modifierHyper: Bool? = nil, - modifierNumLock: Bool? = nil, - modifierScrollLock: Bool? = nil, - modifierSuper: Bool? = nil, - modifierSymbol: Bool? = nil, - modifierSymbolLock: Bool? = nil, - touches: [Touch]? = nil, - targetTouches: [Touch]? = nil, - changedTouches: [Touch]? = nil - ) { +public class TouchEventInit: BridgedDictionary { + public convenience init(touches: [Touch], targetTouches: [Touch], changedTouches: [Touch]) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.ctrlKey] = _toJSValue(ctrlKey) - object[Strings.shiftKey] = _toJSValue(shiftKey) - object[Strings.altKey] = _toJSValue(altKey) - object[Strings.metaKey] = _toJSValue(metaKey) - object[Strings.modifierAltGraph] = _toJSValue(modifierAltGraph) - object[Strings.modifierCapsLock] = _toJSValue(modifierCapsLock) - object[Strings.modifierFn] = _toJSValue(modifierFn) - object[Strings.modifierFnLock] = _toJSValue(modifierFnLock) - object[Strings.modifierHyper] = _toJSValue(modifierHyper) - object[Strings.modifierNumLock] = _toJSValue(modifierNumLock) - object[Strings.modifierScrollLock] = _toJSValue(modifierScrollLock) - object[Strings.modifierSuper] = _toJSValue(modifierSuper) - object[Strings.modifierSymbol] = _toJSValue(modifierSymbol) - object[Strings.modifierSymbolLock] = _toJSValue(modifierSymbolLock) object[Strings.touches] = _toJSValue(touches) object[Strings.targetTouches] = _toJSValue(targetTouches) object[Strings.changedTouches] = _toJSValue(changedTouches) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var touches: [Touch] { - get { jsObject[Strings.touches].fromJSValue()! } - set { jsObject[Strings.touches] = _toJSValue(newValue) } - } - @inlinable public var targetTouches: [Touch] { - get { jsObject[Strings.targetTouches].fromJSValue()! } - set { jsObject[Strings.targetTouches] = _toJSValue(newValue) } - } - @inlinable public var changedTouches: [Touch] { - get { jsObject[Strings.changedTouches].fromJSValue()! } - set { jsObject[Strings.changedTouches] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _touches = ReadWriteAttribute(jsObject: object, name: Strings.touches) + _targetTouches = ReadWriteAttribute(jsObject: object, name: Strings.targetTouches) + _changedTouches = ReadWriteAttribute(jsObject: object, name: Strings.changedTouches) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var touches: [Touch]? + + @ReadWriteAttribute + public var targetTouches: [Touch]? + + @ReadWriteAttribute + public var changedTouches: [Touch]? } -open class TouchInit: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - identifier: Int32, - target: EventTarget, - clientX: Double? = nil, - clientY: Double? = nil, - screenX: Double? = nil, - screenY: Double? = nil, - pageX: Double? = nil, - pageY: Double? = nil, - radiusX: Float? = nil, - radiusY: Float? = nil, - rotationAngle: Float? = nil, - force: Float? = nil, - altitudeAngle: Double? = nil, - azimuthAngle: Double? = nil, - touchType: TouchType? = nil - ) { +public class TouchInit: BridgedDictionary { + public convenience init(identifier: Int32, target: EventTarget, clientX: Double, clientY: Double, screenX: Double, screenY: Double, pageX: Double, pageY: Double, radiusX: Float, radiusY: Float, rotationAngle: Float, force: Float, altitudeAngle: Double, azimuthAngle: Double, touchType: TouchType) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.identifier] = _toJSValue(identifier) object[Strings.target] = _toJSValue(target) @@ -17346,85 +16309,92 @@ open class TouchInit: JSDictionaryCompatible { object[Strings.altitudeAngle] = _toJSValue(altitudeAngle) object[Strings.azimuthAngle] = _toJSValue(azimuthAngle) object[Strings.touchType] = _toJSValue(touchType) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var identifier: Int32 { - get { jsObject[Strings.identifier].fromJSValue()! } - set { jsObject[Strings.identifier] = _toJSValue(newValue) } - } - @inlinable public var target: EventTarget { - get { jsObject[Strings.target].fromJSValue()! } - set { jsObject[Strings.target] = _toJSValue(newValue) } - } - @inlinable public var clientX: Double { - get { jsObject[Strings.clientX].fromJSValue()! } - set { jsObject[Strings.clientX] = _toJSValue(newValue) } - } - @inlinable public var clientY: Double { - get { jsObject[Strings.clientY].fromJSValue()! } - set { jsObject[Strings.clientY] = _toJSValue(newValue) } - } - @inlinable public var screenX: Double { - get { jsObject[Strings.screenX].fromJSValue()! } - set { jsObject[Strings.screenX] = _toJSValue(newValue) } - } - @inlinable public var screenY: Double { - get { jsObject[Strings.screenY].fromJSValue()! } - set { jsObject[Strings.screenY] = _toJSValue(newValue) } - } - @inlinable public var pageX: Double { - get { jsObject[Strings.pageX].fromJSValue()! } - set { jsObject[Strings.pageX] = _toJSValue(newValue) } - } - @inlinable public var pageY: Double { - get { jsObject[Strings.pageY].fromJSValue()! } - set { jsObject[Strings.pageY] = _toJSValue(newValue) } - } - @inlinable public var radiusX: Float { - get { jsObject[Strings.radiusX].fromJSValue()! } - set { jsObject[Strings.radiusX] = _toJSValue(newValue) } - } - @inlinable public var radiusY: Float { - get { jsObject[Strings.radiusY].fromJSValue()! } - set { jsObject[Strings.radiusY] = _toJSValue(newValue) } - } - @inlinable public var rotationAngle: Float { - get { jsObject[Strings.rotationAngle].fromJSValue()! } - set { jsObject[Strings.rotationAngle] = _toJSValue(newValue) } - } - @inlinable public var force: Float { - get { jsObject[Strings.force].fromJSValue()! } - set { jsObject[Strings.force] = _toJSValue(newValue) } - } - @inlinable public var altitudeAngle: Double { - get { jsObject[Strings.altitudeAngle].fromJSValue()! } - set { jsObject[Strings.altitudeAngle] = _toJSValue(newValue) } - } - @inlinable public var azimuthAngle: Double { - get { jsObject[Strings.azimuthAngle].fromJSValue()! } - set { jsObject[Strings.azimuthAngle] = _toJSValue(newValue) } - } - @inlinable public var touchType: TouchType { - get { jsObject[Strings.touchType].fromJSValue()! } - set { jsObject[Strings.touchType] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _identifier = ReadWriteAttribute(jsObject: object, name: Strings.identifier) + _target = ReadWriteAttribute(jsObject: object, name: Strings.target) + _clientX = ReadWriteAttribute(jsObject: object, name: Strings.clientX) + _clientY = ReadWriteAttribute(jsObject: object, name: Strings.clientY) + _screenX = ReadWriteAttribute(jsObject: object, name: Strings.screenX) + _screenY = ReadWriteAttribute(jsObject: object, name: Strings.screenY) + _pageX = ReadWriteAttribute(jsObject: object, name: Strings.pageX) + _pageY = ReadWriteAttribute(jsObject: object, name: Strings.pageY) + _radiusX = ReadWriteAttribute(jsObject: object, name: Strings.radiusX) + _radiusY = ReadWriteAttribute(jsObject: object, name: Strings.radiusY) + _rotationAngle = ReadWriteAttribute(jsObject: object, name: Strings.rotationAngle) + _force = ReadWriteAttribute(jsObject: object, name: Strings.force) + _altitudeAngle = ReadWriteAttribute(jsObject: object, name: Strings.altitudeAngle) + _azimuthAngle = ReadWriteAttribute(jsObject: object, name: Strings.azimuthAngle) + _touchType = ReadWriteAttribute(jsObject: object, name: Strings.touchType) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var identifier: Int32 + + @ReadWriteAttribute + public var target: EventTarget + + @ReadWriteAttribute + public var clientX: Double? + + @ReadWriteAttribute + public var clientY: Double? + + @ReadWriteAttribute + public var screenX: Double? + + @ReadWriteAttribute + public var screenY: Double? + + @ReadWriteAttribute + public var pageX: Double? + + @ReadWriteAttribute + public var pageY: Double? + + @ReadWriteAttribute + public var radiusX: Float? + + @ReadWriteAttribute + public var radiusY: Float? + + @ReadWriteAttribute + public var rotationAngle: Float? + + @ReadWriteAttribute + public var force: Float? + + @ReadWriteAttribute + public var altitudeAngle: Double? + + @ReadWriteAttribute + public var azimuthAngle: Double? + + @ReadWriteAttribute + public var touchType: TouchType? } + public class TouchList: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TouchList].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + self.jsObject = jsObject + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> Touch? { jsObject[key].fromJSValue() } + @inlinable public subscript(key: Int) -> Touch? { + jsObject[key].fromJSValue() + } - @inlinable final public func item(index: UInt32) -> Touch? { + @inlinable public func item(index: UInt32) -> Touch? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } @@ -17435,358 +16405,195 @@ public enum TouchType: JSString, JSValueCompatible { case stylus = "stylus" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class TrackEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TrackEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TrackEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _track = ReadonlyAttribute(jsObject: jsObject, name: Strings.track) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: TrackEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var track: AudioTrack_or_TextTrack_or_VideoTrack? { jsObject[Strings.track].fromJSValue() } + @ReadonlyAttribute + public var track: AudioTrack_or_TextTrack_or_VideoTrack? } -open class TrackEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - track: AudioTrack_or_TextTrack_or_VideoTrack? - ) { +public class TrackEventInit: BridgedDictionary { + public convenience init(track: AudioTrack_or_TextTrack_or_VideoTrack?) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.track] = _toJSValue(track) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var track: AudioTrack_or_TextTrack_or_VideoTrack? { - get { jsObject[Strings.track].fromJSValue() } - set { jsObject[Strings.track] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _track = ReadWriteAttribute(jsObject: object, name: Strings.track) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var track: AudioTrack_or_TextTrack_or_VideoTrack? } + public class TransformStream: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TransformStream].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _readable = ReadonlyAttribute(jsObject: jsObject, name: Strings.readable) + _writable = ReadonlyAttribute(jsObject: jsObject, name: Strings.writable) + self.jsObject = jsObject + } - @inlinable public convenience init( - transformer: JSObject? = nil, - writableStrategy: QueuingStrategy? = nil, - readableStrategy: QueuingStrategy? = nil - ) { - self.init( - unsafelyWrapping: Self.constructor!.new(arguments: [ - _toJSValue(transformer), _toJSValue(writableStrategy), _toJSValue(readableStrategy), - ]) - ) + @inlinable public convenience init(transformer: JSObject? = nil, writableStrategy: QueuingStrategy? = nil, readableStrategy: QueuingStrategy? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(transformer), _toJSValue(writableStrategy), _toJSValue(readableStrategy)])) } - @inlinable public var readable: ReadableStream { jsObject[Strings.readable].fromJSValue()! } + @ReadonlyAttribute + public var readable: ReadableStream - @inlinable public var writable: WritableStream { jsObject[Strings.writable].fromJSValue()! } + @ReadonlyAttribute + public var writable: WritableStream } public class TransformStreamDefaultController: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { - JSObject.global[Strings.TransformStreamDefaultController].function - } + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TransformStreamDefaultController].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _desiredSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.desiredSize) + self.jsObject = jsObject + } - @inlinable public var desiredSize: Double? { jsObject[Strings.desiredSize].fromJSValue() } + @ReadonlyAttribute + public var desiredSize: Double? - @inlinable final public func enqueue(chunk: JSValue? = nil) { + @inlinable public func enqueue(chunk: JSValue? = nil) { let this = jsObject _ = this[Strings.enqueue].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable final public func error(reason: JSValue? = nil) { + @inlinable public func error(reason: JSValue? = nil) { let this = jsObject _ = this[Strings.error].function!(this: this, arguments: [_toJSValue(reason)]) } - @inlinable final public func terminate() { + @inlinable public func terminate() { let this = jsObject _ = this[Strings.terminate].function!(this: this, arguments: []) } } -open class Transformer: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - start: TransformerStartCallback? = nil, - transform: TransformerTransformCallback? = nil, - flush: TransformerFlushCallback? = nil, - readableType: JSValue? = nil, - writableType: JSValue? = nil - ) { +public class Transformer: BridgedDictionary { + public convenience init(start: @escaping TransformerStartCallback, transform: @escaping TransformerTransformCallback, flush: @escaping TransformerFlushCallback, readableType: JSValue, writableType: JSValue) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.start] = _toJSValue(start) - object[Strings.transform] = _toJSValue(transform) - object[Strings.flush] = _toJSValue(flush) - object[Strings.readableType] = _toJSValue(readableType) - object[Strings.writableType] = _toJSValue(writableType) - - self.init(unsafelyWrapping: object) - } - - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var start: TransformerStartCallback { - get { - let function = jsObject[Strings.start].function! - return { function(_toJSValue($0)).fromJSValue()! } - } - set { jsObject[Strings.start] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } - } - @inlinable public var transform: TransformerTransformCallback { - get { - let function = jsObject[Strings.transform].function! - return { function(_toJSValue($0), _toJSValue($1)).fromJSValue()! } - } - set { - jsObject[Strings.transform] = - JSClosure { _toJSValue(newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!)) }.jsValue - } - } - @inlinable public var flush: TransformerFlushCallback { - get { - let function = jsObject[Strings.flush].function! - return { function(_toJSValue($0)).fromJSValue()! } - } - set { jsObject[Strings.flush] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } - } - @inlinable public var readableType: JSValue { - get { jsObject[Strings.readableType].fromJSValue()! } - set { jsObject[Strings.readableType] = _toJSValue(newValue) } - } - @inlinable public var writableType: JSValue { - get { jsObject[Strings.writableType].fromJSValue()! } - set { jsObject[Strings.writableType] = _toJSValue(newValue) } - } -} -public class TreeWalker: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TreeWalker].function } - - public let jsObject: JSObject - - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - - @inlinable public var root: Node { jsObject[Strings.root].fromJSValue()! } - - @inlinable public var whatToShow: UInt32 { jsObject[Strings.whatToShow].fromJSValue()! } - - // XXX: member 'filter' is ignored - - @inlinable public var currentNode: Node { - get { jsObject[Strings.currentNode].fromJSValue()! } - set { jsObject[Strings.currentNode] = _toJSValue(newValue) } - } - - @inlinable final public func parentNode() -> Node? { - let this = jsObject - return this[Strings.parentNode].function!(this: this, arguments: []).fromJSValue() - } - - @inlinable final public func firstChild() -> Node? { - let this = jsObject - return this[Strings.firstChild].function!(this: this, arguments: []).fromJSValue() - } - - @inlinable final public func lastChild() -> Node? { - let this = jsObject - return this[Strings.lastChild].function!(this: this, arguments: []).fromJSValue() - } - - @inlinable final public func previousSibling() -> Node? { - let this = jsObject - return this[Strings.previousSibling].function!(this: this, arguments: []).fromJSValue() - } - - @inlinable final public func nextSibling() -> Node? { - let this = jsObject - return this[Strings.nextSibling].function!(this: this, arguments: []).fromJSValue() - } - - @inlinable final public func previousNode() -> Node? { - let this = jsObject - return this[Strings.previousNode].function!(this: this, arguments: []).fromJSValue() - } - - @inlinable final public func nextNode() -> Node? { - let this = jsObject - return this[Strings.nextNode].function!(this: this, arguments: []).fromJSValue() - } -} - -public class TrustedHTML: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedHTML].function } - - public let jsObject: JSObject - - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - - @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } - - @inlinable final public func toJSON() -> String { - let this = jsObject - return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! - } - - @inlinable public class func fromLiteral(templateStringsArray: JSObject) -> TrustedHTML { - let this = constructor! - return this[Strings.fromLiteral].function!(this: this, arguments: [_toJSValue(templateStringsArray)]) - .fromJSValue()! - } -} - -public class TrustedScript: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedScript].function } - - public let jsObject: JSObject - - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - - @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } - - @inlinable final public func toJSON() -> String { - let this = jsObject - return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! + ClosureAttribute1[Strings.start, in: object] = start + ClosureAttribute2[Strings.transform, in: object] = transform + ClosureAttribute1[Strings.flush, in: object] = flush + object[Strings.readableType] = _toJSValue(readableType) + object[Strings.writableType] = _toJSValue(writableType) + self.init(unsafelyWrapping: object) } - @inlinable public class func fromLiteral(templateStringsArray: JSObject) -> TrustedScript { - let this = constructor! - return this[Strings.fromLiteral].function!(this: this, arguments: [_toJSValue(templateStringsArray)]) - .fromJSValue()! + public required init(unsafelyWrapping object: JSObject) { + _start = ClosureAttribute1(jsObject: object, name: Strings.start) + _transform = ClosureAttribute2(jsObject: object, name: Strings.transform) + _flush = ClosureAttribute1(jsObject: object, name: Strings.flush) + _readableType = ReadWriteAttribute(jsObject: object, name: Strings.readableType) + _writableType = ReadWriteAttribute(jsObject: object, name: Strings.writableType) + super.init(unsafelyWrapping: object) } -} - -public class TrustedScriptURL: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedScriptURL].function } - public let jsObject: JSObject + @ClosureAttribute1 + public var start: TransformerStartCallback - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + @ClosureAttribute2 + public var transform: TransformerTransformCallback - @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } + @ClosureAttribute1 + public var flush: TransformerFlushCallback - @inlinable final public func toJSON() -> String { - let this = jsObject - return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! - } + @ReadWriteAttribute + public var readableType: JSValue? - @inlinable public class func fromLiteral(templateStringsArray: JSObject) -> TrustedScriptURL { - let this = constructor! - return this[Strings.fromLiteral].function!(this: this, arguments: [_toJSValue(templateStringsArray)]) - .fromJSValue()! - } + @ReadWriteAttribute + public var writableType: JSValue? } -public class TrustedTypePolicy: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedTypePolicy].function } +public class TreeWalker: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TreeWalker].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _root = ReadonlyAttribute(jsObject: jsObject, name: Strings.root) + _whatToShow = ReadonlyAttribute(jsObject: jsObject, name: Strings.whatToShow) + _currentNode = ReadWriteAttribute(jsObject: jsObject, name: Strings.currentNode) + self.jsObject = jsObject + } - @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } + @ReadonlyAttribute + public var root: Node - @inlinable final public func createHTML(input: String, arguments: JSValue...) -> TrustedHTML { - let this = jsObject - return this[Strings.createHTML].function!( - this: this, - arguments: [_toJSValue(input)] + arguments.map(_toJSValue) - ).fromJSValue()! - } + @ReadonlyAttribute + public var whatToShow: UInt32 + + // XXX: member 'filter' is ignored + + @ReadWriteAttribute + public var currentNode: Node - @inlinable final public func createScript(input: String, arguments: JSValue...) -> TrustedScript { + @inlinable public func parentNode() -> Node? { let this = jsObject - return this[Strings.createScript].function!( - this: this, - arguments: [_toJSValue(input)] + arguments.map(_toJSValue) - ).fromJSValue()! + return this[Strings.parentNode].function!(this: this, arguments: []).fromJSValue() } - @inlinable final public func createScriptURL(input: String, arguments: JSValue...) -> TrustedScriptURL { + @inlinable public func firstChild() -> Node? { let this = jsObject - return this[Strings.createScriptURL].function!( - this: this, - arguments: [_toJSValue(input)] + arguments.map(_toJSValue) - ).fromJSValue()! + return this[Strings.firstChild].function!(this: this, arguments: []).fromJSValue() } -} - -public class TrustedTypePolicyFactory: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedTypePolicyFactory].function } - public let jsObject: JSObject - - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - - // XXX: member 'createPolicy' is ignored - - @inlinable final public func isHTML(value: JSValue) -> Bool { + @inlinable public func lastChild() -> Node? { let this = jsObject - return this[Strings.isHTML].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + return this[Strings.lastChild].function!(this: this, arguments: []).fromJSValue() } - @inlinable final public func isScript(value: JSValue) -> Bool { + @inlinable public func previousSibling() -> Node? { let this = jsObject - return this[Strings.isScript].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + return this[Strings.previousSibling].function!(this: this, arguments: []).fromJSValue() } - @inlinable final public func isScriptURL(value: JSValue) -> Bool { + @inlinable public func nextSibling() -> Node? { let this = jsObject - return this[Strings.isScriptURL].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + return this[Strings.nextSibling].function!(this: this, arguments: []).fromJSValue() } - @inlinable public var emptyHTML: TrustedHTML { jsObject[Strings.emptyHTML].fromJSValue()! } - - @inlinable public var emptyScript: TrustedScript { jsObject[Strings.emptyScript].fromJSValue()! } - - @inlinable final public func getAttributeType( - tagName: String, - attribute: String, - elementNs: String? = nil, - attrNs: String? = nil - ) -> String? { + @inlinable public func previousNode() -> Node? { let this = jsObject - return this[Strings.getAttributeType].function!( - this: this, - arguments: [_toJSValue(tagName), _toJSValue(attribute), _toJSValue(elementNs), _toJSValue(attrNs)] - ).fromJSValue() + return this[Strings.previousNode].function!(this: this, arguments: []).fromJSValue() } - @inlinable final public func getPropertyType(tagName: String, property: String, elementNs: String? = nil) -> String? - { + @inlinable public func nextNode() -> Node? { let this = jsObject - return this[Strings.getPropertyType].function!( - this: this, - arguments: [_toJSValue(tagName), _toJSValue(property), _toJSValue(elementNs)] - ).fromJSValue() + return this[Strings.nextNode].function!(this: this, arguments: []).fromJSValue() } - - @inlinable public var defaultPolicy: TrustedTypePolicy? { jsObject[Strings.defaultPolicy].fromJSValue() } } public typealias EventHandler = EventHandlerNonNull? @@ -17797,10 +16604,6 @@ public typealias DOMHighResTimeStamp = Double public typealias EpochTimeStamp = UInt64 public typealias PerformanceEntryList = [PerformanceEntry] -public typealias HTMLString = String -public typealias ScriptString = String -public typealias ScriptURLString = String - public typealias MutationCallback = ([MutationRecord], MutationObserver) -> Void public typealias BlobCallback = (Blob?) -> Void public typealias FunctionStringCallback = (String) -> Void @@ -17809,7 +16612,6 @@ public typealias EventHandlerNonNull = (Event) -> JSValue public typealias OnErrorEventHandlerNonNull = (Event_or_String, String, UInt32, UInt32, JSValue) -> JSValue public typealias OnBeforeUnloadEventHandlerNonNull = (Event) -> String? public typealias FrameRequestCallback = (DOMHighResTimeStamp) -> Void -public typealias UpdateCallback = () -> JSPromise public typealias UnderlyingSourceStartCallback = (ReadableStreamController) -> JSValue public typealias UnderlyingSourcePullCallback = (ReadableStreamController) -> JSPromise public typealias UnderlyingSourceCancelCallback = (JSValue) -> JSPromise @@ -17828,457 +16630,183 @@ public typealias VideoFrameOutputCallback = (VideoFrame) -> Void public typealias EncodedAudioChunkOutputCallback = (EncodedAudioChunk, EncodedAudioChunkMetadata) -> Void public typealias EncodedVideoChunkOutputCallback = (EncodedVideoChunk, EncodedVideoChunkMetadata) -> Void public typealias WebCodecsErrorCallback = (DOMException) -> Void -public typealias PerformanceObserverCallback = ( - PerformanceObserverEntryList, PerformanceObserver, PerformanceObserverCallbackOptions -) -> Void -public typealias CreateHTMLCallback = (String, JSValue...) -> String -public typealias CreateScriptCallback = (String, JSValue...) -> String -public typealias CreateScriptURLCallback = (String, JSValue...) -> String +public typealias PerformanceObserverCallback = (PerformanceObserverEntryList, PerformanceObserver, PerformanceObserverCallbackOptions) -> Void public class UIEvent: Event { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.UIEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.UIEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _view = ReadonlyAttribute(jsObject: jsObject, name: Strings.view) + _detail = ReadonlyAttribute(jsObject: jsObject, name: Strings.detail) + _which = ReadonlyAttribute(jsObject: jsObject, name: Strings.which) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: UIEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public var view: Window? { jsObject[Strings.view].fromJSValue() } + @ReadonlyAttribute + public var view: Window? - @inlinable public var detail: Int32 { jsObject[Strings.detail].fromJSValue()! } + @ReadonlyAttribute + public var detail: Int32 - @inlinable final public func initUIEvent( - typeArg: String, - bubblesArg: Bool? = nil, - cancelableArg: Bool? = nil, - viewArg: Window? = nil, - detailArg: Int32? = nil - ) { + @inlinable public func initUIEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, viewArg: Window? = nil, detailArg: Int32? = nil) { let this = jsObject - _ = this[Strings.initUIEvent].function!( - this: this, - arguments: [ - _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), - _toJSValue(detailArg), - ] - ) + _ = this[Strings.initUIEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), _toJSValue(detailArg)]) } - @inlinable public var which: UInt32 { jsObject[Strings.which].fromJSValue()! } + @ReadonlyAttribute + public var which: UInt32 } -open class UIEventInit: EventInit { - - public convenience init( - bubbles: Bool? = nil, - cancelable: Bool? = nil, - composed: Bool? = nil, - view: Window?, - detail: Int32? = nil, - which: UInt32? = nil - ) { +public class UIEventInit: BridgedDictionary { + public convenience init(view: Window?, detail: Int32, which: UInt32) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.bubbles] = _toJSValue(bubbles) - object[Strings.cancelable] = _toJSValue(cancelable) - object[Strings.composed] = _toJSValue(composed) object[Strings.view] = _toJSValue(view) object[Strings.detail] = _toJSValue(detail) object[Strings.which] = _toJSValue(which) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var view: Window? { - get { jsObject[Strings.view].fromJSValue() } - set { jsObject[Strings.view] = _toJSValue(newValue) } - } - @inlinable public var detail: Int32 { - get { jsObject[Strings.detail].fromJSValue()! } - set { jsObject[Strings.detail] = _toJSValue(newValue) } - } - @inlinable public var which: UInt32 { - get { jsObject[Strings.which].fromJSValue()! } - set { jsObject[Strings.which] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _view = ReadWriteAttribute(jsObject: object, name: Strings.view) + _detail = ReadWriteAttribute(jsObject: object, name: Strings.detail) + _which = ReadWriteAttribute(jsObject: object, name: Strings.which) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var view: Window? + + @ReadWriteAttribute + public var detail: Int32? + + @ReadWriteAttribute + public var which: UInt32? } -open class ULongRange: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(max: UInt32? = nil, min: UInt32? = nil) { +public class ULongRange: BridgedDictionary { + public convenience init(max: UInt32, min: UInt32) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.max] = _toJSValue(max) object[Strings.min] = _toJSValue(min) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var max: UInt32 { - get { jsObject[Strings.max].fromJSValue()! } - set { jsObject[Strings.max] = _toJSValue(newValue) } - } - @inlinable public var min: UInt32 { - get { jsObject[Strings.min].fromJSValue()! } - set { jsObject[Strings.min] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _max = ReadWriteAttribute(jsObject: object, name: Strings.max) + _min = ReadWriteAttribute(jsObject: object, name: Strings.min) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var max: UInt32? + + @ReadWriteAttribute + public var min: UInt32? } -extension URL { - @inlinable public class func createObjectURL(obj: Blob_or_MediaSource) -> String { +public extension URL { + @inlinable class func createObjectURL(obj: Blob_or_MediaSource) -> String { let this = constructor! return this[Strings.createObjectURL].function!(this: this, arguments: [_toJSValue(obj)]).fromJSValue()! } - @inlinable public class func revokeObjectURL(url: String) { + @inlinable class func revokeObjectURL(url: String) { let this = constructor! _ = this[Strings.revokeObjectURL].function!(this: this, arguments: [_toJSValue(url)]) } } -public class URLPattern: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.URLPattern].function } - - public let jsObject: JSObject - - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - - @inlinable public convenience init(input: URLPatternInput, baseURL: String, options: URLPatternOptions? = nil) { - self.init( - unsafelyWrapping: Self.constructor!.new(arguments: [ - _toJSValue(input), _toJSValue(baseURL), _toJSValue(options), - ]) - ) - } - - @inlinable public convenience init(input: URLPatternInput? = nil, options: URLPatternOptions? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(input), _toJSValue(options)])) - } - - @inlinable final public func test(input: URLPatternInput? = nil, baseURL: String? = nil) -> Bool { - let this = jsObject - return this[Strings.test].function!(this: this, arguments: [_toJSValue(input), _toJSValue(baseURL)]) - .fromJSValue()! - } - - @inlinable final public func exec(input: URLPatternInput? = nil, baseURL: String? = nil) -> URLPatternResult? { - let this = jsObject - return this[Strings.exec].function!(this: this, arguments: [_toJSValue(input), _toJSValue(baseURL)]) - .fromJSValue() - } - - @inlinable public var `protocol`: String { jsObject[Strings.`protocol`].fromJSValue()! } - - @inlinable public var username: String { jsObject[Strings.username].fromJSValue()! } - - @inlinable public var password: String { jsObject[Strings.password].fromJSValue()! } - - @inlinable public var hostname: String { jsObject[Strings.hostname].fromJSValue()! } - - @inlinable public var port: String { jsObject[Strings.port].fromJSValue()! } - - @inlinable public var pathname: String { jsObject[Strings.pathname].fromJSValue()! } - - @inlinable public var search: String { jsObject[Strings.search].fromJSValue()! } - - @inlinable public var hash: String { jsObject[Strings.hash].fromJSValue()! } -} - -open class URLPatternComponentResult: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(input: String? = nil, groups: JSObject? = nil) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.input] = _toJSValue(input) - object[Strings.groups] = _toJSValue(groups) - - self.init(unsafelyWrapping: object) - } - - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var input: String { - get { jsObject[Strings.input].fromJSValue()! } - set { jsObject[Strings.input] = _toJSValue(newValue) } - } - @inlinable public var groups: JSObject { - get { jsObject[Strings.groups].fromJSValue()! } - set { jsObject[Strings.groups] = _toJSValue(newValue) } - } -} -open class URLPatternInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - `protocol`: String? = nil, - username: String? = nil, - password: String? = nil, - hostname: String? = nil, - port: String? = nil, - pathname: String? = nil, - search: String? = nil, - hash: String? = nil, - baseURL: String? = nil - ) { +public class UnderlyingSink: BridgedDictionary { + public convenience init(start: @escaping UnderlyingSinkStartCallback, write: @escaping UnderlyingSinkWriteCallback, close: @escaping UnderlyingSinkCloseCallback, abort: @escaping UnderlyingSinkAbortCallback, type: JSValue) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.`protocol`] = _toJSValue(`protocol`) - object[Strings.username] = _toJSValue(username) - object[Strings.password] = _toJSValue(password) - object[Strings.hostname] = _toJSValue(hostname) - object[Strings.port] = _toJSValue(port) - object[Strings.pathname] = _toJSValue(pathname) - object[Strings.search] = _toJSValue(search) - object[Strings.hash] = _toJSValue(hash) - object[Strings.baseURL] = _toJSValue(baseURL) - + ClosureAttribute1[Strings.start, in: object] = start + ClosureAttribute2[Strings.write, in: object] = write + ClosureAttribute0[Strings.close, in: object] = close + ClosureAttribute1[Strings.abort, in: object] = abort + object[Strings.type] = _toJSValue(type) self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var `protocol`: String { - get { jsObject[Strings.`protocol`].fromJSValue()! } - set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } - } - @inlinable public var username: String { - get { jsObject[Strings.username].fromJSValue()! } - set { jsObject[Strings.username] = _toJSValue(newValue) } - } - @inlinable public var password: String { - get { jsObject[Strings.password].fromJSValue()! } - set { jsObject[Strings.password] = _toJSValue(newValue) } - } - @inlinable public var hostname: String { - get { jsObject[Strings.hostname].fromJSValue()! } - set { jsObject[Strings.hostname] = _toJSValue(newValue) } - } - @inlinable public var port: String { - get { jsObject[Strings.port].fromJSValue()! } - set { jsObject[Strings.port] = _toJSValue(newValue) } - } - @inlinable public var pathname: String { - get { jsObject[Strings.pathname].fromJSValue()! } - set { jsObject[Strings.pathname] = _toJSValue(newValue) } - } - @inlinable public var search: String { - get { jsObject[Strings.search].fromJSValue()! } - set { jsObject[Strings.search] = _toJSValue(newValue) } - } - @inlinable public var hash: String { - get { jsObject[Strings.hash].fromJSValue()! } - set { jsObject[Strings.hash] = _toJSValue(newValue) } - } - @inlinable public var baseURL: String { - get { jsObject[Strings.baseURL].fromJSValue()! } - set { jsObject[Strings.baseURL] = _toJSValue(newValue) } - } -} -open class URLPatternOptions: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(ignoreCase: Bool? = nil) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.ignoreCase] = _toJSValue(ignoreCase) - - self.init(unsafelyWrapping: object) + public required init(unsafelyWrapping object: JSObject) { + _start = ClosureAttribute1(jsObject: object, name: Strings.start) + _write = ClosureAttribute2(jsObject: object, name: Strings.write) + _close = ClosureAttribute0(jsObject: object, name: Strings.close) + _abort = ClosureAttribute1(jsObject: object, name: Strings.abort) + _type = ReadWriteAttribute(jsObject: object, name: Strings.type) + super.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var ignoreCase: Bool { - get { jsObject[Strings.ignoreCase].fromJSValue()! } - set { jsObject[Strings.ignoreCase] = _toJSValue(newValue) } - } -} -open class URLPatternResult: JSDictionaryCompatible { - public let jsObject: JSObject + @ClosureAttribute1 + public var start: UnderlyingSinkStartCallback - public convenience init( - inputs: [URLPatternInput]? = nil, - `protocol`: URLPatternComponentResult? = nil, - username: URLPatternComponentResult? = nil, - password: URLPatternComponentResult? = nil, - hostname: URLPatternComponentResult? = nil, - port: URLPatternComponentResult? = nil, - pathname: URLPatternComponentResult? = nil, - search: URLPatternComponentResult? = nil, - hash: URLPatternComponentResult? = nil - ) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.inputs] = _toJSValue(inputs) - object[Strings.`protocol`] = _toJSValue(`protocol`) - object[Strings.username] = _toJSValue(username) - object[Strings.password] = _toJSValue(password) - object[Strings.hostname] = _toJSValue(hostname) - object[Strings.port] = _toJSValue(port) - object[Strings.pathname] = _toJSValue(pathname) - object[Strings.search] = _toJSValue(search) - object[Strings.hash] = _toJSValue(hash) + @ClosureAttribute2 + public var write: UnderlyingSinkWriteCallback - self.init(unsafelyWrapping: object) - } + @ClosureAttribute0 + public var close: UnderlyingSinkCloseCallback - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + @ClosureAttribute1 + public var abort: UnderlyingSinkAbortCallback - @inlinable public var inputs: [URLPatternInput] { - get { jsObject[Strings.inputs].fromJSValue()! } - set { jsObject[Strings.inputs] = _toJSValue(newValue) } - } - @inlinable public var `protocol`: URLPatternComponentResult { - get { jsObject[Strings.`protocol`].fromJSValue()! } - set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } - } - @inlinable public var username: URLPatternComponentResult { - get { jsObject[Strings.username].fromJSValue()! } - set { jsObject[Strings.username] = _toJSValue(newValue) } - } - @inlinable public var password: URLPatternComponentResult { - get { jsObject[Strings.password].fromJSValue()! } - set { jsObject[Strings.password] = _toJSValue(newValue) } - } - @inlinable public var hostname: URLPatternComponentResult { - get { jsObject[Strings.hostname].fromJSValue()! } - set { jsObject[Strings.hostname] = _toJSValue(newValue) } - } - @inlinable public var port: URLPatternComponentResult { - get { jsObject[Strings.port].fromJSValue()! } - set { jsObject[Strings.port] = _toJSValue(newValue) } - } - @inlinable public var pathname: URLPatternComponentResult { - get { jsObject[Strings.pathname].fromJSValue()! } - set { jsObject[Strings.pathname] = _toJSValue(newValue) } - } - @inlinable public var search: URLPatternComponentResult { - get { jsObject[Strings.search].fromJSValue()! } - set { jsObject[Strings.search] = _toJSValue(newValue) } - } - @inlinable public var hash: URLPatternComponentResult { - get { jsObject[Strings.hash].fromJSValue()! } - set { jsObject[Strings.hash] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var type: JSValue? } -open class UnderlyingSink: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - start: UnderlyingSinkStartCallback? = nil, - write: UnderlyingSinkWriteCallback? = nil, - close: UnderlyingSinkCloseCallback? = nil, - abort: UnderlyingSinkAbortCallback? = nil, - type: JSValue? = nil - ) { +public class UnderlyingSource: BridgedDictionary { + public convenience init(start: @escaping UnderlyingSourceStartCallback, pull: @escaping UnderlyingSourcePullCallback, cancel: @escaping UnderlyingSourceCancelCallback, type: ReadableStreamType, autoAllocateChunkSize: UInt64) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.start] = _toJSValue(start) - object[Strings.write] = _toJSValue(write) - object[Strings.close] = _toJSValue(close) - object[Strings.abort] = _toJSValue(abort) + ClosureAttribute1[Strings.start, in: object] = start + ClosureAttribute1[Strings.pull, in: object] = pull + ClosureAttribute1[Strings.cancel, in: object] = cancel object[Strings.type] = _toJSValue(type) - + object[Strings.autoAllocateChunkSize] = _toJSValue(autoAllocateChunkSize) self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var start: UnderlyingSinkStartCallback { - get { - let function = jsObject[Strings.start].function! - return { function(_toJSValue($0)).fromJSValue()! } - } - set { jsObject[Strings.start] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } - } - @inlinable public var write: UnderlyingSinkWriteCallback { - get { - let function = jsObject[Strings.write].function! - return { function(_toJSValue($0), _toJSValue($1)).fromJSValue()! } - } - set { - jsObject[Strings.write] = - JSClosure { _toJSValue(newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!)) }.jsValue - } - } - @inlinable public var close: UnderlyingSinkCloseCallback { - get { - let function = jsObject[Strings.close].function! - return { function().fromJSValue()! } - } - set { jsObject[Strings.close] = JSClosure { _ in _toJSValue(newValue()) }.jsValue } - } - @inlinable public var abort: UnderlyingSinkAbortCallback { - get { - let function = jsObject[Strings.abort].function! - return { function(_toJSValue($0)).fromJSValue()! } - } - set { jsObject[Strings.abort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + public required init(unsafelyWrapping object: JSObject) { + _start = ClosureAttribute1(jsObject: object, name: Strings.start) + _pull = ClosureAttribute1(jsObject: object, name: Strings.pull) + _cancel = ClosureAttribute1(jsObject: object, name: Strings.cancel) + _type = ReadWriteAttribute(jsObject: object, name: Strings.type) + _autoAllocateChunkSize = ReadWriteAttribute(jsObject: object, name: Strings.autoAllocateChunkSize) + super.init(unsafelyWrapping: object) } - @inlinable public var type: JSValue { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } -} -open class UnderlyingSource: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - start: UnderlyingSourceStartCallback? = nil, - pull: UnderlyingSourcePullCallback? = nil, - cancel: UnderlyingSourceCancelCallback? = nil, - type: ReadableStreamType? = nil, - autoAllocateChunkSize: UInt64? = nil - ) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.start] = _toJSValue(start) - object[Strings.pull] = _toJSValue(pull) - object[Strings.cancel] = _toJSValue(cancel) - object[Strings.type] = _toJSValue(type) - object[Strings.autoAllocateChunkSize] = _toJSValue(autoAllocateChunkSize) + @ClosureAttribute1 + public var start: UnderlyingSourceStartCallback - self.init(unsafelyWrapping: object) - } + @ClosureAttribute1 + public var pull: UnderlyingSourcePullCallback - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + @ClosureAttribute1 + public var cancel: UnderlyingSourceCancelCallback - @inlinable public var start: UnderlyingSourceStartCallback { - get { - let function = jsObject[Strings.start].function! - return { function(_toJSValue($0)).fromJSValue()! } - } - set { jsObject[Strings.start] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } - } - @inlinable public var pull: UnderlyingSourcePullCallback { - get { - let function = jsObject[Strings.pull].function! - return { function(_toJSValue($0)).fromJSValue()! } - } - set { jsObject[Strings.pull] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } - } - @inlinable public var cancel: UnderlyingSourceCancelCallback { - get { - let function = jsObject[Strings.cancel].function! - return { function(_toJSValue($0)).fromJSValue()! } - } - set { jsObject[Strings.cancel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } - } - @inlinable public var type: ReadableStreamType { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } - @inlinable public var autoAllocateChunkSize: UInt64 { - get { jsObject[Strings.autoAllocateChunkSize].fromJSValue()! } - set { jsObject[Strings.autoAllocateChunkSize] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var type: ReadableStreamType? + + @ReadWriteAttribute + public var autoAllocateChunkSize: UInt64? } + public class UserActivation: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.UserActivation].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _hasBeenActive = ReadonlyAttribute(jsObject: jsObject, name: Strings.hasBeenActive) + _isActive = ReadonlyAttribute(jsObject: jsObject, name: Strings.isActive) + self.jsObject = jsObject + } - @inlinable public var hasBeenActive: Bool { jsObject[Strings.hasBeenActive].fromJSValue()! } + @ReadonlyAttribute + public var hasBeenActive: Bool - @inlinable public var isActive: Bool { jsObject[Strings.isActive].fromJSValue()! } + @ReadonlyAttribute + public var isActive: Bool } public class ValidityState: JSBridgedClass { @@ -18286,46 +16814,57 @@ public class ValidityState: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _valueMissing = ReadonlyAttribute(jsObject: jsObject, name: Strings.valueMissing) + _typeMismatch = ReadonlyAttribute(jsObject: jsObject, name: Strings.typeMismatch) + _patternMismatch = ReadonlyAttribute(jsObject: jsObject, name: Strings.patternMismatch) + _tooLong = ReadonlyAttribute(jsObject: jsObject, name: Strings.tooLong) + _tooShort = ReadonlyAttribute(jsObject: jsObject, name: Strings.tooShort) + _rangeUnderflow = ReadonlyAttribute(jsObject: jsObject, name: Strings.rangeUnderflow) + _rangeOverflow = ReadonlyAttribute(jsObject: jsObject, name: Strings.rangeOverflow) + _stepMismatch = ReadonlyAttribute(jsObject: jsObject, name: Strings.stepMismatch) + _badInput = ReadonlyAttribute(jsObject: jsObject, name: Strings.badInput) + _customError = ReadonlyAttribute(jsObject: jsObject, name: Strings.customError) + _valid = ReadonlyAttribute(jsObject: jsObject, name: Strings.valid) + self.jsObject = jsObject + } - @inlinable public var valueMissing: Bool { jsObject[Strings.valueMissing].fromJSValue()! } + @ReadonlyAttribute + public var valueMissing: Bool - @inlinable public var typeMismatch: Bool { jsObject[Strings.typeMismatch].fromJSValue()! } + @ReadonlyAttribute + public var typeMismatch: Bool - @inlinable public var patternMismatch: Bool { jsObject[Strings.patternMismatch].fromJSValue()! } + @ReadonlyAttribute + public var patternMismatch: Bool - @inlinable public var tooLong: Bool { jsObject[Strings.tooLong].fromJSValue()! } + @ReadonlyAttribute + public var tooLong: Bool - @inlinable public var tooShort: Bool { jsObject[Strings.tooShort].fromJSValue()! } + @ReadonlyAttribute + public var tooShort: Bool - @inlinable public var rangeUnderflow: Bool { jsObject[Strings.rangeUnderflow].fromJSValue()! } + @ReadonlyAttribute + public var rangeUnderflow: Bool - @inlinable public var rangeOverflow: Bool { jsObject[Strings.rangeOverflow].fromJSValue()! } + @ReadonlyAttribute + public var rangeOverflow: Bool - @inlinable public var stepMismatch: Bool { jsObject[Strings.stepMismatch].fromJSValue()! } + @ReadonlyAttribute + public var stepMismatch: Bool - @inlinable public var badInput: Bool { jsObject[Strings.badInput].fromJSValue()! } + @ReadonlyAttribute + public var badInput: Bool - @inlinable public var customError: Bool { jsObject[Strings.customError].fromJSValue()! } + @ReadonlyAttribute + public var customError: Bool - @inlinable public var valid: Bool { jsObject[Strings.valid].fromJSValue()! } + @ReadonlyAttribute + public var valid: Bool } -open class ValidityStateFlags: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - valueMissing: Bool? = nil, - typeMismatch: Bool? = nil, - patternMismatch: Bool? = nil, - tooLong: Bool? = nil, - tooShort: Bool? = nil, - rangeUnderflow: Bool? = nil, - rangeOverflow: Bool? = nil, - stepMismatch: Bool? = nil, - badInput: Bool? = nil, - customError: Bool? = nil - ) { +public class ValidityStateFlags: BridgedDictionary { + public convenience init(valueMissing: Bool, typeMismatch: Bool, patternMismatch: Bool, tooLong: Bool, tooShort: Bool, rangeUnderflow: Bool, rangeOverflow: Bool, stepMismatch: Bool, badInput: Bool, customError: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.valueMissing] = _toJSValue(valueMissing) object[Strings.typeMismatch] = _toJSValue(typeMismatch) @@ -18337,53 +16876,54 @@ open class ValidityStateFlags: JSDictionaryCompatible { object[Strings.stepMismatch] = _toJSValue(stepMismatch) object[Strings.badInput] = _toJSValue(badInput) object[Strings.customError] = _toJSValue(customError) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var valueMissing: Bool { - get { jsObject[Strings.valueMissing].fromJSValue()! } - set { jsObject[Strings.valueMissing] = _toJSValue(newValue) } - } - @inlinable public var typeMismatch: Bool { - get { jsObject[Strings.typeMismatch].fromJSValue()! } - set { jsObject[Strings.typeMismatch] = _toJSValue(newValue) } - } - @inlinable public var patternMismatch: Bool { - get { jsObject[Strings.patternMismatch].fromJSValue()! } - set { jsObject[Strings.patternMismatch] = _toJSValue(newValue) } - } - @inlinable public var tooLong: Bool { - get { jsObject[Strings.tooLong].fromJSValue()! } - set { jsObject[Strings.tooLong] = _toJSValue(newValue) } - } - @inlinable public var tooShort: Bool { - get { jsObject[Strings.tooShort].fromJSValue()! } - set { jsObject[Strings.tooShort] = _toJSValue(newValue) } - } - @inlinable public var rangeUnderflow: Bool { - get { jsObject[Strings.rangeUnderflow].fromJSValue()! } - set { jsObject[Strings.rangeUnderflow] = _toJSValue(newValue) } - } - @inlinable public var rangeOverflow: Bool { - get { jsObject[Strings.rangeOverflow].fromJSValue()! } - set { jsObject[Strings.rangeOverflow] = _toJSValue(newValue) } - } - @inlinable public var stepMismatch: Bool { - get { jsObject[Strings.stepMismatch].fromJSValue()! } - set { jsObject[Strings.stepMismatch] = _toJSValue(newValue) } - } - @inlinable public var badInput: Bool { - get { jsObject[Strings.badInput].fromJSValue()! } - set { jsObject[Strings.badInput] = _toJSValue(newValue) } - } - @inlinable public var customError: Bool { - get { jsObject[Strings.customError].fromJSValue()! } - set { jsObject[Strings.customError] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _valueMissing = ReadWriteAttribute(jsObject: object, name: Strings.valueMissing) + _typeMismatch = ReadWriteAttribute(jsObject: object, name: Strings.typeMismatch) + _patternMismatch = ReadWriteAttribute(jsObject: object, name: Strings.patternMismatch) + _tooLong = ReadWriteAttribute(jsObject: object, name: Strings.tooLong) + _tooShort = ReadWriteAttribute(jsObject: object, name: Strings.tooShort) + _rangeUnderflow = ReadWriteAttribute(jsObject: object, name: Strings.rangeUnderflow) + _rangeOverflow = ReadWriteAttribute(jsObject: object, name: Strings.rangeOverflow) + _stepMismatch = ReadWriteAttribute(jsObject: object, name: Strings.stepMismatch) + _badInput = ReadWriteAttribute(jsObject: object, name: Strings.badInput) + _customError = ReadWriteAttribute(jsObject: object, name: Strings.customError) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var valueMissing: Bool? + + @ReadWriteAttribute + public var typeMismatch: Bool? + + @ReadWriteAttribute + public var patternMismatch: Bool? + + @ReadWriteAttribute + public var tooLong: Bool? + + @ReadWriteAttribute + public var tooShort: Bool? + + @ReadWriteAttribute + public var rangeUnderflow: Bool? + + @ReadWriteAttribute + public var rangeOverflow: Bool? + + @ReadWriteAttribute + public var stepMismatch: Bool? + + @ReadWriteAttribute + public var badInput: Bool? + + @ReadWriteAttribute + public var customError: Bool? } + public enum VideoColorPrimaries: JSString, JSValueCompatible { case bt709 = "bt709" case bt470bg = "bt470bg" @@ -18392,134 +16932,136 @@ public enum VideoColorPrimaries: JSString, JSValueCompatible { case smpte432 = "smpte432" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class VideoColorSpace: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.VideoColorSpace].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _primaries = ReadonlyAttribute(jsObject: jsObject, name: Strings.primaries) + _transfer = ReadonlyAttribute(jsObject: jsObject, name: Strings.transfer) + _matrix = ReadonlyAttribute(jsObject: jsObject, name: Strings.matrix) + _fullRange = ReadonlyAttribute(jsObject: jsObject, name: Strings.fullRange) + self.jsObject = jsObject + } - @inlinable public convenience init(`init`: VideoColorSpaceInit? = nil) { + @inlinable public convenience init(init: VideoColorSpaceInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public var primaries: VideoColorPrimaries? { jsObject[Strings.primaries].fromJSValue() } + @ReadonlyAttribute + public var primaries: VideoColorPrimaries? - @inlinable public var transfer: VideoTransferCharacteristics? { jsObject[Strings.transfer].fromJSValue() } + @ReadonlyAttribute + public var transfer: VideoTransferCharacteristics? - @inlinable public var matrix: VideoMatrixCoefficients? { jsObject[Strings.matrix].fromJSValue() } + @ReadonlyAttribute + public var matrix: VideoMatrixCoefficients? - @inlinable public var fullRange: Bool? { jsObject[Strings.fullRange].fromJSValue() } + @ReadonlyAttribute + public var fullRange: Bool? - @inlinable final public func toJSON() -> VideoColorSpaceInit { + @inlinable public func toJSON() -> VideoColorSpaceInit { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } } -open class VideoColorSpaceInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - primaries: VideoColorPrimaries?, - transfer: VideoTransferCharacteristics?, - matrix: VideoMatrixCoefficients?, - fullRange: Bool? - ) { +public class VideoColorSpaceInit: BridgedDictionary { + public convenience init(primaries: VideoColorPrimaries?, transfer: VideoTransferCharacteristics?, matrix: VideoMatrixCoefficients?, fullRange: Bool?) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.primaries] = _toJSValue(primaries) object[Strings.transfer] = _toJSValue(transfer) object[Strings.matrix] = _toJSValue(matrix) object[Strings.fullRange] = _toJSValue(fullRange) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var primaries: VideoColorPrimaries? { - get { jsObject[Strings.primaries].fromJSValue() } - set { jsObject[Strings.primaries] = _toJSValue(newValue) } - } - @inlinable public var transfer: VideoTransferCharacteristics? { - get { jsObject[Strings.transfer].fromJSValue() } - set { jsObject[Strings.transfer] = _toJSValue(newValue) } - } - @inlinable public var matrix: VideoMatrixCoefficients? { - get { jsObject[Strings.matrix].fromJSValue() } - set { jsObject[Strings.matrix] = _toJSValue(newValue) } - } - @inlinable public var fullRange: Bool? { - get { jsObject[Strings.fullRange].fromJSValue() } - set { jsObject[Strings.fullRange] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _primaries = ReadWriteAttribute(jsObject: object, name: Strings.primaries) + _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) + _matrix = ReadWriteAttribute(jsObject: object, name: Strings.matrix) + _fullRange = ReadWriteAttribute(jsObject: object, name: Strings.fullRange) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var primaries: VideoColorPrimaries? + + @ReadWriteAttribute + public var transfer: VideoTransferCharacteristics? + + @ReadWriteAttribute + public var matrix: VideoMatrixCoefficients? + + @ReadWriteAttribute + public var fullRange: Bool? } + public class VideoDecoder: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.VideoDecoder].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VideoDecoder].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) + _decodeQueueSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.decodeQueueSize) + _ondequeue = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondequeue) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init(`init`: VideoDecoderInit) { + @inlinable public convenience init(init: VideoDecoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public var state: CodecState { jsObject[Strings.state].fromJSValue()! } + @ReadonlyAttribute + public var state: CodecState - @inlinable public var decodeQueueSize: UInt32 { jsObject[Strings.decodeQueueSize].fromJSValue()! } + @ReadonlyAttribute + public var decodeQueueSize: UInt32 - @inlinable public var ondequeue: EventHandler { - get { - guard let function = jsObject[Strings.ondequeue].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondequeue] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondequeue] = .null - } - } - } + @ClosureAttribute1Optional + public var ondequeue: EventHandler - @inlinable final public func configure(config: VideoDecoderConfig) { + @inlinable public func configure(config: VideoDecoderConfig) { let this = jsObject _ = this[Strings.configure].function!(this: this, arguments: [_toJSValue(config)]) } - @inlinable final public func decode(chunk: EncodedVideoChunk) { + @inlinable public func decode(chunk: EncodedVideoChunk) { let this = jsObject _ = this[Strings.decode].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable final public func flush() -> JSPromise { + @inlinable public func flush() -> JSPromise { let this = jsObject return this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func flush() - async throws(JSException) - { - let this = jsObject - let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func flush() async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func reset() { + @inlinable public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -18529,34 +17071,16 @@ public class VideoDecoder: EventTarget { return this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isConfigSupported( - config: VideoDecoderConfig - ) async throws(JSException) -> VideoDecoderSupport { - let this = constructor! - let _promise: JSPromise = this[Strings.isConfigSupported].function!( - this: this, - arguments: [_toJSValue(config)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public class func isConfigSupported(config: VideoDecoderConfig) async throws -> VideoDecoderSupport { + let this = constructor! + let _promise: JSPromise = this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } } -open class VideoDecoderConfig: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - codec: String, - description: AllowSharedBufferSource? = nil, - codedWidth: UInt32? = nil, - codedHeight: UInt32? = nil, - displayAspectWidth: UInt32? = nil, - displayAspectHeight: UInt32? = nil, - colorSpace: VideoColorSpaceInit? = nil, - hardwareAcceleration: HardwareAcceleration? = nil, - optimizeForLatency: Bool? = nil - ) { +public class VideoDecoderConfig: BridgedDictionary { + public convenience init(codec: String, description: AllowSharedBufferSource, codedWidth: UInt32, codedHeight: UInt32, displayAspectWidth: UInt32, displayAspectHeight: UInt32, colorSpace: VideoColorSpaceInit, hardwareAcceleration: HardwareAcceleration, optimizeForLatency: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.codec] = _toJSValue(codec) object[Strings.description] = _toJSValue(description) @@ -18567,169 +17091,143 @@ open class VideoDecoderConfig: JSDictionaryCompatible { object[Strings.colorSpace] = _toJSValue(colorSpace) object[Strings.hardwareAcceleration] = _toJSValue(hardwareAcceleration) object[Strings.optimizeForLatency] = _toJSValue(optimizeForLatency) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var codec: String { - get { jsObject[Strings.codec].fromJSValue()! } - set { jsObject[Strings.codec] = _toJSValue(newValue) } - } - @inlinable public var description: AllowSharedBufferSource { - get { jsObject[Strings.description].fromJSValue()! } - set { jsObject[Strings.description] = _toJSValue(newValue) } - } - @inlinable public var codedWidth: UInt32 { - get { jsObject[Strings.codedWidth].fromJSValue()! } - set { jsObject[Strings.codedWidth] = _toJSValue(newValue) } - } - @inlinable public var codedHeight: UInt32 { - get { jsObject[Strings.codedHeight].fromJSValue()! } - set { jsObject[Strings.codedHeight] = _toJSValue(newValue) } - } - @inlinable public var displayAspectWidth: UInt32 { - get { jsObject[Strings.displayAspectWidth].fromJSValue()! } - set { jsObject[Strings.displayAspectWidth] = _toJSValue(newValue) } - } - @inlinable public var displayAspectHeight: UInt32 { - get { jsObject[Strings.displayAspectHeight].fromJSValue()! } - set { jsObject[Strings.displayAspectHeight] = _toJSValue(newValue) } - } - @inlinable public var colorSpace: VideoColorSpaceInit { - get { jsObject[Strings.colorSpace].fromJSValue()! } - set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } - } - @inlinable public var hardwareAcceleration: HardwareAcceleration { - get { jsObject[Strings.hardwareAcceleration].fromJSValue()! } - set { jsObject[Strings.hardwareAcceleration] = _toJSValue(newValue) } - } - @inlinable public var optimizeForLatency: Bool { - get { jsObject[Strings.optimizeForLatency].fromJSValue()! } - set { jsObject[Strings.optimizeForLatency] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _codec = ReadWriteAttribute(jsObject: object, name: Strings.codec) + _description = ReadWriteAttribute(jsObject: object, name: Strings.description) + _codedWidth = ReadWriteAttribute(jsObject: object, name: Strings.codedWidth) + _codedHeight = ReadWriteAttribute(jsObject: object, name: Strings.codedHeight) + _displayAspectWidth = ReadWriteAttribute(jsObject: object, name: Strings.displayAspectWidth) + _displayAspectHeight = ReadWriteAttribute(jsObject: object, name: Strings.displayAspectHeight) + _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) + _hardwareAcceleration = ReadWriteAttribute(jsObject: object, name: Strings.hardwareAcceleration) + _optimizeForLatency = ReadWriteAttribute(jsObject: object, name: Strings.optimizeForLatency) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var codec: String + + @ReadWriteAttribute + public var description: AllowSharedBufferSource? + + @ReadWriteAttribute + public var codedWidth: UInt32? + + @ReadWriteAttribute + public var codedHeight: UInt32? + + @ReadWriteAttribute + public var displayAspectWidth: UInt32? + + @ReadWriteAttribute + public var displayAspectHeight: UInt32? + + @ReadWriteAttribute + public var colorSpace: VideoColorSpaceInit? + + @ReadWriteAttribute + public var hardwareAcceleration: HardwareAcceleration? + + @ReadWriteAttribute + public var optimizeForLatency: Bool? } -open class VideoDecoderInit: JSDictionaryCompatible { - public let jsObject: JSObject +public class VideoDecoderInit: BridgedDictionary { public convenience init(output: @escaping VideoFrameOutputCallback, error: @escaping WebCodecsErrorCallback) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.output] = _toJSValue(output) - object[Strings.error] = _toJSValue(error) - + ClosureAttribute1Void[Strings.output, in: object] = output + ClosureAttribute1Void[Strings.error, in: object] = error self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var output: VideoFrameOutputCallback { - get { - let function = jsObject[Strings.output].function! - return { function(_toJSValue($0)) } - } - set { - jsObject[Strings.output] = - JSClosure { - newValue($0[0].fromJSValue()!) - return .undefined - }.jsValue - } - } - @inlinable public var error: WebCodecsErrorCallback { - get { - let function = jsObject[Strings.error].function! - return { function(_toJSValue($0)) } - } - set { - jsObject[Strings.error] = - JSClosure { - newValue($0[0].fromJSValue()!) - return .undefined - }.jsValue - } + public required init(unsafelyWrapping object: JSObject) { + _output = ClosureAttribute1Void(jsObject: object, name: Strings.output) + _error = ClosureAttribute1Void(jsObject: object, name: Strings.error) + super.init(unsafelyWrapping: object) } + + @ClosureAttribute1Void + public var output: VideoFrameOutputCallback + + @ClosureAttribute1Void + public var error: WebCodecsErrorCallback } -open class VideoDecoderSupport: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(supported: Bool? = nil, config: VideoDecoderConfig? = nil) { +public class VideoDecoderSupport: BridgedDictionary { + public convenience init(supported: Bool, config: VideoDecoderConfig) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.supported] = _toJSValue(supported) object[Strings.config] = _toJSValue(config) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var supported: Bool { - get { jsObject[Strings.supported].fromJSValue()! } - set { jsObject[Strings.supported] = _toJSValue(newValue) } - } - @inlinable public var config: VideoDecoderConfig { - get { jsObject[Strings.config].fromJSValue()! } - set { jsObject[Strings.config] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _supported = ReadWriteAttribute(jsObject: object, name: Strings.supported) + _config = ReadWriteAttribute(jsObject: object, name: Strings.config) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var supported: Bool? + + @ReadWriteAttribute + public var config: VideoDecoderConfig? } + public class VideoEncoder: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.VideoEncoder].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VideoEncoder].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) + _encodeQueueSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.encodeQueueSize) + _ondequeue = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondequeue) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public convenience init(`init`: VideoEncoderInit) { + @inlinable public convenience init(init: VideoEncoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public var state: CodecState { jsObject[Strings.state].fromJSValue()! } + @ReadonlyAttribute + public var state: CodecState - @inlinable public var encodeQueueSize: UInt32 { jsObject[Strings.encodeQueueSize].fromJSValue()! } + @ReadonlyAttribute + public var encodeQueueSize: UInt32 - @inlinable public var ondequeue: EventHandler { - get { - guard let function = jsObject[Strings.ondequeue].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ondequeue] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ondequeue] = .null - } - } - } + @ClosureAttribute1Optional + public var ondequeue: EventHandler - @inlinable final public func configure(config: VideoEncoderConfig) { + @inlinable public func configure(config: VideoEncoderConfig) { let this = jsObject _ = this[Strings.configure].function!(this: this, arguments: [_toJSValue(config)]) } - @inlinable final public func encode(frame: VideoFrame, options: VideoEncoderEncodeOptions? = nil) { + @inlinable public func encode(frame: VideoFrame, options: VideoEncoderEncodeOptions? = nil) { let this = jsObject _ = this[Strings.encode].function!(this: this, arguments: [_toJSValue(frame), _toJSValue(options)]) } - @inlinable final public func flush() -> JSPromise { + @inlinable public func flush() -> JSPromise { let this = jsObject return this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func flush() - async throws(JSException) - { - let this = jsObject - let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func flush() async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func reset() { + @inlinable public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -18739,18 +17237,12 @@ public class VideoEncoder: EventTarget { return this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isConfigSupported( - config: VideoEncoderConfig - ) async throws(JSException) -> VideoEncoderSupport { - let this = constructor! - let _promise: JSPromise = this[Strings.isConfigSupported].function!( - this: this, - arguments: [_toJSValue(config)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public class func isConfigSupported(config: VideoEncoderConfig) async throws -> VideoEncoderSupport { + let this = constructor! + let _promise: JSPromise = this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } } public enum VideoEncoderBitrateMode: JSString, JSValueCompatible { @@ -18759,31 +17251,21 @@ public enum VideoEncoderBitrateMode: JSString, JSValueCompatible { case quantizer = "quantizer" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -open class VideoEncoderConfig: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - codec: String, - width: UInt32, - height: UInt32, - displayWidth: UInt32? = nil, - displayHeight: UInt32? = nil, - bitrate: UInt64? = nil, - framerate: Double? = nil, - hardwareAcceleration: HardwareAcceleration? = nil, - alpha: AlphaOption? = nil, - scalabilityMode: String? = nil, - bitrateMode: VideoEncoderBitrateMode? = nil, - latencyMode: LatencyMode? = nil - ) { +public class VideoEncoderConfig: BridgedDictionary { + public convenience init(codec: String, width: UInt32, height: UInt32, displayWidth: UInt32, displayHeight: UInt32, bitrate: UInt64, framerate: Double, hardwareAcceleration: HardwareAcceleration, alpha: AlphaOption, scalabilityMode: String, bitrateMode: VideoEncoderBitrateMode, latencyMode: LatencyMode) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.codec] = _toJSValue(codec) object[Strings.width] = _toJSValue(width) @@ -18797,141 +17279,120 @@ open class VideoEncoderConfig: JSDictionaryCompatible { object[Strings.scalabilityMode] = _toJSValue(scalabilityMode) object[Strings.bitrateMode] = _toJSValue(bitrateMode) object[Strings.latencyMode] = _toJSValue(latencyMode) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var codec: String { - get { jsObject[Strings.codec].fromJSValue()! } - set { jsObject[Strings.codec] = _toJSValue(newValue) } - } - @inlinable public var width: UInt32 { - get { jsObject[Strings.width].fromJSValue()! } - set { jsObject[Strings.width] = _toJSValue(newValue) } - } - @inlinable public var height: UInt32 { - get { jsObject[Strings.height].fromJSValue()! } - set { jsObject[Strings.height] = _toJSValue(newValue) } - } - @inlinable public var displayWidth: UInt32 { - get { jsObject[Strings.displayWidth].fromJSValue()! } - set { jsObject[Strings.displayWidth] = _toJSValue(newValue) } - } - @inlinable public var displayHeight: UInt32 { - get { jsObject[Strings.displayHeight].fromJSValue()! } - set { jsObject[Strings.displayHeight] = _toJSValue(newValue) } - } - @inlinable public var bitrate: UInt64 { - get { jsObject[Strings.bitrate].fromJSValue()! } - set { jsObject[Strings.bitrate] = _toJSValue(newValue) } - } - @inlinable public var framerate: Double { - get { jsObject[Strings.framerate].fromJSValue()! } - set { jsObject[Strings.framerate] = _toJSValue(newValue) } - } - @inlinable public var hardwareAcceleration: HardwareAcceleration { - get { jsObject[Strings.hardwareAcceleration].fromJSValue()! } - set { jsObject[Strings.hardwareAcceleration] = _toJSValue(newValue) } - } - @inlinable public var alpha: AlphaOption { - get { jsObject[Strings.alpha].fromJSValue()! } - set { jsObject[Strings.alpha] = _toJSValue(newValue) } - } - @inlinable public var scalabilityMode: String { - get { jsObject[Strings.scalabilityMode].fromJSValue()! } - set { jsObject[Strings.scalabilityMode] = _toJSValue(newValue) } - } - @inlinable public var bitrateMode: VideoEncoderBitrateMode { - get { jsObject[Strings.bitrateMode].fromJSValue()! } - set { jsObject[Strings.bitrateMode] = _toJSValue(newValue) } - } - @inlinable public var latencyMode: LatencyMode { - get { jsObject[Strings.latencyMode].fromJSValue()! } - set { jsObject[Strings.latencyMode] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _codec = ReadWriteAttribute(jsObject: object, name: Strings.codec) + _width = ReadWriteAttribute(jsObject: object, name: Strings.width) + _height = ReadWriteAttribute(jsObject: object, name: Strings.height) + _displayWidth = ReadWriteAttribute(jsObject: object, name: Strings.displayWidth) + _displayHeight = ReadWriteAttribute(jsObject: object, name: Strings.displayHeight) + _bitrate = ReadWriteAttribute(jsObject: object, name: Strings.bitrate) + _framerate = ReadWriteAttribute(jsObject: object, name: Strings.framerate) + _hardwareAcceleration = ReadWriteAttribute(jsObject: object, name: Strings.hardwareAcceleration) + _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) + _scalabilityMode = ReadWriteAttribute(jsObject: object, name: Strings.scalabilityMode) + _bitrateMode = ReadWriteAttribute(jsObject: object, name: Strings.bitrateMode) + _latencyMode = ReadWriteAttribute(jsObject: object, name: Strings.latencyMode) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var codec: String + + @ReadWriteAttribute + public var width: UInt32 + + @ReadWriteAttribute + public var height: UInt32 + + @ReadWriteAttribute + public var displayWidth: UInt32? + + @ReadWriteAttribute + public var displayHeight: UInt32? + + @ReadWriteAttribute + public var bitrate: UInt64? + + @ReadWriteAttribute + public var framerate: Double? + + @ReadWriteAttribute + public var hardwareAcceleration: HardwareAcceleration? + + @ReadWriteAttribute + public var alpha: AlphaOption? + + @ReadWriteAttribute + public var scalabilityMode: String? + + @ReadWriteAttribute + public var bitrateMode: VideoEncoderBitrateMode? + + @ReadWriteAttribute + public var latencyMode: LatencyMode? } -open class VideoEncoderEncodeOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(keyFrame: Bool? = nil) { +public class VideoEncoderEncodeOptions: BridgedDictionary { + public convenience init(keyFrame: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.keyFrame] = _toJSValue(keyFrame) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var keyFrame: Bool { - get { jsObject[Strings.keyFrame].fromJSValue()! } - set { jsObject[Strings.keyFrame] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _keyFrame = ReadWriteAttribute(jsObject: object, name: Strings.keyFrame) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var keyFrame: Bool? } -open class VideoEncoderInit: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(output: @escaping EncodedVideoChunkOutputCallback, error: @escaping WebCodecsErrorCallback) - { +public class VideoEncoderInit: BridgedDictionary { + public convenience init(output: @escaping EncodedVideoChunkOutputCallback, error: @escaping WebCodecsErrorCallback) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.output] = _toJSValue(output) - object[Strings.error] = _toJSValue(error) - + ClosureAttribute2Void[Strings.output, in: object] = output + ClosureAttribute1Void[Strings.error, in: object] = error self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var output: EncodedVideoChunkOutputCallback { - get { - let function = jsObject[Strings.output].function! - return { function(_toJSValue($0), _toJSValue($1)) } - } - set { - jsObject[Strings.output] = - JSClosure { - newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!) - return .undefined - }.jsValue - } - } - @inlinable public var error: WebCodecsErrorCallback { - get { - let function = jsObject[Strings.error].function! - return { function(_toJSValue($0)) } - } - set { - jsObject[Strings.error] = - JSClosure { - newValue($0[0].fromJSValue()!) - return .undefined - }.jsValue - } + public required init(unsafelyWrapping object: JSObject) { + _output = ClosureAttribute2Void(jsObject: object, name: Strings.output) + _error = ClosureAttribute1Void(jsObject: object, name: Strings.error) + super.init(unsafelyWrapping: object) } + + @ClosureAttribute2Void + public var output: EncodedVideoChunkOutputCallback + + @ClosureAttribute1Void + public var error: WebCodecsErrorCallback } -open class VideoEncoderSupport: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(supported: Bool? = nil, config: VideoEncoderConfig? = nil) { +public class VideoEncoderSupport: BridgedDictionary { + public convenience init(supported: Bool, config: VideoEncoderConfig) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.supported] = _toJSValue(supported) object[Strings.config] = _toJSValue(config) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var supported: Bool { - get { jsObject[Strings.supported].fromJSValue()! } - set { jsObject[Strings.supported] = _toJSValue(newValue) } - } - @inlinable public var config: VideoEncoderConfig { - get { jsObject[Strings.config].fromJSValue()! } - set { jsObject[Strings.config] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _supported = ReadWriteAttribute(jsObject: object, name: Strings.supported) + _config = ReadWriteAttribute(jsObject: object, name: Strings.config) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var supported: Bool? + + @ReadWriteAttribute + public var config: VideoEncoderConfig? } + public enum VideoFacingModeEnum: JSString, JSValueCompatible { case user = "user" case environment = "environment" @@ -18939,109 +17400,111 @@ public enum VideoFacingModeEnum: JSString, JSValueCompatible { case right = "right" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class VideoFrame: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.VideoFrame].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - - @inlinable public convenience init(image: CanvasImageSource, `init`: VideoFrameInit? = nil) { + public required init(unsafelyWrapping jsObject: JSObject) { + _format = ReadonlyAttribute(jsObject: jsObject, name: Strings.format) + _codedWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.codedWidth) + _codedHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.codedHeight) + _codedRect = ReadonlyAttribute(jsObject: jsObject, name: Strings.codedRect) + _visibleRect = ReadonlyAttribute(jsObject: jsObject, name: Strings.visibleRect) + _displayWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.displayWidth) + _displayHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.displayHeight) + _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) + _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) + _colorSpace = ReadonlyAttribute(jsObject: jsObject, name: Strings.colorSpace) + self.jsObject = jsObject + } + + @inlinable public convenience init(image: CanvasImageSource, init: VideoFrameInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(image), _toJSValue(`init`)])) } - @inlinable public convenience init(data: AllowSharedBufferSource, `init`: VideoFrameBufferInit) { + @inlinable public convenience init(data: AllowSharedBufferSource, init: VideoFrameBufferInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(data), _toJSValue(`init`)])) } - @inlinable public var format: VideoPixelFormat? { jsObject[Strings.format].fromJSValue() } + @ReadonlyAttribute + public var format: VideoPixelFormat? - @inlinable public var codedWidth: UInt32 { jsObject[Strings.codedWidth].fromJSValue()! } + @ReadonlyAttribute + public var codedWidth: UInt32 - @inlinable public var codedHeight: UInt32 { jsObject[Strings.codedHeight].fromJSValue()! } + @ReadonlyAttribute + public var codedHeight: UInt32 - @inlinable public var codedRect: DOMRectReadOnly? { jsObject[Strings.codedRect].fromJSValue() } + @ReadonlyAttribute + public var codedRect: DOMRectReadOnly? - @inlinable public var visibleRect: DOMRectReadOnly? { jsObject[Strings.visibleRect].fromJSValue() } + @ReadonlyAttribute + public var visibleRect: DOMRectReadOnly? - @inlinable public var displayWidth: UInt32 { jsObject[Strings.displayWidth].fromJSValue()! } + @ReadonlyAttribute + public var displayWidth: UInt32 - @inlinable public var displayHeight: UInt32 { jsObject[Strings.displayHeight].fromJSValue()! } + @ReadonlyAttribute + public var displayHeight: UInt32 - @inlinable public var duration: UInt64? { jsObject[Strings.duration].fromJSValue() } + @ReadonlyAttribute + public var duration: UInt64? - @inlinable public var timestamp: Int64 { jsObject[Strings.timestamp].fromJSValue()! } + @ReadonlyAttribute + public var timestamp: Int64 - @inlinable public var colorSpace: VideoColorSpace { jsObject[Strings.colorSpace].fromJSValue()! } + @ReadonlyAttribute + public var colorSpace: VideoColorSpace - @inlinable final public func metadata() -> VideoFrameMetadata { + @inlinable public func metadata() -> VideoFrameMetadata { let this = jsObject return this[Strings.metadata].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func allocationSize(options: VideoFrameCopyToOptions? = nil) -> UInt32 { + @inlinable public func allocationSize(options: VideoFrameCopyToOptions? = nil) -> UInt32 { let this = jsObject return this[Strings.allocationSize].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable final public func copyTo( - destination: AllowSharedBufferSource, - options: VideoFrameCopyToOptions? = nil - ) -> JSPromise { + @inlinable public func copyTo(destination: AllowSharedBufferSource, options: VideoFrameCopyToOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]) - .fromJSValue()! + return this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func copyTo( - destination: AllowSharedBufferSource, - options: VideoFrameCopyToOptions? = nil - ) async throws(JSException) -> [PlaneLayout] { - let this = jsObject - let _promise: JSPromise = this[Strings.copyTo].function!( - this: this, - arguments: [_toJSValue(destination), _toJSValue(options)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func copyTo(destination: AllowSharedBufferSource, options: VideoFrameCopyToOptions? = nil) async throws -> [PlaneLayout] { + let this = jsObject + let _promise: JSPromise = this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable final public func clone() -> VideoFrame { + @inlinable public func clone() -> Self { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func close() { + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } } -open class VideoFrameBufferInit: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - format: VideoPixelFormat, - codedWidth: UInt32, - codedHeight: UInt32, - timestamp: Int64, - duration: UInt64? = nil, - layout: [PlaneLayout]? = nil, - visibleRect: DOMRectInit? = nil, - displayWidth: UInt32? = nil, - displayHeight: UInt32? = nil, - colorSpace: VideoColorSpaceInit? = nil, - transfer: [ArrayBuffer]? = nil - ) { +public class VideoFrameBufferInit: BridgedDictionary { + public convenience init(format: VideoPixelFormat, codedWidth: UInt32, codedHeight: UInt32, timestamp: Int64, duration: UInt64, layout: [PlaneLayout], visibleRect: DOMRectInit, displayWidth: UInt32, displayHeight: UInt32, colorSpace: VideoColorSpaceInit, transfer: [ArrayBuffer]) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.format] = _toJSValue(format) object[Strings.codedWidth] = _toJSValue(codedWidth) @@ -19054,91 +17517,81 @@ open class VideoFrameBufferInit: JSDictionaryCompatible { object[Strings.displayHeight] = _toJSValue(displayHeight) object[Strings.colorSpace] = _toJSValue(colorSpace) object[Strings.transfer] = _toJSValue(transfer) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var format: VideoPixelFormat { - get { jsObject[Strings.format].fromJSValue()! } - set { jsObject[Strings.format] = _toJSValue(newValue) } - } - @inlinable public var codedWidth: UInt32 { - get { jsObject[Strings.codedWidth].fromJSValue()! } - set { jsObject[Strings.codedWidth] = _toJSValue(newValue) } - } - @inlinable public var codedHeight: UInt32 { - get { jsObject[Strings.codedHeight].fromJSValue()! } - set { jsObject[Strings.codedHeight] = _toJSValue(newValue) } - } - @inlinable public var timestamp: Int64 { - get { jsObject[Strings.timestamp].fromJSValue()! } - set { jsObject[Strings.timestamp] = _toJSValue(newValue) } - } - @inlinable public var duration: UInt64 { - get { jsObject[Strings.duration].fromJSValue()! } - set { jsObject[Strings.duration] = _toJSValue(newValue) } - } - @inlinable public var layout: [PlaneLayout] { - get { jsObject[Strings.layout].fromJSValue()! } - set { jsObject[Strings.layout] = _toJSValue(newValue) } - } - @inlinable public var visibleRect: DOMRectInit { - get { jsObject[Strings.visibleRect].fromJSValue()! } - set { jsObject[Strings.visibleRect] = _toJSValue(newValue) } - } - @inlinable public var displayWidth: UInt32 { - get { jsObject[Strings.displayWidth].fromJSValue()! } - set { jsObject[Strings.displayWidth] = _toJSValue(newValue) } - } - @inlinable public var displayHeight: UInt32 { - get { jsObject[Strings.displayHeight].fromJSValue()! } - set { jsObject[Strings.displayHeight] = _toJSValue(newValue) } - } - @inlinable public var colorSpace: VideoColorSpaceInit { - get { jsObject[Strings.colorSpace].fromJSValue()! } - set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } - } - @inlinable public var transfer: [ArrayBuffer] { - get { jsObject[Strings.transfer].fromJSValue()! } - set { jsObject[Strings.transfer] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _format = ReadWriteAttribute(jsObject: object, name: Strings.format) + _codedWidth = ReadWriteAttribute(jsObject: object, name: Strings.codedWidth) + _codedHeight = ReadWriteAttribute(jsObject: object, name: Strings.codedHeight) + _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) + _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) + _layout = ReadWriteAttribute(jsObject: object, name: Strings.layout) + _visibleRect = ReadWriteAttribute(jsObject: object, name: Strings.visibleRect) + _displayWidth = ReadWriteAttribute(jsObject: object, name: Strings.displayWidth) + _displayHeight = ReadWriteAttribute(jsObject: object, name: Strings.displayHeight) + _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) + _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var format: VideoPixelFormat + + @ReadWriteAttribute + public var codedWidth: UInt32 + + @ReadWriteAttribute + public var codedHeight: UInt32 + + @ReadWriteAttribute + public var timestamp: Int64 + + @ReadWriteAttribute + public var duration: UInt64? + + @ReadWriteAttribute + public var layout: [PlaneLayout]? + + @ReadWriteAttribute + public var visibleRect: DOMRectInit? + + @ReadWriteAttribute + public var displayWidth: UInt32? + + @ReadWriteAttribute + public var displayHeight: UInt32? + + @ReadWriteAttribute + public var colorSpace: VideoColorSpaceInit? + + @ReadWriteAttribute + public var transfer: [ArrayBuffer]? } -open class VideoFrameCopyToOptions: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init(rect: DOMRectInit? = nil, layout: [PlaneLayout]? = nil) { +public class VideoFrameCopyToOptions: BridgedDictionary { + public convenience init(rect: DOMRectInit, layout: [PlaneLayout]) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.rect] = _toJSValue(rect) object[Strings.layout] = _toJSValue(layout) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var rect: DOMRectInit { - get { jsObject[Strings.rect].fromJSValue()! } - set { jsObject[Strings.rect] = _toJSValue(newValue) } - } - @inlinable public var layout: [PlaneLayout] { - get { jsObject[Strings.layout].fromJSValue()! } - set { jsObject[Strings.layout] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _rect = ReadWriteAttribute(jsObject: object, name: Strings.rect) + _layout = ReadWriteAttribute(jsObject: object, name: Strings.layout) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var rect: DOMRectInit? + + @ReadWriteAttribute + public var layout: [PlaneLayout]? } -open class VideoFrameInit: JSDictionaryCompatible { - public let jsObject: JSObject - public convenience init( - duration: UInt64? = nil, - timestamp: Int64? = nil, - alpha: AlphaOption? = nil, - visibleRect: DOMRectInit? = nil, - displayWidth: UInt32? = nil, - displayHeight: UInt32? = nil, - metadata: VideoFrameMetadata? = nil - ) { +public class VideoFrameInit: BridgedDictionary { + public convenience init(duration: UInt64, timestamp: Int64, alpha: AlphaOption, visibleRect: DOMRectInit, displayWidth: UInt32, displayHeight: UInt32, metadata: VideoFrameMetadata) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.duration] = _toJSValue(duration) object[Strings.timestamp] = _toJSValue(timestamp) @@ -19147,53 +17600,54 @@ open class VideoFrameInit: JSDictionaryCompatible { object[Strings.displayWidth] = _toJSValue(displayWidth) object[Strings.displayHeight] = _toJSValue(displayHeight) object[Strings.metadata] = _toJSValue(metadata) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var duration: UInt64 { - get { jsObject[Strings.duration].fromJSValue()! } - set { jsObject[Strings.duration] = _toJSValue(newValue) } - } - @inlinable public var timestamp: Int64 { - get { jsObject[Strings.timestamp].fromJSValue()! } - set { jsObject[Strings.timestamp] = _toJSValue(newValue) } - } - @inlinable public var alpha: AlphaOption { - get { jsObject[Strings.alpha].fromJSValue()! } - set { jsObject[Strings.alpha] = _toJSValue(newValue) } - } - @inlinable public var visibleRect: DOMRectInit { - get { jsObject[Strings.visibleRect].fromJSValue()! } - set { jsObject[Strings.visibleRect] = _toJSValue(newValue) } - } - @inlinable public var displayWidth: UInt32 { - get { jsObject[Strings.displayWidth].fromJSValue()! } - set { jsObject[Strings.displayWidth] = _toJSValue(newValue) } - } - @inlinable public var displayHeight: UInt32 { - get { jsObject[Strings.displayHeight].fromJSValue()! } - set { jsObject[Strings.displayHeight] = _toJSValue(newValue) } - } - @inlinable public var metadata: VideoFrameMetadata { - get { jsObject[Strings.metadata].fromJSValue()! } - set { jsObject[Strings.metadata] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) + _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) + _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) + _visibleRect = ReadWriteAttribute(jsObject: object, name: Strings.visibleRect) + _displayWidth = ReadWriteAttribute(jsObject: object, name: Strings.displayWidth) + _displayHeight = ReadWriteAttribute(jsObject: object, name: Strings.displayHeight) + _metadata = ReadWriteAttribute(jsObject: object, name: Strings.metadata) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var duration: UInt64? + + @ReadWriteAttribute + public var timestamp: Int64? + + @ReadWriteAttribute + public var alpha: AlphaOption? + + @ReadWriteAttribute + public var visibleRect: DOMRectInit? + + @ReadWriteAttribute + public var displayWidth: UInt32? + + @ReadWriteAttribute + public var displayHeight: UInt32? + + @ReadWriteAttribute + public var metadata: VideoFrameMetadata? } -open class VideoFrameMetadata: JSDictionaryCompatible { - public let jsObject: JSObject +public class VideoFrameMetadata: BridgedDictionary { public convenience init() { let object = JSObject.global[Strings.Object].function!.new() self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - + public required init(unsafelyWrapping object: JSObject) { + super.init(unsafelyWrapping: object) + } } + public enum VideoMatrixCoefficients: JSString, JSValueCompatible { case rgb = "rgb" case bt709 = "bt709" @@ -19202,14 +17656,19 @@ public enum VideoMatrixCoefficients: JSString, JSValueCompatible { case bt2020Ncl = "bt2020-ncl" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum VideoPixelFormat: JSString, JSValueCompatible { case i420 = "I420" case i420A = "I420A" @@ -19222,107 +17681,106 @@ public enum VideoPixelFormat: JSString, JSValueCompatible { case bGRX = "BGRX" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public enum VideoResizeModeEnum: JSString, JSValueCompatible { case none = "none" case cropAndScale = "crop-and-scale" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + public class VideoTrack: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.VideoTrack].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) + _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) + _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) + _language = ReadonlyAttribute(jsObject: jsObject, name: Strings.language) + _selected = ReadWriteAttribute(jsObject: jsObject, name: Strings.selected) + _sourceBuffer = ReadonlyAttribute(jsObject: jsObject, name: Strings.sourceBuffer) + self.jsObject = jsObject + } - @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } + @ReadonlyAttribute + public var id: String - @inlinable public var kind: String { jsObject[Strings.kind].fromJSValue()! } + @ReadonlyAttribute + public var kind: String - @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } + @ReadonlyAttribute + public var label: String - @inlinable public var language: String { jsObject[Strings.language].fromJSValue()! } + @ReadonlyAttribute + public var language: String - @inlinable public var selected: Bool { - get { jsObject[Strings.selected].fromJSValue()! } - set { jsObject[Strings.selected] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var selected: Bool - @inlinable public var sourceBuffer: SourceBuffer? { jsObject[Strings.sourceBuffer].fromJSValue() } + @ReadonlyAttribute + public var sourceBuffer: SourceBuffer? } public class VideoTrackList: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.VideoTrackList].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VideoTrackList].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + _selectedIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.selectedIndex) + _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) + _onaddtrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddtrack) + _onremovetrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovetrack) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public subscript(key: Int) -> VideoTrack { jsObject[key].fromJSValue()! } + @inlinable public subscript(key: Int) -> VideoTrack { + jsObject[key].fromJSValue()! + } - @inlinable final public func getTrackById(id: String) -> VideoTrack? { + @inlinable public func getTrackById(id: String) -> VideoTrack? { let this = jsObject return this[Strings.getTrackById].function!(this: this, arguments: [_toJSValue(id)]).fromJSValue() } - @inlinable public var selectedIndex: Int32 { jsObject[Strings.selectedIndex].fromJSValue()! } + @ReadonlyAttribute + public var selectedIndex: Int32 - @inlinable public var onchange: EventHandler { - get { - guard let function = jsObject[Strings.onchange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onchange] = .null - } - } - } + @ClosureAttribute1Optional + public var onchange: EventHandler - @inlinable public var onaddtrack: EventHandler { - get { - guard let function = jsObject[Strings.onaddtrack].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onaddtrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onaddtrack] = .null - } - } - } + @ClosureAttribute1Optional + public var onaddtrack: EventHandler - @inlinable public var onremovetrack: EventHandler { - get { - guard let function = jsObject[Strings.onremovetrack].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onremovetrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onremovetrack] = .null - } - } - } + @ClosureAttribute1Optional + public var onremovetrack: EventHandler } public enum VideoTransferCharacteristics: JSString, JSValueCompatible { @@ -19334,108 +17792,101 @@ public enum VideoTransferCharacteristics: JSString, JSValueCompatible { case hlg = "hlg" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -public class ViewTransition: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ViewTransition].function } - - public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - - @inlinable public var updateCallbackDone: JSPromise { jsObject[Strings.updateCallbackDone].fromJSValue()! } - - @inlinable public var ready: JSPromise { jsObject[Strings.ready].fromJSValue()! } - - @inlinable public var finished: JSPromise { jsObject[Strings.finished].fromJSValue()! } +public class VisibilityStateEntry: PerformanceEntry { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VisibilityStateEntry].function } - @inlinable final public func skipTransition() { - let this = jsObject - _ = this[Strings.skipTransition].function!(this: this, arguments: []) + public required init(unsafelyWrapping jsObject: JSObject) { + _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) + _entryType = ReadonlyAttribute(jsObject: jsObject, name: Strings.entryType) + _startTime = ReadonlyAttribute(jsObject: jsObject, name: Strings.startTime) + _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) + super.init(unsafelyWrapping: jsObject) } -} -public class VisibilityStateEntry: PerformanceEntry { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.VisibilityStateEntry].function - } + @usableFromInline let _name: ReadonlyAttribute + @inlinable override public var name: String { _name.wrappedValue } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @usableFromInline let _entryType: ReadonlyAttribute + @inlinable override public var entryType: String { _entryType.wrappedValue } + @usableFromInline let _startTime: ReadonlyAttribute + @inlinable override public var startTime: DOMHighResTimeStamp { _startTime.wrappedValue } + + @usableFromInline let _duration: ReadonlyAttribute + @inlinable override public var duration: UInt32 { _duration.wrappedValue } } public class VisualViewport: EventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.VisualViewport].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VisualViewport].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _offsetLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetLeft) + _offsetTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetTop) + _pageLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageLeft) + _pageTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageTop) + _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) + _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) + _scale = ReadonlyAttribute(jsObject: jsObject, name: Strings.scale) + _onresize = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onresize) + _onscroll = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onscroll) + _onscrollend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onscrollend) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var offsetLeft: Double { jsObject[Strings.offsetLeft].fromJSValue()! } + @ReadonlyAttribute + public var offsetLeft: Double - @inlinable public var offsetTop: Double { jsObject[Strings.offsetTop].fromJSValue()! } + @ReadonlyAttribute + public var offsetTop: Double - @inlinable public var pageLeft: Double { jsObject[Strings.pageLeft].fromJSValue()! } + @ReadonlyAttribute + public var pageLeft: Double - @inlinable public var pageTop: Double { jsObject[Strings.pageTop].fromJSValue()! } + @ReadonlyAttribute + public var pageTop: Double - @inlinable public var width: Double { jsObject[Strings.width].fromJSValue()! } + @ReadonlyAttribute + public var width: Double - @inlinable public var height: Double { jsObject[Strings.height].fromJSValue()! } + @ReadonlyAttribute + public var height: Double - @inlinable public var scale: Double { jsObject[Strings.scale].fromJSValue()! } + @ReadonlyAttribute + public var scale: Double - @inlinable public var onresize: EventHandler { - get { - guard let function = jsObject[Strings.onresize].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onresize] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onresize] = .null - } - } - } + @ClosureAttribute1Optional + public var onresize: EventHandler - @inlinable public var onscroll: EventHandler { - get { - guard let function = jsObject[Strings.onscroll].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onscroll] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onscroll] = .null - } - } - } + @ClosureAttribute1Optional + public var onscroll: EventHandler - @inlinable public var onscrollend: EventHandler { - get { - guard let function = jsObject[Strings.onscrollend].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onscrollend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onscrollend] = .null - } - } - } + @ClosureAttribute1Optional + public var onscrollend: EventHandler } public class WheelEvent: MouseEvent { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.WheelEvent].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WheelEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _deltaX = ReadonlyAttribute(jsObject: jsObject, name: Strings.deltaX) + _deltaY = ReadonlyAttribute(jsObject: jsObject, name: Strings.deltaY) + _deltaZ = ReadonlyAttribute(jsObject: jsObject, name: Strings.deltaZ) + _deltaMode = ReadonlyAttribute(jsObject: jsObject, name: Strings.deltaMode) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(type: String, eventInitDict: WheelEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) @@ -19447,1012 +17898,846 @@ public class WheelEvent: MouseEvent { public static let DOM_DELTA_PAGE: UInt32 = 0x02 - @inlinable public var deltaX: Double { jsObject[Strings.deltaX].fromJSValue()! } + @ReadonlyAttribute + public var deltaX: Double - @inlinable public var deltaY: Double { jsObject[Strings.deltaY].fromJSValue()! } + @ReadonlyAttribute + public var deltaY: Double - @inlinable public var deltaZ: Double { jsObject[Strings.deltaZ].fromJSValue()! } + @ReadonlyAttribute + public var deltaZ: Double - @inlinable public var deltaMode: UInt32 { jsObject[Strings.deltaMode].fromJSValue()! } + @ReadonlyAttribute + public var deltaMode: UInt32 } -open class WheelEventInit: MouseEventInit { - - public convenience init( - screenX: Int32? = nil, - screenY: Int32? = nil, - clientX: Int32? = nil, - clientY: Int32? = nil, - button: Int16? = nil, - buttons: UInt16? = nil, - relatedTarget: EventTarget?, - deltaX: Double? = nil, - deltaY: Double? = nil, - deltaZ: Double? = nil, - deltaMode: UInt32? = nil - ) { +public class WheelEventInit: BridgedDictionary { + public convenience init(deltaX: Double, deltaY: Double, deltaZ: Double, deltaMode: UInt32) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.screenX] = _toJSValue(screenX) - object[Strings.screenY] = _toJSValue(screenY) - object[Strings.clientX] = _toJSValue(clientX) - object[Strings.clientY] = _toJSValue(clientY) - object[Strings.button] = _toJSValue(button) - object[Strings.buttons] = _toJSValue(buttons) - object[Strings.relatedTarget] = _toJSValue(relatedTarget) object[Strings.deltaX] = _toJSValue(deltaX) object[Strings.deltaY] = _toJSValue(deltaY) object[Strings.deltaZ] = _toJSValue(deltaZ) object[Strings.deltaMode] = _toJSValue(deltaMode) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + public required init(unsafelyWrapping object: JSObject) { + _deltaX = ReadWriteAttribute(jsObject: object, name: Strings.deltaX) + _deltaY = ReadWriteAttribute(jsObject: object, name: Strings.deltaY) + _deltaZ = ReadWriteAttribute(jsObject: object, name: Strings.deltaZ) + _deltaMode = ReadWriteAttribute(jsObject: object, name: Strings.deltaMode) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var deltaX: Double? + + @ReadWriteAttribute + public var deltaY: Double? + + @ReadWriteAttribute + public var deltaZ: Double? + + @ReadWriteAttribute + public var deltaMode: UInt32? +} + +public class Window: EventTarget, GlobalEventHandlers, WindowEventHandlers, WindowOrWorkerGlobalScope, AnimationFrameProvider, WindowSessionStorage, WindowLocalStorage { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Window].function } - @inlinable public var deltaX: Double { - get { jsObject[Strings.deltaX].fromJSValue()! } - set { jsObject[Strings.deltaX] = _toJSValue(newValue) } - } - @inlinable public var deltaY: Double { - get { jsObject[Strings.deltaY].fromJSValue()! } - set { jsObject[Strings.deltaY] = _toJSValue(newValue) } + @inlinable public static var global: Window { + Window(unsafelyWrapping: JSObject.global) } - @inlinable public var deltaZ: Double { - get { jsObject[Strings.deltaZ].fromJSValue()! } - set { jsObject[Strings.deltaZ] = _toJSValue(newValue) } - } - @inlinable public var deltaMode: UInt32 { - get { jsObject[Strings.deltaMode].fromJSValue()! } - set { jsObject[Strings.deltaMode] = _toJSValue(newValue) } - } -} -public class Window: EventTarget, GlobalEventHandlers, WindowEventHandlers, WindowOrWorkerGlobalScope, - AnimationFrameProvider, WindowSessionStorage, WindowLocalStorage -{ - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Window].function } - - @inlinable public static var global: Window { Window(unsafelyWrapping: JSObject.global) } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public var event: Event? { jsObject[Strings.event].fromJSValue()! } - - @inlinable public var window: WindowProxy { jsObject[Strings.window].fromJSValue()! } - - @inlinable public var `self`: WindowProxy { jsObject[Strings._self].fromJSValue()! } - - @inlinable public var document: Document { jsObject[Strings.document].fromJSValue()! } - - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } + public required init(unsafelyWrapping jsObject: JSObject) { + _event = ReadonlyAttribute(jsObject: jsObject, name: Strings.event) + _window = ReadonlyAttribute(jsObject: jsObject, name: Strings.window) + _self = ReadonlyAttribute(jsObject: jsObject, name: Strings._self) + _document = ReadonlyAttribute(jsObject: jsObject, name: Strings.document) + _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) + _location = ReadonlyAttribute(jsObject: jsObject, name: Strings.location) + _history = ReadonlyAttribute(jsObject: jsObject, name: Strings.history) + _navigation = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigation) + _customElements = ReadonlyAttribute(jsObject: jsObject, name: Strings.customElements) + _locationbar = ReadonlyAttribute(jsObject: jsObject, name: Strings.locationbar) + _menubar = ReadonlyAttribute(jsObject: jsObject, name: Strings.menubar) + _personalbar = ReadonlyAttribute(jsObject: jsObject, name: Strings.personalbar) + _scrollbars = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollbars) + _statusbar = ReadonlyAttribute(jsObject: jsObject, name: Strings.statusbar) + _toolbar = ReadonlyAttribute(jsObject: jsObject, name: Strings.toolbar) + _status = ReadWriteAttribute(jsObject: jsObject, name: Strings.status) + _closed = ReadonlyAttribute(jsObject: jsObject, name: Strings.closed) + _frames = ReadonlyAttribute(jsObject: jsObject, name: Strings.frames) + _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) + _top = ReadonlyAttribute(jsObject: jsObject, name: Strings.top) + _opener = ReadWriteAttribute(jsObject: jsObject, name: Strings.opener) + _parent = ReadonlyAttribute(jsObject: jsObject, name: Strings.parent) + _frameElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.frameElement) + _navigator = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigator) + _clientInformation = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientInformation) + _originAgentCluster = ReadonlyAttribute(jsObject: jsObject, name: Strings.originAgentCluster) + _external = ReadonlyAttribute(jsObject: jsObject, name: Strings.external) + _screen = ReadonlyAttribute(jsObject: jsObject, name: Strings.screen) + _visualViewport = ReadonlyAttribute(jsObject: jsObject, name: Strings.visualViewport) + _innerWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.innerWidth) + _innerHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.innerHeight) + _scrollX = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollX) + _pageXOffset = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageXOffset) + _scrollY = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollY) + _pageYOffset = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageYOffset) + _screenX = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenX) + _screenLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenLeft) + _screenY = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenY) + _screenTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenTop) + _outerWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.outerWidth) + _outerHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.outerHeight) + _devicePixelRatio = ReadonlyAttribute(jsObject: jsObject, name: Strings.devicePixelRatio) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var location: Location { jsObject[Strings.location].fromJSValue()! } - - @inlinable public var history: History { jsObject[Strings.history].fromJSValue()! } + @ReadonlyAttribute + public var event: Event? - @inlinable public var navigation: Navigation { jsObject[Strings.navigation].fromJSValue()! } + @ReadonlyAttribute + public var window: WindowProxy - @inlinable public var customElements: CustomElementRegistry { jsObject[Strings.customElements].fromJSValue()! } + @ReadonlyAttribute + public var `self`: WindowProxy - @inlinable public var locationbar: BarProp { jsObject[Strings.locationbar].fromJSValue()! } + @ReadonlyAttribute + public var document: Document - @inlinable public var menubar: BarProp { jsObject[Strings.menubar].fromJSValue()! } + @ReadWriteAttribute + public var name: String - @inlinable public var personalbar: BarProp { jsObject[Strings.personalbar].fromJSValue()! } + @ReadonlyAttribute + public var location: Location - @inlinable public var scrollbars: BarProp { jsObject[Strings.scrollbars].fromJSValue()! } + @ReadonlyAttribute + public var history: History - @inlinable public var statusbar: BarProp { jsObject[Strings.statusbar].fromJSValue()! } + @ReadonlyAttribute + public var navigation: Navigation - @inlinable public var toolbar: BarProp { jsObject[Strings.toolbar].fromJSValue()! } - - @inlinable public var status: String { - get { jsObject[Strings.status].fromJSValue()! } - set { jsObject[Strings.status] = _toJSValue(newValue) } - } + @ReadonlyAttribute + public var customElements: CustomElementRegistry + + @ReadonlyAttribute + public var locationbar: BarProp + + @ReadonlyAttribute + public var menubar: BarProp - @inlinable final public func close() { + @ReadonlyAttribute + public var personalbar: BarProp + + @ReadonlyAttribute + public var scrollbars: BarProp + + @ReadonlyAttribute + public var statusbar: BarProp + + @ReadonlyAttribute + public var toolbar: BarProp + + @ReadWriteAttribute + public var status: String + + @inlinable public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @inlinable public var closed: Bool { jsObject[Strings.closed].fromJSValue()! } + @ReadonlyAttribute + public var closed: Bool - @inlinable final public func stop() { + @inlinable public func stop() { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: []) } - @inlinable final public func focus() { + @inlinable public func focus() { let this = jsObject _ = this[Strings.focus].function!(this: this, arguments: []) } - @inlinable final public func blur() { + @inlinable public func blur() { let this = jsObject _ = this[Strings.blur].function!(this: this, arguments: []) } - @inlinable public var frames: WindowProxy { jsObject[Strings.frames].fromJSValue()! } + @ReadonlyAttribute + public var frames: WindowProxy - @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + @ReadonlyAttribute + public var length: UInt32 - @inlinable public var top: WindowProxy? { jsObject[Strings.top].fromJSValue() } + @ReadonlyAttribute + public var top: WindowProxy? - @inlinable public var opener: JSValue { - get { jsObject[Strings.opener].fromJSValue()! } - set { jsObject[Strings.opener] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var opener: JSValue - @inlinable public var parent: WindowProxy? { jsObject[Strings.parent].fromJSValue() } + @ReadonlyAttribute + public var parent: WindowProxy? - @inlinable public var frameElement: Element? { jsObject[Strings.frameElement].fromJSValue() } + @ReadonlyAttribute + public var frameElement: Element? - @inlinable final public func open( - url: String? = nil, - target: String? = nil, - features: String? = nil - ) -> WindowProxy? { + @inlinable public func open(url: String? = nil, target: String? = nil, features: String? = nil) -> WindowProxy? { let this = jsObject - return this[Strings.open].function!( - this: this, - arguments: [_toJSValue(url), _toJSValue(target), _toJSValue(features)] - ).fromJSValue() + return this[Strings.open].function!(this: this, arguments: [_toJSValue(url), _toJSValue(target), _toJSValue(features)]).fromJSValue() } - @inlinable public subscript(key: String) -> JSObject { jsObject[key].fromJSValue()! } + @inlinable public subscript(key: String) -> JSObject { + jsObject[key].fromJSValue()! + } - @inlinable public var navigator: Navigator { jsObject[Strings.navigator].fromJSValue()! } + @ReadonlyAttribute + public var navigator: Navigator - @inlinable public var clientInformation: Navigator { jsObject[Strings.clientInformation].fromJSValue()! } + @ReadonlyAttribute + public var clientInformation: Navigator - @inlinable public var originAgentCluster: Bool { jsObject[Strings.originAgentCluster].fromJSValue()! } + @ReadonlyAttribute + public var originAgentCluster: Bool - @inlinable final public func alert() { + @inlinable public func alert() { let this = jsObject _ = this[Strings.alert].function!(this: this, arguments: []) } - @inlinable final public func alert(message: String) { + @inlinable public func alert(message: String) { let this = jsObject _ = this[Strings.alert].function!(this: this, arguments: [_toJSValue(message)]) } - @inlinable final public func confirm(message: String? = nil) -> Bool { + @inlinable public func confirm(message: String? = nil) -> Bool { let this = jsObject return this[Strings.confirm].function!(this: this, arguments: [_toJSValue(message)]).fromJSValue()! } - @inlinable final public func prompt(message: String? = nil, `default`: String? = nil) -> String? { + @inlinable public func prompt(message: String? = nil, default: String? = nil) -> String? { let this = jsObject - return this[Strings.prompt].function!(this: this, arguments: [_toJSValue(message), _toJSValue(`default`)]) - .fromJSValue() + return this[Strings.prompt].function!(this: this, arguments: [_toJSValue(message), _toJSValue(`default`)]).fromJSValue() } - @inlinable final public func print() { + @inlinable public func print() { let this = jsObject _ = this[Strings.print].function!(this: this, arguments: []) } - @inlinable final public func postMessage(message: JSValue, targetOrigin: String, transfer: [JSObject]? = nil) { + @inlinable public func postMessage(message: JSValue, targetOrigin: String, transfer: [JSObject]? = nil) { let this = jsObject - _ = this[Strings.postMessage].function!( - this: this, - arguments: [_toJSValue(message), _toJSValue(targetOrigin), _toJSValue(transfer)] - ) + _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(targetOrigin), _toJSValue(transfer)]) } - @inlinable final public func postMessage(message: JSValue, options: WindowPostMessageOptions? = nil) { + @inlinable public func postMessage(message: JSValue, options: WindowPostMessageOptions? = nil) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(options)]) } - @inlinable final public func captureEvents() { + @inlinable public func captureEvents() { let this = jsObject _ = this[Strings.captureEvents].function!(this: this, arguments: []) } - @inlinable final public func releaseEvents() { + @inlinable public func releaseEvents() { let this = jsObject _ = this[Strings.releaseEvents].function!(this: this, arguments: []) } - @inlinable public var external: External { jsObject[Strings.external].fromJSValue()! } + @ReadonlyAttribute + public var external: External - @inlinable final public func matchMedia(query: String) -> MediaQueryList { + @inlinable public func matchMedia(query: String) -> MediaQueryList { let this = jsObject return this[Strings.matchMedia].function!(this: this, arguments: [_toJSValue(query)]).fromJSValue()! } - @inlinable public var screen: Screen { jsObject[Strings.screen].fromJSValue()! } + @ReadonlyAttribute + public var screen: Screen - @inlinable public var visualViewport: VisualViewport? { jsObject[Strings.visualViewport].fromJSValue() } + @ReadonlyAttribute + public var visualViewport: VisualViewport? - @inlinable final public func moveTo(x: Int32, y: Int32) { + @inlinable public func moveTo(x: Int32, y: Int32) { let this = jsObject _ = this[Strings.moveTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable final public func moveBy(x: Int32, y: Int32) { + @inlinable public func moveBy(x: Int32, y: Int32) { let this = jsObject _ = this[Strings.moveBy].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable final public func resizeTo(width: Int32, height: Int32) { + @inlinable public func resizeTo(width: Int32, height: Int32) { let this = jsObject _ = this[Strings.resizeTo].function!(this: this, arguments: [_toJSValue(width), _toJSValue(height)]) } - @inlinable final public func resizeBy(x: Int32, y: Int32) { + @inlinable public func resizeBy(x: Int32, y: Int32) { let this = jsObject _ = this[Strings.resizeBy].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public var innerWidth: Int32 { jsObject[Strings.innerWidth].fromJSValue()! } + @ReadonlyAttribute + public var innerWidth: Int32 - @inlinable public var innerHeight: Int32 { jsObject[Strings.innerHeight].fromJSValue()! } + @ReadonlyAttribute + public var innerHeight: Int32 - @inlinable public var scrollX: Double { jsObject[Strings.scrollX].fromJSValue()! } + @ReadonlyAttribute + public var scrollX: Double - @inlinable public var pageXOffset: Double { jsObject[Strings.pageXOffset].fromJSValue()! } + @ReadonlyAttribute + public var pageXOffset: Double - @inlinable public var scrollY: Double { jsObject[Strings.scrollY].fromJSValue()! } + @ReadonlyAttribute + public var scrollY: Double - @inlinable public var pageYOffset: Double { jsObject[Strings.pageYOffset].fromJSValue()! } + @ReadonlyAttribute + public var pageYOffset: Double - @inlinable final public func scroll(options: ScrollToOptions? = nil) { + @inlinable public func scroll(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable final public func scroll(x: Double, y: Double) { + @inlinable public func scroll(x: Double, y: Double) { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable final public func scrollTo(options: ScrollToOptions? = nil) { + @inlinable public func scrollTo(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scrollTo].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable final public func scrollTo(x: Double, y: Double) { + @inlinable public func scrollTo(x: Double, y: Double) { let this = jsObject _ = this[Strings.scrollTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable final public func scrollBy(options: ScrollToOptions? = nil) { + @inlinable public func scrollBy(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scrollBy].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable final public func scrollBy(x: Double, y: Double) { + @inlinable public func scrollBy(x: Double, y: Double) { let this = jsObject _ = this[Strings.scrollBy].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public var screenX: Int32 { jsObject[Strings.screenX].fromJSValue()! } + @ReadonlyAttribute + public var screenX: Int32 - @inlinable public var screenLeft: Int32 { jsObject[Strings.screenLeft].fromJSValue()! } + @ReadonlyAttribute + public var screenLeft: Int32 - @inlinable public var screenY: Int32 { jsObject[Strings.screenY].fromJSValue()! } + @ReadonlyAttribute + public var screenY: Int32 - @inlinable public var screenTop: Int32 { jsObject[Strings.screenTop].fromJSValue()! } + @ReadonlyAttribute + public var screenTop: Int32 - @inlinable public var outerWidth: Int32 { jsObject[Strings.outerWidth].fromJSValue()! } + @ReadonlyAttribute + public var outerWidth: Int32 - @inlinable public var outerHeight: Int32 { jsObject[Strings.outerHeight].fromJSValue()! } + @ReadonlyAttribute + public var outerHeight: Int32 - @inlinable public var devicePixelRatio: Double { jsObject[Strings.devicePixelRatio].fromJSValue()! } + @ReadonlyAttribute + public var devicePixelRatio: Double } public protocol WindowEventHandlers: JSBridgedClass {} -extension WindowEventHandlers { - @inlinable public var onafterprint: EventHandler { - get { - guard let function = jsObject[Strings.onafterprint].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onafterprint] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onafterprint] = .null - } - } +public extension WindowEventHandlers { + @inlinable var onafterprint: EventHandler { + get { ClosureAttribute1Optional[Strings.onafterprint, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onafterprint, in: jsObject] = newValue } } - @inlinable public var onbeforeprint: EventHandler { - get { - guard let function = jsObject[Strings.onbeforeprint].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onbeforeprint] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onbeforeprint] = .null - } - } + @inlinable var onbeforeprint: EventHandler { + get { ClosureAttribute1Optional[Strings.onbeforeprint, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onbeforeprint, in: jsObject] = newValue } } - @inlinable public var onbeforeunload: OnBeforeUnloadEventHandler { - get { - guard let function = jsObject[Strings.onbeforeunload].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onbeforeunload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onbeforeunload] = .null - } - } + @inlinable var onbeforeunload: OnBeforeUnloadEventHandler { + get { ClosureAttribute1Optional[Strings.onbeforeunload, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onbeforeunload, in: jsObject] = newValue } } - @inlinable public var onhashchange: EventHandler { - get { - guard let function = jsObject[Strings.onhashchange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onhashchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onhashchange] = .null - } - } + @inlinable var onhashchange: EventHandler { + get { ClosureAttribute1Optional[Strings.onhashchange, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onhashchange, in: jsObject] = newValue } } - @inlinable public var onlanguagechange: EventHandler { - get { - guard let function = jsObject[Strings.onlanguagechange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onlanguagechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onlanguagechange] = .null - } - } + @inlinable var onlanguagechange: EventHandler { + get { ClosureAttribute1Optional[Strings.onlanguagechange, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onlanguagechange, in: jsObject] = newValue } } - @inlinable public var onmessage: EventHandler { - get { - guard let function = jsObject[Strings.onmessage].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmessage] = .null - } - } + @inlinable var onmessage: EventHandler { + get { ClosureAttribute1Optional[Strings.onmessage, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onmessage, in: jsObject] = newValue } } - - @inlinable public var onmessageerror: EventHandler { - get { - guard let function = jsObject[Strings.onmessageerror].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmessageerror] = .null - } - } + + @inlinable var onmessageerror: EventHandler { + get { ClosureAttribute1Optional[Strings.onmessageerror, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onmessageerror, in: jsObject] = newValue } } - @inlinable public var onoffline: EventHandler { - get { - guard let function = jsObject[Strings.onoffline].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onoffline] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onoffline] = .null - } - } + @inlinable var onoffline: EventHandler { + get { ClosureAttribute1Optional[Strings.onoffline, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onoffline, in: jsObject] = newValue } } - @inlinable public var ononline: EventHandler { - get { - guard let function = jsObject[Strings.ononline].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ononline] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ononline] = .null - } - } + @inlinable var ononline: EventHandler { + get { ClosureAttribute1Optional[Strings.ononline, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.ononline, in: jsObject] = newValue } } - @inlinable public var onpagehide: EventHandler { - get { - guard let function = jsObject[Strings.onpagehide].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onpagehide] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onpagehide] = .null - } - } + @inlinable var onpagehide: EventHandler { + get { ClosureAttribute1Optional[Strings.onpagehide, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onpagehide, in: jsObject] = newValue } } - @inlinable public var onpageshow: EventHandler { - get { - guard let function = jsObject[Strings.onpageshow].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onpageshow] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onpageshow] = .null - } - } + @inlinable var onpageshow: EventHandler { + get { ClosureAttribute1Optional[Strings.onpageshow, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onpageshow, in: jsObject] = newValue } } - @inlinable public var onpopstate: EventHandler { - get { - guard let function = jsObject[Strings.onpopstate].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onpopstate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onpopstate] = .null - } - } + @inlinable var onpopstate: EventHandler { + get { ClosureAttribute1Optional[Strings.onpopstate, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onpopstate, in: jsObject] = newValue } } - @inlinable public var onrejectionhandled: EventHandler { - get { - guard let function = jsObject[Strings.onrejectionhandled].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onrejectionhandled] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onrejectionhandled] = .null - } - } + @inlinable var onrejectionhandled: EventHandler { + get { ClosureAttribute1Optional[Strings.onrejectionhandled, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onrejectionhandled, in: jsObject] = newValue } } - @inlinable public var onstorage: EventHandler { - get { - guard let function = jsObject[Strings.onstorage].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onstorage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onstorage] = .null - } - } + @inlinable var onstorage: EventHandler { + get { ClosureAttribute1Optional[Strings.onstorage, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onstorage, in: jsObject] = newValue } } - @inlinable public var onunhandledrejection: EventHandler { - get { - guard let function = jsObject[Strings.onunhandledrejection].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onunhandledrejection] = - JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onunhandledrejection] = .null - } - } + @inlinable var onunhandledrejection: EventHandler { + get { ClosureAttribute1Optional[Strings.onunhandledrejection, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onunhandledrejection, in: jsObject] = newValue } } - @inlinable public var onunload: EventHandler { - get { - guard let function = jsObject[Strings.onunload].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onunload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onunload] = .null - } - } + @inlinable var onunload: EventHandler { + get { ClosureAttribute1Optional[Strings.onunload, in: jsObject] } + nonmutating set { ClosureAttribute1Optional[Strings.onunload, in: jsObject] = newValue } } } + public protocol WindowLocalStorage: JSBridgedClass {} -extension WindowLocalStorage { - @inlinable public var localStorage: Storage { jsObject[Strings.localStorage].fromJSValue()! } +public extension WindowLocalStorage { + @inlinable var localStorage: Storage { jsObject[Strings.localStorage].fromJSValue()! } } + public protocol WindowOrWorkerGlobalScope: JSBridgedClass {} -extension WindowOrWorkerGlobalScope { - @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } +public extension WindowOrWorkerGlobalScope { + @inlinable var origin: String { jsObject[Strings.origin].fromJSValue()! } - @inlinable public var isSecureContext: Bool { jsObject[Strings.isSecureContext].fromJSValue()! } + @inlinable var isSecureContext: Bool { jsObject[Strings.isSecureContext].fromJSValue()! } - @inlinable public var crossOriginIsolated: Bool { jsObject[Strings.crossOriginIsolated].fromJSValue()! } + @inlinable var crossOriginIsolated: Bool { jsObject[Strings.crossOriginIsolated].fromJSValue()! } - @inlinable public func reportError(e: JSValue) { + @inlinable func reportError(e: JSValue) { let this = jsObject _ = this[Strings.reportError].function!(this: this, arguments: [_toJSValue(e)]) } - @inlinable public func btoa(data: String) -> String { + @inlinable func btoa(data: String) -> String { let this = jsObject return this[Strings.btoa].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable public func atob(data: String) -> String { + @inlinable func atob(data: String) -> String { let this = jsObject return this[Strings.atob].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable public func setTimeout(handler: TimerHandler, timeout: Int32? = nil, arguments: JSValue...) -> Int32 { + @inlinable func setTimeout(handler: TimerHandler, timeout: Int32? = nil, arguments: JSValue...) -> Int32 { let this = jsObject - return this[Strings.setTimeout].function!( - this: this, - arguments: [_toJSValue(handler), _toJSValue(timeout)] + arguments.map(_toJSValue) - ).fromJSValue()! + return this[Strings.setTimeout].function!(this: this, arguments: [_toJSValue(handler), _toJSValue(timeout)] + arguments.map(_toJSValue)).fromJSValue()! } - @inlinable public func clearTimeout(id: Int32? = nil) { + @inlinable func clearTimeout(id: Int32? = nil) { let this = jsObject _ = this[Strings.clearTimeout].function!(this: this, arguments: [_toJSValue(id)]) } - @inlinable public func setInterval(handler: TimerHandler, timeout: Int32? = nil, arguments: JSValue...) -> Int32 { + @inlinable func setInterval(handler: TimerHandler, timeout: Int32? = nil, arguments: JSValue...) -> Int32 { let this = jsObject - return this[Strings.setInterval].function!( - this: this, - arguments: [_toJSValue(handler), _toJSValue(timeout)] + arguments.map(_toJSValue) - ).fromJSValue()! + return this[Strings.setInterval].function!(this: this, arguments: [_toJSValue(handler), _toJSValue(timeout)] + arguments.map(_toJSValue)).fromJSValue()! } - @inlinable public func clearInterval(id: Int32? = nil) { + @inlinable func clearInterval(id: Int32? = nil) { let this = jsObject _ = this[Strings.clearInterval].function!(this: this, arguments: [_toJSValue(id)]) } - @inlinable public func queueMicrotask(callback: @escaping VoidFunction) { + @inlinable func queueMicrotask(callback: @escaping VoidFunction) { let this = jsObject _ = this[Strings.queueMicrotask].function!(this: this, arguments: [_toJSValue(callback)]) } - @inlinable public func createImageBitmap(image: ImageBitmapSource, options: ImageBitmapOptions? = nil) -> JSPromise - { + @inlinable func createImageBitmap(image: ImageBitmapSource, options: ImageBitmapOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.createImageBitmap].function!( - this: this, - arguments: [_toJSValue(image), _toJSValue(options)] - ).fromJSValue()! + return this[Strings.createImageBitmap].function!(this: this, arguments: [_toJSValue(image), _toJSValue(options)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func createImageBitmap( - image: ImageBitmapSource, - options: ImageBitmapOptions? = nil - ) async throws(JSException) -> ImageBitmap { - let this = jsObject - let _promise: JSPromise = this[Strings.createImageBitmap].function!( - this: this, - arguments: [_toJSValue(image), _toJSValue(options)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable func createImageBitmap(image: ImageBitmapSource, options: ImageBitmapOptions? = nil) async throws -> ImageBitmap { + let this = jsObject + let _promise: JSPromise = this[Strings.createImageBitmap].function!(this: this, arguments: [_toJSValue(image), _toJSValue(options)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable public func createImageBitmap( - image: ImageBitmapSource, - sx: Int32, - sy: Int32, - sw: Int32, - sh: Int32, - options: ImageBitmapOptions? = nil - ) -> JSPromise { + @inlinable func createImageBitmap(image: ImageBitmapSource, sx: Int32, sy: Int32, sw: Int32, sh: Int32, options: ImageBitmapOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.createImageBitmap].function!( - this: this, - arguments: [ - _toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(options), - ] - ).fromJSValue()! + return this[Strings.createImageBitmap].function!(this: this, arguments: [_toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(options)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func createImageBitmap( - image: ImageBitmapSource, - sx: Int32, - sy: Int32, - sw: Int32, - sh: Int32, - options: ImageBitmapOptions? = nil - ) async throws(JSException) -> ImageBitmap { - let this = jsObject - let _promise: JSPromise = this[Strings.createImageBitmap].function!( - this: this, - arguments: [ - _toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), - _toJSValue(options), - ] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable func createImageBitmap(image: ImageBitmapSource, sx: Int32, sy: Int32, sw: Int32, sh: Int32, options: ImageBitmapOptions? = nil) async throws -> ImageBitmap { + let this = jsObject + let _promise: JSPromise = this[Strings.createImageBitmap].function!(this: this, arguments: [_toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(options)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable public func structuredClone(value: JSValue, options: StructuredSerializeOptions? = nil) -> JSValue { + @inlinable func structuredClone(value: JSValue, options: StructuredSerializeOptions? = nil) -> JSValue { let this = jsObject - return this[Strings.structuredClone].function!(this: this, arguments: [_toJSValue(value), _toJSValue(options)]) - .fromJSValue()! + return this[Strings.structuredClone].function!(this: this, arguments: [_toJSValue(value), _toJSValue(options)]).fromJSValue()! } - @inlinable public var performance: Performance { jsObject[Strings.performance].fromJSValue()! } + @inlinable var performance: Performance { jsObject[Strings.performance].fromJSValue()! } - @inlinable public func fetch(input: RequestInfo, `init`: RequestInit? = nil) -> JSPromise { + @inlinable func fetch(input: RequestInfo, init: RequestInit? = nil) -> JSPromise { let this = jsObject - return this[Strings.fetch].function!(this: this, arguments: [_toJSValue(input), _toJSValue(`init`)]) - .fromJSValue()! + return this[Strings.fetch].function!(this: this, arguments: [_toJSValue(input), _toJSValue(`init`)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func fetch( - input: RequestInfo, - `init`: RequestInit? = nil - ) async throws(JSException) -> Response { - let this = jsObject - let _promise: JSPromise = this[Strings.fetch].function!( - this: this, - arguments: [_toJSValue(input), _toJSValue(`init`)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif - - @inlinable public var caches: CacheStorage { jsObject[Strings.caches].fromJSValue()! } + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable func fetch(input: RequestInfo, init: RequestInit? = nil) async throws -> Response { + let this = jsObject + let _promise: JSPromise = this[Strings.fetch].function!(this: this, arguments: [_toJSValue(input), _toJSValue(`init`)]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } - @inlinable public var trustedTypes: TrustedTypePolicyFactory { jsObject[Strings.trustedTypes].fromJSValue()! } + @inlinable var caches: CacheStorage { jsObject[Strings.caches].fromJSValue()! } } -open class WindowPostMessageOptions: StructuredSerializeOptions { - public convenience init(transfer: [JSObject]? = nil, targetOrigin: String? = nil) { +public class WindowPostMessageOptions: BridgedDictionary { + public convenience init(targetOrigin: String) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.transfer] = _toJSValue(transfer) object[Strings.targetOrigin] = _toJSValue(targetOrigin) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var targetOrigin: String { - get { jsObject[Strings.targetOrigin].fromJSValue()! } - set { jsObject[Strings.targetOrigin] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _targetOrigin = ReadWriteAttribute(jsObject: object, name: Strings.targetOrigin) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var targetOrigin: String? } + public protocol WindowSessionStorage: JSBridgedClass {} -extension WindowSessionStorage { - @inlinable public var sessionStorage: Storage { jsObject[Strings.sessionStorage].fromJSValue()! } +public extension WindowSessionStorage { + @inlinable var sessionStorage: Storage { jsObject[Strings.sessionStorage].fromJSValue()! } } + public class Worker: EventTarget, AbstractWorker { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Worker].function } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Worker].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + public required init(unsafelyWrapping jsObject: JSObject) { + _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) + _onmessageerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessageerror) + super.init(unsafelyWrapping: jsObject) + } @inlinable public convenience init(scriptURL: String, options: WorkerOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(scriptURL), _toJSValue(options)])) } - @inlinable final public func terminate() { + @inlinable public func terminate() { let this = jsObject _ = this[Strings.terminate].function!(this: this, arguments: []) } - @inlinable final public func postMessage(message: JSValue, transfer: [JSObject]) { + @inlinable public func postMessage(message: JSValue, transfer: [JSObject]) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(transfer)]) } - @inlinable final public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { + @inlinable public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(options)]) } - @inlinable public var onmessage: EventHandler { - get { - guard let function = jsObject[Strings.onmessage].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmessage] = .null - } - } - } + @ClosureAttribute1Optional + public var onmessage: EventHandler - @inlinable public var onmessageerror: EventHandler { - get { - guard let function = jsObject[Strings.onmessageerror].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onmessageerror] = .null - } - } - } + @ClosureAttribute1Optional + public var onmessageerror: EventHandler } -open class WorkerOptions: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(type: WorkerType? = nil, credentials: RequestCredentials? = nil, name: String? = nil) { +public class WorkerOptions: BridgedDictionary { + public convenience init(type: WorkerType, credentials: RequestCredentials, name: String) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.credentials] = _toJSValue(credentials) object[Strings.name] = _toJSValue(name) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var type: WorkerType { - get { jsObject[Strings.type].fromJSValue()! } - set { jsObject[Strings.type] = _toJSValue(newValue) } - } - @inlinable public var credentials: RequestCredentials { - get { jsObject[Strings.credentials].fromJSValue()! } - set { jsObject[Strings.credentials] = _toJSValue(newValue) } - } - @inlinable public var name: String { - get { jsObject[Strings.name].fromJSValue()! } - set { jsObject[Strings.name] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _type = ReadWriteAttribute(jsObject: object, name: Strings.type) + _credentials = ReadWriteAttribute(jsObject: object, name: Strings.credentials) + _name = ReadWriteAttribute(jsObject: object, name: Strings.name) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var type: WorkerType? + + @ReadWriteAttribute + public var credentials: RequestCredentials? + + @ReadWriteAttribute + public var name: String? } + public enum WorkerType: JSString, JSValueCompatible { case classic = "classic" case module = "module" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } + open class Worklet: JSBridgedClass { @inlinable open class var constructor: JSFunction? { JSObject.global[Strings.Worklet].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable final public func addModule(moduleURL: String, options: WorkletOptions? = nil) -> JSPromise { + @inlinable public func addModule(moduleURL: String, options: WorkletOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.addModule].function!(this: this, arguments: [_toJSValue(moduleURL), _toJSValue(options)]) - .fromJSValue()! + return this[Strings.addModule].function!(this: this, arguments: [_toJSValue(moduleURL), _toJSValue(options)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func addModule( - moduleURL: String, - options: WorkletOptions? = nil - ) async throws(JSException) { - let this = jsObject - let _promise: JSPromise = this[Strings.addModule].function!( - this: this, - arguments: [_toJSValue(moduleURL), _toJSValue(options)] - ).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func addModule(moduleURL: String, options: WorkletOptions? = nil) async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.addModule].function!(this: this, arguments: [_toJSValue(moduleURL), _toJSValue(options)]).fromJSValue()! + _ = try await _promise.value + } } -open class WorkletOptions: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(credentials: RequestCredentials? = nil) { +public class WorkletOptions: BridgedDictionary { + public convenience init(credentials: RequestCredentials) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.credentials] = _toJSValue(credentials) - self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var credentials: RequestCredentials { - get { jsObject[Strings.credentials].fromJSValue()! } - set { jsObject[Strings.credentials] = _toJSValue(newValue) } + public required init(unsafelyWrapping object: JSObject) { + _credentials = ReadWriteAttribute(jsObject: object, name: Strings.credentials) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var credentials: RequestCredentials? } + open class WritableStream: JSBridgedClass { @inlinable open class var constructor: JSFunction? { JSObject.global[Strings.WritableStream].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _locked = ReadonlyAttribute(jsObject: jsObject, name: Strings.locked) + self.jsObject = jsObject + } @inlinable public convenience init(underlyingSink: JSObject? = nil, strategy: QueuingStrategy? = nil) { - self.init( - unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(underlyingSink), _toJSValue(strategy)]) - ) + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(underlyingSink), _toJSValue(strategy)])) } - @inlinable public var locked: Bool { jsObject[Strings.locked].fromJSValue()! } + @ReadonlyAttribute + public var locked: Bool - @inlinable final public func abort(reason: JSValue? = nil) -> JSPromise { + @inlinable public func abort(reason: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func abort( - reason: JSValue? = nil - ) async throws(JSException) { - let this = jsObject - let _promise: JSPromise = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]) - .fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func abort(reason: JSValue? = nil) async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func close() -> JSPromise { + @inlinable public func close() -> JSPromise { let this = jsObject return this[Strings.close].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func close() - async throws(JSException) - { - let this = jsObject - let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func close() async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func getWriter() -> WritableStreamDefaultWriter { + @inlinable public func getWriter() -> WritableStreamDefaultWriter { let this = jsObject return this[Strings.getWriter].function!(this: this, arguments: []).fromJSValue()! } } public class WritableStreamDefaultController: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { - JSObject.global[Strings.WritableStreamDefaultController].function - } + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.WritableStreamDefaultController].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _signal = ReadonlyAttribute(jsObject: jsObject, name: Strings.signal) + self.jsObject = jsObject + } - @inlinable public var signal: AbortSignal { jsObject[Strings.signal].fromJSValue()! } + @ReadonlyAttribute + public var signal: AbortSignal - @inlinable final public func error(e: JSValue? = nil) { + @inlinable public func error(e: JSValue? = nil) { let this = jsObject _ = this[Strings.error].function!(this: this, arguments: [_toJSValue(e)]) } } public class WritableStreamDefaultWriter: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { - JSObject.global[Strings.WritableStreamDefaultWriter].function - } + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.WritableStreamDefaultWriter].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _closed = ReadonlyAttribute(jsObject: jsObject, name: Strings.closed) + _desiredSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.desiredSize) + _ready = ReadonlyAttribute(jsObject: jsObject, name: Strings.ready) + self.jsObject = jsObject + } @inlinable public convenience init(stream: WritableStream) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream)])) } - @inlinable public var closed: JSPromise { jsObject[Strings.closed].fromJSValue()! } + @ReadonlyAttribute + public var closed: JSPromise - @inlinable public var desiredSize: Double? { jsObject[Strings.desiredSize].fromJSValue() } + @ReadonlyAttribute + public var desiredSize: Double? - @inlinable public var ready: JSPromise { jsObject[Strings.ready].fromJSValue()! } + @ReadonlyAttribute + public var ready: JSPromise - @inlinable final public func abort(reason: JSValue? = nil) -> JSPromise { + @inlinable public func abort(reason: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func abort( - reason: JSValue? = nil - ) async throws(JSException) { - let this = jsObject - let _promise: JSPromise = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]) - .fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func abort(reason: JSValue? = nil) async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func close() -> JSPromise { + @inlinable public func close() -> JSPromise { let this = jsObject return this[Strings.close].function!(this: this, arguments: []).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func close() - async throws(JSException) - { - let this = jsObject - let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func close() async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } - @inlinable final public func releaseLock() { + @inlinable public func releaseLock() { let this = jsObject _ = this[Strings.releaseLock].function!(this: this, arguments: []) } - @inlinable final public func write(chunk: JSValue? = nil) -> JSPromise { + @inlinable public func write(chunk: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.write].function!(this: this, arguments: [_toJSValue(chunk)]).fromJSValue()! } - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func write( - chunk: JSValue? = nil - ) async throws(JSException) { - let this = jsObject - let _promise: JSPromise = this[Strings.write].function!(this: this, arguments: [_toJSValue(chunk)]) - .fromJSValue()! - _ = try await _promise.value - } - #endif + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) + @inlinable public func write(chunk: JSValue? = nil) async throws { + let this = jsObject + let _promise: JSPromise = this[Strings.write].function!(this: this, arguments: [_toJSValue(chunk)]).fromJSValue()! + _ = try await _promise.value + } } public class XMLDocument: Document { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.XMLDocument].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.XMLDocument].function } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } } public class XMLHttpRequest: XMLHttpRequestEventTarget { - @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.XMLHttpRequest].function } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.XMLHttpRequest].function } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + public required init(unsafelyWrapping jsObject: JSObject) { + _onreadystatechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onreadystatechange) + _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) + _timeout = ReadWriteAttribute(jsObject: jsObject, name: Strings.timeout) + _withCredentials = ReadWriteAttribute(jsObject: jsObject, name: Strings.withCredentials) + _upload = ReadonlyAttribute(jsObject: jsObject, name: Strings.upload) + _responseURL = ReadonlyAttribute(jsObject: jsObject, name: Strings.responseURL) + _status = ReadonlyAttribute(jsObject: jsObject, name: Strings.status) + _statusText = ReadonlyAttribute(jsObject: jsObject, name: Strings.statusText) + _responseType = ReadWriteAttribute(jsObject: jsObject, name: Strings.responseType) + _response = ReadonlyAttribute(jsObject: jsObject, name: Strings.response) + _responseText = ReadonlyAttribute(jsObject: jsObject, name: Strings.responseText) + _responseXML = ReadonlyAttribute(jsObject: jsObject, name: Strings.responseXML) + super.init(unsafelyWrapping: jsObject) + } - @inlinable public var onreadystatechange: EventHandler { - get { - guard let function = jsObject[Strings.onreadystatechange].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onreadystatechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onreadystatechange] = .null - } - } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @ClosureAttribute1Optional + public var onreadystatechange: EventHandler + public static let UNSENT: UInt16 = 0 public static let OPENED: UInt16 = 1 @@ -20463,193 +18748,114 @@ public class XMLHttpRequest: XMLHttpRequestEventTarget { public static let DONE: UInt16 = 4 - @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } + @ReadonlyAttribute + public var readyState: UInt16 - @inlinable final public func open(method: String, url: String) { + @inlinable public func open(method: String, url: String) { let this = jsObject _ = this[Strings.open].function!(this: this, arguments: [_toJSValue(method), _toJSValue(url)]) } - @inlinable final public func open( - method: String, - url: String, - async: Bool, - username: String? = nil, - password: String? = nil - ) { + @inlinable public func open(method: String, url: String, async: Bool, username: String? = nil, password: String? = nil) { let this = jsObject - _ = this[Strings.open].function!( - this: this, - arguments: [ - _toJSValue(method), _toJSValue(url), _toJSValue(async), _toJSValue(username), _toJSValue(password), - ] - ) + _ = this[Strings.open].function!(this: this, arguments: [_toJSValue(method), _toJSValue(url), _toJSValue(async), _toJSValue(username), _toJSValue(password)]) } - @inlinable final public func setRequestHeader(name: String, value: String) { + @inlinable public func setRequestHeader(name: String, value: String) { let this = jsObject _ = this[Strings.setRequestHeader].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @inlinable public var timeout: UInt32 { - get { jsObject[Strings.timeout].fromJSValue()! } - set { jsObject[Strings.timeout] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var timeout: UInt32 - @inlinable public var withCredentials: Bool { - get { jsObject[Strings.withCredentials].fromJSValue()! } - set { jsObject[Strings.withCredentials] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var withCredentials: Bool - @inlinable public var upload: XMLHttpRequestUpload { jsObject[Strings.upload].fromJSValue()! } + @ReadonlyAttribute + public var upload: XMLHttpRequestUpload - @inlinable final public func send(body: Document_or_XMLHttpRequestBodyInit? = nil) { + @inlinable public func send(body: Document_or_XMLHttpRequestBodyInit? = nil) { let this = jsObject _ = this[Strings.send].function!(this: this, arguments: [_toJSValue(body)]) } - @inlinable final public func abort() { + @inlinable public func abort() { let this = jsObject _ = this[Strings.abort].function!(this: this, arguments: []) } - @inlinable public var responseURL: String { jsObject[Strings.responseURL].fromJSValue()! } + @ReadonlyAttribute + public var responseURL: String - @inlinable public var status: UInt16 { jsObject[Strings.status].fromJSValue()! } + @ReadonlyAttribute + public var status: UInt16 - @inlinable public var statusText: String { jsObject[Strings.statusText].fromJSValue()! } + @ReadonlyAttribute + public var statusText: String - @inlinable final public func getResponseHeader(name: String) -> String? { + @inlinable public func getResponseHeader(name: String) -> String? { let this = jsObject return this[Strings.getResponseHeader].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable final public func getAllResponseHeaders() -> String { + @inlinable public func getAllResponseHeaders() -> String { let this = jsObject return this[Strings.getAllResponseHeaders].function!(this: this, arguments: []).fromJSValue()! } - @inlinable final public func overrideMimeType(mime: String) { + @inlinable public func overrideMimeType(mime: String) { let this = jsObject _ = this[Strings.overrideMimeType].function!(this: this, arguments: [_toJSValue(mime)]) } - @inlinable public var responseType: XMLHttpRequestResponseType { - get { jsObject[Strings.responseType].fromJSValue()! } - set { jsObject[Strings.responseType] = _toJSValue(newValue) } - } + @ReadWriteAttribute + public var responseType: XMLHttpRequestResponseType - @inlinable public var response: JSValue { jsObject[Strings.response].fromJSValue()! } + @ReadonlyAttribute + public var response: JSValue - @inlinable public var responseText: String { jsObject[Strings.responseText].fromJSValue()! } + @ReadonlyAttribute + public var responseText: String - @inlinable public var responseXML: Document? { jsObject[Strings.responseXML].fromJSValue() } + @ReadonlyAttribute + public var responseXML: Document? } public class XMLHttpRequestEventTarget: EventTarget { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.XMLHttpRequestEventTarget].function - } + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.XMLHttpRequestEventTarget].function } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public var onloadstart: EventHandler { - get { - guard let function = jsObject[Strings.onloadstart].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onloadstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onloadstart] = .null - } - } + public required init(unsafelyWrapping jsObject: JSObject) { + _onloadstart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onloadstart) + _onprogress = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onprogress) + _onabort = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onabort) + _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) + _onload = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onload) + _ontimeout = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ontimeout) + _onloadend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onloadend) + super.init(unsafelyWrapping: jsObject) } - @inlinable public var onprogress: EventHandler { - get { - guard let function = jsObject[Strings.onprogress].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onprogress] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onprogress] = .null - } - } - } + @ClosureAttribute1Optional + public var onloadstart: EventHandler - @inlinable public var onabort: EventHandler { - get { - guard let function = jsObject[Strings.onabort].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onabort] = .null - } - } - } + @ClosureAttribute1Optional + public var onprogress: EventHandler - @inlinable public var onerror: EventHandler { - get { - guard let function = jsObject[Strings.onerror].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onerror] = .null - } - } - } + @ClosureAttribute1Optional + public var onabort: EventHandler - @inlinable public var onload: EventHandler { - get { - guard let function = jsObject[Strings.onload].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onload] = .null - } - } - } + @ClosureAttribute1Optional + public var onerror: EventHandler - @inlinable public var ontimeout: EventHandler { - get { - guard let function = jsObject[Strings.ontimeout].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.ontimeout] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.ontimeout] = .null - } - } - } + @ClosureAttribute1Optional + public var onload: EventHandler - @inlinable public var onloadend: EventHandler { - get { - guard let function = jsObject[Strings.onloadend].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onloadend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onloadend] = .null - } - } - } + @ClosureAttribute1Optional + public var ontimeout: EventHandler + + @ClosureAttribute1Optional + public var onloadend: EventHandler } public enum XMLHttpRequestResponseType: JSString, JSValueCompatible { @@ -20661,21 +18867,25 @@ public enum XMLHttpRequestResponseType: JSString, JSValueCompatible { case text = "text" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } + if let string = jsValue.jsString { + return Self(rawValue: string) + } return nil } - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } @inlinable public var jsValue: JSValue { rawValue.jsValue } } -public class XMLHttpRequestUpload: XMLHttpRequestEventTarget { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.XMLHttpRequestUpload].function - } - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } +public class XMLHttpRequestUpload: XMLHttpRequestEventTarget { + @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.XMLHttpRequestUpload].function } + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } } public class XPathEvaluator: JSBridgedClass, XPathEvaluatorBase { @@ -20683,36 +18893,36 @@ public class XPathEvaluator: JSBridgedClass, XPathEvaluatorBase { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } } public protocol XPathEvaluatorBase: JSBridgedClass {} -extension XPathEvaluatorBase { +public extension XPathEvaluatorBase { // XXX: method 'createExpression' is ignored // XXX: method 'createNSResolver' is ignored // XXX: method 'evaluate' is ignored } + public class XPathExpression: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.XPathExpression].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable final public func evaluate( - contextNode: Node, - type: UInt16? = nil, - result: XPathResult? = nil - ) -> XPathResult { + @inlinable public func evaluate(contextNode: Node, type: UInt16? = nil, result: XPathResult? = nil) -> XPathResult { let this = jsObject - return this[Strings.evaluate].function!( - this: this, - arguments: [_toJSValue(contextNode), _toJSValue(type), _toJSValue(result)] - ).fromJSValue()! + return this[Strings.evaluate].function!(this: this, arguments: [_toJSValue(contextNode), _toJSValue(type), _toJSValue(result)]).fromJSValue()! } } @@ -20721,7 +18931,16 @@ public class XPathResult: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + _resultType = ReadonlyAttribute(jsObject: jsObject, name: Strings.resultType) + _numberValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberValue) + _stringValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.stringValue) + _booleanValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.booleanValue) + _singleNodeValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.singleNodeValue) + _invalidIteratorState = ReadonlyAttribute(jsObject: jsObject, name: Strings.invalidIteratorState) + _snapshotLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.snapshotLength) + self.jsObject = jsObject + } public static let ANY_TYPE: UInt16 = 0 @@ -20743,26 +18962,33 @@ public class XPathResult: JSBridgedClass { public static let FIRST_ORDERED_NODE_TYPE: UInt16 = 9 - @inlinable public var resultType: UInt16 { jsObject[Strings.resultType].fromJSValue()! } + @ReadonlyAttribute + public var resultType: UInt16 - @inlinable public var numberValue: Double { jsObject[Strings.numberValue].fromJSValue()! } + @ReadonlyAttribute + public var numberValue: Double - @inlinable public var stringValue: String { jsObject[Strings.stringValue].fromJSValue()! } + @ReadonlyAttribute + public var stringValue: String - @inlinable public var booleanValue: Bool { jsObject[Strings.booleanValue].fromJSValue()! } + @ReadonlyAttribute + public var booleanValue: Bool - @inlinable public var singleNodeValue: Node? { jsObject[Strings.singleNodeValue].fromJSValue() } + @ReadonlyAttribute + public var singleNodeValue: Node? - @inlinable public var invalidIteratorState: Bool { jsObject[Strings.invalidIteratorState].fromJSValue()! } + @ReadonlyAttribute + public var invalidIteratorState: Bool - @inlinable public var snapshotLength: UInt32 { jsObject[Strings.snapshotLength].fromJSValue()! } + @ReadonlyAttribute + public var snapshotLength: UInt32 - @inlinable final public func iterateNext() -> Node? { + @inlinable public func iterateNext() -> Node? { let this = jsObject return this[Strings.iterateNext].function!(this: this, arguments: []).fromJSValue() } - @inlinable final public func snapshotItem(index: UInt32) -> Node? { + @inlinable public func snapshotItem(index: UInt32) -> Node? { let this = jsObject return this[Strings.snapshotItem].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } @@ -20773,58 +18999,50 @@ public class XSLTProcessor: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } - @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + @inlinable public convenience init() { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + } - @inlinable final public func importStylesheet(style: Node) { + @inlinable public func importStylesheet(style: Node) { let this = jsObject _ = this[Strings.importStylesheet].function!(this: this, arguments: [_toJSValue(style)]) } - @inlinable final public func transformToFragment(source: Node, output: Document) -> DocumentFragment { + @inlinable public func transformToFragment(source: Node, output: Document) -> DocumentFragment { let this = jsObject - return this[Strings.transformToFragment].function!( - this: this, - arguments: [_toJSValue(source), _toJSValue(output)] - ).fromJSValue()! + return this[Strings.transformToFragment].function!(this: this, arguments: [_toJSValue(source), _toJSValue(output)]).fromJSValue()! } - @inlinable final public func transformToDocument(source: Node) -> Document { + @inlinable public func transformToDocument(source: Node) -> Document { let this = jsObject return this[Strings.transformToDocument].function!(this: this, arguments: [_toJSValue(source)]).fromJSValue()! } - @inlinable final public func setParameter(namespaceURI: String, localName: String, value: JSValue) { + @inlinable public func setParameter(namespaceURI: String, localName: String, value: JSValue) { let this = jsObject - _ = this[Strings.setParameter].function!( - this: this, - arguments: [_toJSValue(namespaceURI), _toJSValue(localName), _toJSValue(value)] - ) + _ = this[Strings.setParameter].function!(this: this, arguments: [_toJSValue(namespaceURI), _toJSValue(localName), _toJSValue(value)]) } - @inlinable final public func getParameter(namespaceURI: String, localName: String) -> JSValue { + @inlinable public func getParameter(namespaceURI: String, localName: String) -> JSValue { let this = jsObject - return this[Strings.getParameter].function!( - this: this, - arguments: [_toJSValue(namespaceURI), _toJSValue(localName)] - ).fromJSValue()! + return this[Strings.getParameter].function!(this: this, arguments: [_toJSValue(namespaceURI), _toJSValue(localName)]).fromJSValue()! } - @inlinable final public func removeParameter(namespaceURI: String, localName: String) { + @inlinable public func removeParameter(namespaceURI: String, localName: String) { let this = jsObject - _ = this[Strings.removeParameter].function!( - this: this, - arguments: [_toJSValue(namespaceURI), _toJSValue(localName)] - ) + _ = this[Strings.removeParameter].function!(this: this, arguments: [_toJSValue(namespaceURI), _toJSValue(localName)]) } - @inlinable final public func clearParameters() { + @inlinable public func clearParameters() { let this = jsObject _ = this[Strings.clearParameters].function!(this: this, arguments: []) } - @inlinable final public func reset() { + @inlinable public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } @@ -20832,1749 +19050,1720 @@ public class XSLTProcessor: JSBridgedClass { @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let `AbortController`: JSString = "AbortController" - @usableFromInline static let `AbortSignal`: JSString = "AbortSignal" - @usableFromInline static let `AbstractRange`: JSString = "AbstractRange" - @usableFromInline static let `AddSearchProvider`: JSString = "AddSearchProvider" - @usableFromInline static let `Attr`: JSString = "Attr" - @usableFromInline static let `AudioData`: JSString = "AudioData" - @usableFromInline static let `AudioDecoder`: JSString = "AudioDecoder" - @usableFromInline static let `AudioEncoder`: JSString = "AudioEncoder" - @usableFromInline static let `AudioTrack`: JSString = "AudioTrack" - @usableFromInline static let `AudioTrackList`: JSString = "AudioTrackList" - @usableFromInline static let `BarProp`: JSString = "BarProp" - @usableFromInline static let `BeforeUnloadEvent`: JSString = "BeforeUnloadEvent" - @usableFromInline static let `Blob`: JSString = "Blob" - @usableFromInline static let `BlobEvent`: JSString = "BlobEvent" - @usableFromInline static let `BroadcastChannel`: JSString = "BroadcastChannel" - @usableFromInline static let `ByteLengthQueuingStrategy`: JSString = "ByteLengthQueuingStrategy" - @usableFromInline static let `CDATASection`: JSString = "CDATASection" - @usableFromInline static let `CSSPseudoElement`: JSString = "CSSPseudoElement" - @usableFromInline static let `Cache`: JSString = "Cache" - @usableFromInline static let `CacheStorage`: JSString = "CacheStorage" - @usableFromInline static let `CanvasGradient`: JSString = "CanvasGradient" - @usableFromInline static let `CanvasPattern`: JSString = "CanvasPattern" - @usableFromInline static let `CanvasRenderingContext2D`: JSString = "CanvasRenderingContext2D" - @usableFromInline static let `CaretPosition`: JSString = "CaretPosition" - @usableFromInline static let `CharacterData`: JSString = "CharacterData" - @usableFromInline static let `Comment`: JSString = "Comment" - @usableFromInline static let `CompositionEvent`: JSString = "CompositionEvent" - @usableFromInline static let `CountQueuingStrategy`: JSString = "CountQueuingStrategy" - @usableFromInline static let `CustomElementRegistry`: JSString = "CustomElementRegistry" - @usableFromInline static let `CustomEvent`: JSString = "CustomEvent" - @usableFromInline static let `DOMImplementation`: JSString = "DOMImplementation" - @usableFromInline static let `DOMMatrix`: JSString = "DOMMatrix" - @usableFromInline static let `DOMMatrixReadOnly`: JSString = "DOMMatrixReadOnly" - @usableFromInline static let `DOMParser`: JSString = "DOMParser" - @usableFromInline static let `DOMPoint`: JSString = "DOMPoint" - @usableFromInline static let `DOMPointReadOnly`: JSString = "DOMPointReadOnly" - @usableFromInline static let `DOMQuad`: JSString = "DOMQuad" - @usableFromInline static let `DOMRect`: JSString = "DOMRect" - @usableFromInline static let `DOMRectList`: JSString = "DOMRectList" - @usableFromInline static let `DOMRectReadOnly`: JSString = "DOMRectReadOnly" - @usableFromInline static let `DOMStringList`: JSString = "DOMStringList" - @usableFromInline static let `DOMStringMap`: JSString = "DOMStringMap" - @usableFromInline static let `DOMTokenList`: JSString = "DOMTokenList" - @usableFromInline static let `DataTransfer`: JSString = "DataTransfer" - @usableFromInline static let `DataTransferItem`: JSString = "DataTransferItem" - @usableFromInline static let `DataTransferItemList`: JSString = "DataTransferItemList" - @usableFromInline static let `Document`: JSString = "Document" - @usableFromInline static let `DocumentFragment`: JSString = "DocumentFragment" - @usableFromInline static let `DocumentType`: JSString = "DocumentType" - @usableFromInline static let `DragEvent`: JSString = "DragEvent" - @usableFromInline static let `Element`: JSString = "Element" - @usableFromInline static let `ElementInternals`: JSString = "ElementInternals" - @usableFromInline static let `EncodedAudioChunk`: JSString = "EncodedAudioChunk" - @usableFromInline static let `EncodedVideoChunk`: JSString = "EncodedVideoChunk" - @usableFromInline static let `ErrorEvent`: JSString = "ErrorEvent" - @usableFromInline static let `Event`: JSString = "Event" - @usableFromInline static let `EventSource`: JSString = "EventSource" - @usableFromInline static let `EventTarget`: JSString = "EventTarget" - @usableFromInline static let `External`: JSString = "External" - @usableFromInline static let `File`: JSString = "File" - @usableFromInline static let `FileList`: JSString = "FileList" - @usableFromInline static let `FileReader`: JSString = "FileReader" - @usableFromInline static let `FocusEvent`: JSString = "FocusEvent" - @usableFromInline static let `FormData`: JSString = "FormData" - @usableFromInline static let `FormDataEvent`: JSString = "FormDataEvent" - @usableFromInline static let `HTMLAllCollection`: JSString = "HTMLAllCollection" - @usableFromInline static let `HTMLAnchorElement`: JSString = "HTMLAnchorElement" - @usableFromInline static let `HTMLAreaElement`: JSString = "HTMLAreaElement" - @usableFromInline static let `HTMLAudioElement`: JSString = "HTMLAudioElement" - @usableFromInline static let `HTMLBRElement`: JSString = "HTMLBRElement" - @usableFromInline static let `HTMLBaseElement`: JSString = "HTMLBaseElement" - @usableFromInline static let `HTMLBodyElement`: JSString = "HTMLBodyElement" - @usableFromInline static let `HTMLButtonElement`: JSString = "HTMLButtonElement" - @usableFromInline static let `HTMLCanvasElement`: JSString = "HTMLCanvasElement" - @usableFromInline static let `HTMLCollection`: JSString = "HTMLCollection" - @usableFromInline static let `HTMLDListElement`: JSString = "HTMLDListElement" - @usableFromInline static let `HTMLDataElement`: JSString = "HTMLDataElement" - @usableFromInline static let `HTMLDataListElement`: JSString = "HTMLDataListElement" - @usableFromInline static let `HTMLDetailsElement`: JSString = "HTMLDetailsElement" - @usableFromInline static let `HTMLDialogElement`: JSString = "HTMLDialogElement" - @usableFromInline static let `HTMLDirectoryElement`: JSString = "HTMLDirectoryElement" - @usableFromInline static let `HTMLDivElement`: JSString = "HTMLDivElement" - @usableFromInline static let `HTMLElement`: JSString = "HTMLElement" - @usableFromInline static let `HTMLEmbedElement`: JSString = "HTMLEmbedElement" - @usableFromInline static let `HTMLFieldSetElement`: JSString = "HTMLFieldSetElement" - @usableFromInline static let `HTMLFontElement`: JSString = "HTMLFontElement" - @usableFromInline static let `HTMLFormControlsCollection`: JSString = "HTMLFormControlsCollection" - @usableFromInline static let `HTMLFormElement`: JSString = "HTMLFormElement" - @usableFromInline static let `HTMLFrameElement`: JSString = "HTMLFrameElement" - @usableFromInline static let `HTMLFrameSetElement`: JSString = "HTMLFrameSetElement" - @usableFromInline static let `HTMLHRElement`: JSString = "HTMLHRElement" - @usableFromInline static let `HTMLHeadElement`: JSString = "HTMLHeadElement" - @usableFromInline static let `HTMLHeadingElement`: JSString = "HTMLHeadingElement" - @usableFromInline static let `HTMLHtmlElement`: JSString = "HTMLHtmlElement" - @usableFromInline static let `HTMLIFrameElement`: JSString = "HTMLIFrameElement" - @usableFromInline static let `HTMLImageElement`: JSString = "HTMLImageElement" - @usableFromInline static let `HTMLInputElement`: JSString = "HTMLInputElement" - @usableFromInline static let `HTMLLIElement`: JSString = "HTMLLIElement" - @usableFromInline static let `HTMLLabelElement`: JSString = "HTMLLabelElement" - @usableFromInline static let `HTMLLegendElement`: JSString = "HTMLLegendElement" - @usableFromInline static let `HTMLLinkElement`: JSString = "HTMLLinkElement" - @usableFromInline static let `HTMLMapElement`: JSString = "HTMLMapElement" - @usableFromInline static let `HTMLMarqueeElement`: JSString = "HTMLMarqueeElement" - @usableFromInline static let `HTMLMediaElement`: JSString = "HTMLMediaElement" - @usableFromInline static let `HTMLMenuElement`: JSString = "HTMLMenuElement" - @usableFromInline static let `HTMLMetaElement`: JSString = "HTMLMetaElement" - @usableFromInline static let `HTMLMeterElement`: JSString = "HTMLMeterElement" - @usableFromInline static let `HTMLModElement`: JSString = "HTMLModElement" - @usableFromInline static let `HTMLOListElement`: JSString = "HTMLOListElement" - @usableFromInline static let `HTMLObjectElement`: JSString = "HTMLObjectElement" - @usableFromInline static let `HTMLOptGroupElement`: JSString = "HTMLOptGroupElement" - @usableFromInline static let `HTMLOptionElement`: JSString = "HTMLOptionElement" - @usableFromInline static let `HTMLOptionsCollection`: JSString = "HTMLOptionsCollection" - @usableFromInline static let `HTMLOutputElement`: JSString = "HTMLOutputElement" - @usableFromInline static let `HTMLParagraphElement`: JSString = "HTMLParagraphElement" - @usableFromInline static let `HTMLParamElement`: JSString = "HTMLParamElement" - @usableFromInline static let `HTMLPictureElement`: JSString = "HTMLPictureElement" - @usableFromInline static let `HTMLPreElement`: JSString = "HTMLPreElement" - @usableFromInline static let `HTMLProgressElement`: JSString = "HTMLProgressElement" - @usableFromInline static let `HTMLQuoteElement`: JSString = "HTMLQuoteElement" - @usableFromInline static let `HTMLScriptElement`: JSString = "HTMLScriptElement" - @usableFromInline static let `HTMLSelectElement`: JSString = "HTMLSelectElement" - @usableFromInline static let `HTMLSlotElement`: JSString = "HTMLSlotElement" - @usableFromInline static let `HTMLSourceElement`: JSString = "HTMLSourceElement" - @usableFromInline static let `HTMLSpanElement`: JSString = "HTMLSpanElement" - @usableFromInline static let `HTMLStyleElement`: JSString = "HTMLStyleElement" - @usableFromInline static let `HTMLTableCaptionElement`: JSString = "HTMLTableCaptionElement" - @usableFromInline static let `HTMLTableCellElement`: JSString = "HTMLTableCellElement" - @usableFromInline static let `HTMLTableColElement`: JSString = "HTMLTableColElement" - @usableFromInline static let `HTMLTableElement`: JSString = "HTMLTableElement" - @usableFromInline static let `HTMLTableRowElement`: JSString = "HTMLTableRowElement" - @usableFromInline static let `HTMLTableSectionElement`: JSString = "HTMLTableSectionElement" - @usableFromInline static let `HTMLTemplateElement`: JSString = "HTMLTemplateElement" - @usableFromInline static let `HTMLTextAreaElement`: JSString = "HTMLTextAreaElement" - @usableFromInline static let `HTMLTimeElement`: JSString = "HTMLTimeElement" - @usableFromInline static let `HTMLTitleElement`: JSString = "HTMLTitleElement" - @usableFromInline static let `HTMLTrackElement`: JSString = "HTMLTrackElement" - @usableFromInline static let `HTMLUListElement`: JSString = "HTMLUListElement" - @usableFromInline static let `HTMLUnknownElement`: JSString = "HTMLUnknownElement" - @usableFromInline static let `HTMLVideoElement`: JSString = "HTMLVideoElement" - @usableFromInline static let `HashChangeEvent`: JSString = "HashChangeEvent" - @usableFromInline static let `Headers`: JSString = "Headers" - @usableFromInline static let `History`: JSString = "History" - @usableFromInline static let `ImageBitmap`: JSString = "ImageBitmap" - @usableFromInline static let `ImageBitmapRenderingContext`: JSString = "ImageBitmapRenderingContext" - @usableFromInline static let `ImageData`: JSString = "ImageData" - @usableFromInline static let `ImageDecoder`: JSString = "ImageDecoder" - @usableFromInline static let `ImageTrack`: JSString = "ImageTrack" - @usableFromInline static let `ImageTrackList`: JSString = "ImageTrackList" - @usableFromInline static let `InputDeviceInfo`: JSString = "InputDeviceInfo" - @usableFromInline static let `InputEvent`: JSString = "InputEvent" - @usableFromInline static let `IsSearchProviderInstalled`: JSString = "IsSearchProviderInstalled" - @usableFromInline static let `KeyboardEvent`: JSString = "KeyboardEvent" - @usableFromInline static let `Location`: JSString = "Location" - @usableFromInline static let `MathMLElement`: JSString = "MathMLElement" - @usableFromInline static let `MediaDeviceInfo`: JSString = "MediaDeviceInfo" - @usableFromInline static let `MediaDevices`: JSString = "MediaDevices" - @usableFromInline static let `MediaError`: JSString = "MediaError" - @usableFromInline static let `MediaQueryList`: JSString = "MediaQueryList" - @usableFromInline static let `MediaQueryListEvent`: JSString = "MediaQueryListEvent" - @usableFromInline static let `MediaRecorder`: JSString = "MediaRecorder" - @usableFromInline static let `MediaSource`: JSString = "MediaSource" - @usableFromInline static let `MediaSourceHandle`: JSString = "MediaSourceHandle" - @usableFromInline static let `MediaStream`: JSString = "MediaStream" - @usableFromInline static let `MediaStreamTrack`: JSString = "MediaStreamTrack" - @usableFromInline static let `MediaStreamTrackEvent`: JSString = "MediaStreamTrackEvent" - @usableFromInline static let `MessageChannel`: JSString = "MessageChannel" - @usableFromInline static let `MessageEvent`: JSString = "MessageEvent" - @usableFromInline static let `MessagePort`: JSString = "MessagePort" - @usableFromInline static let `MimeType`: JSString = "MimeType" - @usableFromInline static let `MimeTypeArray`: JSString = "MimeTypeArray" - @usableFromInline static let `MouseEvent`: JSString = "MouseEvent" - @usableFromInline static let `MutationEvent`: JSString = "MutationEvent" - @usableFromInline static let `MutationObserver`: JSString = "MutationObserver" - @usableFromInline static let `MutationRecord`: JSString = "MutationRecord" - @usableFromInline static let `NamedNodeMap`: JSString = "NamedNodeMap" - @usableFromInline static let `NavigateEvent`: JSString = "NavigateEvent" - @usableFromInline static let `Navigation`: JSString = "Navigation" - @usableFromInline static let `NavigationCurrentEntryChangeEvent`: JSString = "NavigationCurrentEntryChangeEvent" - @usableFromInline static let `NavigationDestination`: JSString = "NavigationDestination" - @usableFromInline static let `NavigationHistoryEntry`: JSString = "NavigationHistoryEntry" - @usableFromInline static let `NavigationPreloadManager`: JSString = "NavigationPreloadManager" - @usableFromInline static let `NavigationTransition`: JSString = "NavigationTransition" - @usableFromInline static let `Navigator`: JSString = "Navigator" - @usableFromInline static let `Node`: JSString = "Node" - @usableFromInline static let `NodeIterator`: JSString = "NodeIterator" - @usableFromInline static let `NodeList`: JSString = "NodeList" - @usableFromInline static let `Object`: JSString = "Object" - @usableFromInline static let `OffscreenCanvas`: JSString = "OffscreenCanvas" - @usableFromInline static let `OffscreenCanvasRenderingContext2D`: JSString = "OffscreenCanvasRenderingContext2D" - @usableFromInline static let `OverconstrainedError`: JSString = "OverconstrainedError" - @usableFromInline static let `PageTransitionEvent`: JSString = "PageTransitionEvent" - @usableFromInline static let `Path2D`: JSString = "Path2D" - @usableFromInline static let `Performance`: JSString = "Performance" - @usableFromInline static let `PerformanceEntry`: JSString = "PerformanceEntry" - @usableFromInline static let `PerformanceObserver`: JSString = "PerformanceObserver" - @usableFromInline static let `PerformanceObserverEntryList`: JSString = "PerformanceObserverEntryList" - @usableFromInline static let `PermissionStatus`: JSString = "PermissionStatus" - @usableFromInline static let `Permissions`: JSString = "Permissions" - @usableFromInline static let `Plugin`: JSString = "Plugin" - @usableFromInline static let `PluginArray`: JSString = "PluginArray" - @usableFromInline static let `PopStateEvent`: JSString = "PopStateEvent" - @usableFromInline static let `ProcessingInstruction`: JSString = "ProcessingInstruction" - @usableFromInline static let `ProgressEvent`: JSString = "ProgressEvent" - @usableFromInline static let `PromiseRejectionEvent`: JSString = "PromiseRejectionEvent" - @usableFromInline static let `RadioNodeList`: JSString = "RadioNodeList" - @usableFromInline static let `Range`: JSString = "Range" - @usableFromInline static let `ReadableByteStreamController`: JSString = "ReadableByteStreamController" - @usableFromInline static let `ReadableStream`: JSString = "ReadableStream" - @usableFromInline static let `ReadableStreamBYOBReader`: JSString = "ReadableStreamBYOBReader" - @usableFromInline static let `ReadableStreamBYOBRequest`: JSString = "ReadableStreamBYOBRequest" - @usableFromInline static let `ReadableStreamDefaultController`: JSString = "ReadableStreamDefaultController" - @usableFromInline static let `ReadableStreamDefaultReader`: JSString = "ReadableStreamDefaultReader" - @usableFromInline static let `Request`: JSString = "Request" - @usableFromInline static let `Response`: JSString = "Response" - @usableFromInline static let `Screen`: JSString = "Screen" - @usableFromInline static let `ServiceWorker`: JSString = "ServiceWorker" - @usableFromInline static let `ServiceWorkerContainer`: JSString = "ServiceWorkerContainer" - @usableFromInline static let `ServiceWorkerRegistration`: JSString = "ServiceWorkerRegistration" - @usableFromInline static let `ShadowRoot`: JSString = "ShadowRoot" - @usableFromInline static let `SharedWorker`: JSString = "SharedWorker" - @usableFromInline static let `SourceBuffer`: JSString = "SourceBuffer" - @usableFromInline static let `SourceBufferList`: JSString = "SourceBufferList" - @usableFromInline static let `StaticRange`: JSString = "StaticRange" - @usableFromInline static let `Storage`: JSString = "Storage" - @usableFromInline static let `StorageEvent`: JSString = "StorageEvent" - @usableFromInline static let `SubmitEvent`: JSString = "SubmitEvent" - @usableFromInline static let `Text`: JSString = "Text" - @usableFromInline static let `TextMetrics`: JSString = "TextMetrics" - @usableFromInline static let `TextTrack`: JSString = "TextTrack" - @usableFromInline static let `TextTrackCue`: JSString = "TextTrackCue" - @usableFromInline static let `TextTrackCueList`: JSString = "TextTrackCueList" - @usableFromInline static let `TextTrackList`: JSString = "TextTrackList" - @usableFromInline static let `TimeRanges`: JSString = "TimeRanges" - @usableFromInline static let `ToggleEvent`: JSString = "ToggleEvent" - @usableFromInline static let `Touch`: JSString = "Touch" - @usableFromInline static let `TouchEvent`: JSString = "TouchEvent" - @usableFromInline static let `TouchList`: JSString = "TouchList" - @usableFromInline static let `TrackEvent`: JSString = "TrackEvent" - @usableFromInline static let `TransformStream`: JSString = "TransformStream" - @usableFromInline static let `TransformStreamDefaultController`: JSString = "TransformStreamDefaultController" - @usableFromInline static let `TreeWalker`: JSString = "TreeWalker" - @usableFromInline static let `TrustedHTML`: JSString = "TrustedHTML" - @usableFromInline static let `TrustedScript`: JSString = "TrustedScript" - @usableFromInline static let `TrustedScriptURL`: JSString = "TrustedScriptURL" - @usableFromInline static let `TrustedTypePolicy`: JSString = "TrustedTypePolicy" - @usableFromInline static let `TrustedTypePolicyFactory`: JSString = "TrustedTypePolicyFactory" - @usableFromInline static let `UIEvent`: JSString = "UIEvent" - @usableFromInline static let `URL`: JSString = "URL" - @usableFromInline static let `URLPattern`: JSString = "URLPattern" - @usableFromInline static let `UserActivation`: JSString = "UserActivation" - @usableFromInline static let `ValidityState`: JSString = "ValidityState" - @usableFromInline static let `VideoColorSpace`: JSString = "VideoColorSpace" - @usableFromInline static let `VideoDecoder`: JSString = "VideoDecoder" - @usableFromInline static let `VideoEncoder`: JSString = "VideoEncoder" - @usableFromInline static let `VideoFrame`: JSString = "VideoFrame" - @usableFromInline static let `VideoTrack`: JSString = "VideoTrack" - @usableFromInline static let `VideoTrackList`: JSString = "VideoTrackList" - @usableFromInline static let `ViewTransition`: JSString = "ViewTransition" - @usableFromInline static let `VisibilityStateEntry`: JSString = "VisibilityStateEntry" - @usableFromInline static let `VisualViewport`: JSString = "VisualViewport" - @usableFromInline static let `WheelEvent`: JSString = "WheelEvent" - @usableFromInline static let `Window`: JSString = "Window" - @usableFromInline static let `Worker`: JSString = "Worker" - @usableFromInline static let `Worklet`: JSString = "Worklet" - @usableFromInline static let `WritableStream`: JSString = "WritableStream" - @usableFromInline static let `WritableStreamDefaultController`: JSString = "WritableStreamDefaultController" - @usableFromInline static let `WritableStreamDefaultWriter`: JSString = "WritableStreamDefaultWriter" - @usableFromInline static let `XMLDocument`: JSString = "XMLDocument" - @usableFromInline static let `XMLHttpRequest`: JSString = "XMLHttpRequest" - @usableFromInline static let `XMLHttpRequestEventTarget`: JSString = "XMLHttpRequestEventTarget" - @usableFromInline static let `XMLHttpRequestUpload`: JSString = "XMLHttpRequestUpload" - @usableFromInline static let `XPathEvaluator`: JSString = "XPathEvaluator" - @usableFromInline static let `XPathExpression`: JSString = "XPathExpression" - @usableFromInline static let `XPathResult`: JSString = "XPathResult" - @usableFromInline static let `XSLTProcessor`: JSString = "XSLTProcessor" - @usableFromInline static let `a`: JSString = "a" - @usableFromInline static let `aLink`: JSString = "aLink" - @usableFromInline static let `abbr`: JSString = "abbr" - @usableFromInline static let `abort`: JSString = "abort" - @usableFromInline static let `aborted`: JSString = "aborted" - @usableFromInline static let `accept`: JSString = "accept" - @usableFromInline static let `acceptCharset`: JSString = "acceptCharset" - @usableFromInline static let `accessKey`: JSString = "accessKey" - @usableFromInline static let `accessKeyLabel`: JSString = "accessKeyLabel" - @usableFromInline static let `action`: JSString = "action" - @usableFromInline static let `active`: JSString = "active" - @usableFromInline static let `activeCues`: JSString = "activeCues" - @usableFromInline static let `activeElement`: JSString = "activeElement" - @usableFromInline static let `activeSourceBuffers`: JSString = "activeSourceBuffers" - @usableFromInline static let `actualBoundingBoxAscent`: JSString = "actualBoundingBoxAscent" - @usableFromInline static let `actualBoundingBoxDescent`: JSString = "actualBoundingBoxDescent" - @usableFromInline static let `actualBoundingBoxLeft`: JSString = "actualBoundingBoxLeft" - @usableFromInline static let `actualBoundingBoxRight`: JSString = "actualBoundingBoxRight" - @usableFromInline static let `add`: JSString = "add" - @usableFromInline static let `addAll`: JSString = "addAll" - @usableFromInline static let `addColorStop`: JSString = "addColorStop" - @usableFromInline static let `addCue`: JSString = "addCue" - @usableFromInline static let `addEventListener`: JSString = "addEventListener" - @usableFromInline static let `addListener`: JSString = "addListener" - @usableFromInline static let `addModule`: JSString = "addModule" - @usableFromInline static let `addPath`: JSString = "addPath" - @usableFromInline static let `addSourceBuffer`: JSString = "addSourceBuffer" - @usableFromInline static let `addTextTrack`: JSString = "addTextTrack" - @usableFromInline static let `addTrack`: JSString = "addTrack" - @usableFromInline static let `addedNodes`: JSString = "addedNodes" - @usableFromInline static let `adoptNode`: JSString = "adoptNode" - @usableFromInline static let `advanced`: JSString = "advanced" - @usableFromInline static let `after`: JSString = "after" - @usableFromInline static let `alert`: JSString = "alert" - @usableFromInline static let `align`: JSString = "align" - @usableFromInline static let `alinkColor`: JSString = "alinkColor" - @usableFromInline static let `all`: JSString = "all" - @usableFromInline static let `allocationSize`: JSString = "allocationSize" - @usableFromInline static let `allow`: JSString = "allow" - @usableFromInline static let `allowFullscreen`: JSString = "allowFullscreen" - @usableFromInline static let `alpha`: JSString = "alpha" - @usableFromInline static let `alphaSideData`: JSString = "alphaSideData" - @usableFromInline static let `alphabeticBaseline`: JSString = "alphabeticBaseline" - @usableFromInline static let `alt`: JSString = "alt" - @usableFromInline static let `altKey`: JSString = "altKey" - @usableFromInline static let `altitudeAngle`: JSString = "altitudeAngle" - @usableFromInline static let `ancestorOrigins`: JSString = "ancestorOrigins" - @usableFromInline static let `anchors`: JSString = "anchors" - @usableFromInline static let `animated`: JSString = "animated" - @usableFromInline static let `any`: JSString = "any" - @usableFromInline static let `appCodeName`: JSString = "appCodeName" - @usableFromInline static let `appName`: JSString = "appName" - @usableFromInline static let `appVersion`: JSString = "appVersion" - @usableFromInline static let `append`: JSString = "append" - @usableFromInline static let `appendBuffer`: JSString = "appendBuffer" - @usableFromInline static let `appendChild`: JSString = "appendChild" - @usableFromInline static let `appendData`: JSString = "appendData" - @usableFromInline static let `appendWindowEnd`: JSString = "appendWindowEnd" - @usableFromInline static let `appendWindowStart`: JSString = "appendWindowStart" - @usableFromInline static let `applets`: JSString = "applets" - @usableFromInline static let `applyConstraints`: JSString = "applyConstraints" - @usableFromInline static let `arc`: JSString = "arc" - @usableFromInline static let `arcTo`: JSString = "arcTo" - @usableFromInline static let `archive`: JSString = "archive" - @usableFromInline static let `areas`: JSString = "areas" - @usableFromInline static let `ariaActiveDescendantElement`: JSString = "ariaActiveDescendantElement" - @usableFromInline static let `ariaAtomic`: JSString = "ariaAtomic" - @usableFromInline static let `ariaAutoComplete`: JSString = "ariaAutoComplete" - @usableFromInline static let `ariaBusy`: JSString = "ariaBusy" - @usableFromInline static let `ariaChecked`: JSString = "ariaChecked" - @usableFromInline static let `ariaColCount`: JSString = "ariaColCount" - @usableFromInline static let `ariaColIndex`: JSString = "ariaColIndex" - @usableFromInline static let `ariaColIndexText`: JSString = "ariaColIndexText" - @usableFromInline static let `ariaColSpan`: JSString = "ariaColSpan" - @usableFromInline static let `ariaControlsElements`: JSString = "ariaControlsElements" - @usableFromInline static let `ariaCurrent`: JSString = "ariaCurrent" - @usableFromInline static let `ariaDescribedByElements`: JSString = "ariaDescribedByElements" - @usableFromInline static let `ariaDescription`: JSString = "ariaDescription" - @usableFromInline static let `ariaDetailsElements`: JSString = "ariaDetailsElements" - @usableFromInline static let `ariaDisabled`: JSString = "ariaDisabled" - @usableFromInline static let `ariaErrorMessageElements`: JSString = "ariaErrorMessageElements" - @usableFromInline static let `ariaExpanded`: JSString = "ariaExpanded" - @usableFromInline static let `ariaFlowToElements`: JSString = "ariaFlowToElements" - @usableFromInline static let `ariaHasPopup`: JSString = "ariaHasPopup" - @usableFromInline static let `ariaHidden`: JSString = "ariaHidden" - @usableFromInline static let `ariaInvalid`: JSString = "ariaInvalid" - @usableFromInline static let `ariaKeyShortcuts`: JSString = "ariaKeyShortcuts" - @usableFromInline static let `ariaLabel`: JSString = "ariaLabel" - @usableFromInline static let `ariaLabelledByElements`: JSString = "ariaLabelledByElements" - @usableFromInline static let `ariaLevel`: JSString = "ariaLevel" - @usableFromInline static let `ariaLive`: JSString = "ariaLive" - @usableFromInline static let `ariaModal`: JSString = "ariaModal" - @usableFromInline static let `ariaMultiLine`: JSString = "ariaMultiLine" - @usableFromInline static let `ariaMultiSelectable`: JSString = "ariaMultiSelectable" - @usableFromInline static let `ariaOrientation`: JSString = "ariaOrientation" - @usableFromInline static let `ariaOwnsElements`: JSString = "ariaOwnsElements" - @usableFromInline static let `ariaPlaceholder`: JSString = "ariaPlaceholder" - @usableFromInline static let `ariaPosInSet`: JSString = "ariaPosInSet" - @usableFromInline static let `ariaPressed`: JSString = "ariaPressed" - @usableFromInline static let `ariaReadOnly`: JSString = "ariaReadOnly" - @usableFromInline static let `ariaRequired`: JSString = "ariaRequired" - @usableFromInline static let `ariaRoleDescription`: JSString = "ariaRoleDescription" - @usableFromInline static let `ariaRowCount`: JSString = "ariaRowCount" - @usableFromInline static let `ariaRowIndex`: JSString = "ariaRowIndex" - @usableFromInline static let `ariaRowIndexText`: JSString = "ariaRowIndexText" - @usableFromInline static let `ariaRowSpan`: JSString = "ariaRowSpan" - @usableFromInline static let `ariaSelected`: JSString = "ariaSelected" - @usableFromInline static let `ariaSetSize`: JSString = "ariaSetSize" - @usableFromInline static let `ariaSort`: JSString = "ariaSort" - @usableFromInline static let `ariaValueMax`: JSString = "ariaValueMax" - @usableFromInline static let `ariaValueMin`: JSString = "ariaValueMin" - @usableFromInline static let `ariaValueNow`: JSString = "ariaValueNow" - @usableFromInline static let `ariaValueText`: JSString = "ariaValueText" - @usableFromInline static let `arrayBuffer`: JSString = "arrayBuffer" + @usableFromInline static let AbortController: JSString = "AbortController" + @usableFromInline static let AbortSignal: JSString = "AbortSignal" + @usableFromInline static let AbstractRange: JSString = "AbstractRange" + @usableFromInline static let AddSearchProvider: JSString = "AddSearchProvider" + @usableFromInline static let Attr: JSString = "Attr" + @usableFromInline static let AudioData: JSString = "AudioData" + @usableFromInline static let AudioDecoder: JSString = "AudioDecoder" + @usableFromInline static let AudioEncoder: JSString = "AudioEncoder" + @usableFromInline static let AudioTrack: JSString = "AudioTrack" + @usableFromInline static let AudioTrackList: JSString = "AudioTrackList" + @usableFromInline static let BarProp: JSString = "BarProp" + @usableFromInline static let BeforeUnloadEvent: JSString = "BeforeUnloadEvent" + @usableFromInline static let Blob: JSString = "Blob" + @usableFromInline static let BlobEvent: JSString = "BlobEvent" + @usableFromInline static let BroadcastChannel: JSString = "BroadcastChannel" + @usableFromInline static let ByteLengthQueuingStrategy: JSString = "ByteLengthQueuingStrategy" + @usableFromInline static let CDATASection: JSString = "CDATASection" + @usableFromInline static let CSSPseudoElement: JSString = "CSSPseudoElement" + @usableFromInline static let Cache: JSString = "Cache" + @usableFromInline static let CacheStorage: JSString = "CacheStorage" + @usableFromInline static let CanvasGradient: JSString = "CanvasGradient" + @usableFromInline static let CanvasPattern: JSString = "CanvasPattern" + @usableFromInline static let CanvasRenderingContext2D: JSString = "CanvasRenderingContext2D" + @usableFromInline static let CaretPosition: JSString = "CaretPosition" + @usableFromInline static let CharacterData: JSString = "CharacterData" + @usableFromInline static let Comment: JSString = "Comment" + @usableFromInline static let CompositionEvent: JSString = "CompositionEvent" + @usableFromInline static let CountQueuingStrategy: JSString = "CountQueuingStrategy" + @usableFromInline static let CustomElementRegistry: JSString = "CustomElementRegistry" + @usableFromInline static let CustomEvent: JSString = "CustomEvent" + @usableFromInline static let DOMImplementation: JSString = "DOMImplementation" + @usableFromInline static let DOMMatrix: JSString = "DOMMatrix" + @usableFromInline static let DOMMatrixReadOnly: JSString = "DOMMatrixReadOnly" + @usableFromInline static let DOMParser: JSString = "DOMParser" + @usableFromInline static let DOMPoint: JSString = "DOMPoint" + @usableFromInline static let DOMPointReadOnly: JSString = "DOMPointReadOnly" + @usableFromInline static let DOMQuad: JSString = "DOMQuad" + @usableFromInline static let DOMRect: JSString = "DOMRect" + @usableFromInline static let DOMRectList: JSString = "DOMRectList" + @usableFromInline static let DOMRectReadOnly: JSString = "DOMRectReadOnly" + @usableFromInline static let DOMStringList: JSString = "DOMStringList" + @usableFromInline static let DOMStringMap: JSString = "DOMStringMap" + @usableFromInline static let DOMTokenList: JSString = "DOMTokenList" + @usableFromInline static let DataTransfer: JSString = "DataTransfer" + @usableFromInline static let DataTransferItem: JSString = "DataTransferItem" + @usableFromInline static let DataTransferItemList: JSString = "DataTransferItemList" + @usableFromInline static let Document: JSString = "Document" + @usableFromInline static let DocumentFragment: JSString = "DocumentFragment" + @usableFromInline static let DocumentType: JSString = "DocumentType" + @usableFromInline static let DragEvent: JSString = "DragEvent" + @usableFromInline static let Element: JSString = "Element" + @usableFromInline static let ElementInternals: JSString = "ElementInternals" + @usableFromInline static let EncodedAudioChunk: JSString = "EncodedAudioChunk" + @usableFromInline static let EncodedVideoChunk: JSString = "EncodedVideoChunk" + @usableFromInline static let ErrorEvent: JSString = "ErrorEvent" + @usableFromInline static let Event: JSString = "Event" + @usableFromInline static let EventSource: JSString = "EventSource" + @usableFromInline static let EventTarget: JSString = "EventTarget" + @usableFromInline static let External: JSString = "External" + @usableFromInline static let File: JSString = "File" + @usableFromInline static let FileList: JSString = "FileList" + @usableFromInline static let FileReader: JSString = "FileReader" + @usableFromInline static let FocusEvent: JSString = "FocusEvent" + @usableFromInline static let FormData: JSString = "FormData" + @usableFromInline static let FormDataEvent: JSString = "FormDataEvent" + @usableFromInline static let HTMLAllCollection: JSString = "HTMLAllCollection" + @usableFromInline static let HTMLAnchorElement: JSString = "HTMLAnchorElement" + @usableFromInline static let HTMLAreaElement: JSString = "HTMLAreaElement" + @usableFromInline static let HTMLAudioElement: JSString = "HTMLAudioElement" + @usableFromInline static let HTMLBRElement: JSString = "HTMLBRElement" + @usableFromInline static let HTMLBaseElement: JSString = "HTMLBaseElement" + @usableFromInline static let HTMLBodyElement: JSString = "HTMLBodyElement" + @usableFromInline static let HTMLButtonElement: JSString = "HTMLButtonElement" + @usableFromInline static let HTMLCanvasElement: JSString = "HTMLCanvasElement" + @usableFromInline static let HTMLCollection: JSString = "HTMLCollection" + @usableFromInline static let HTMLDListElement: JSString = "HTMLDListElement" + @usableFromInline static let HTMLDataElement: JSString = "HTMLDataElement" + @usableFromInline static let HTMLDataListElement: JSString = "HTMLDataListElement" + @usableFromInline static let HTMLDetailsElement: JSString = "HTMLDetailsElement" + @usableFromInline static let HTMLDialogElement: JSString = "HTMLDialogElement" + @usableFromInline static let HTMLDirectoryElement: JSString = "HTMLDirectoryElement" + @usableFromInline static let HTMLDivElement: JSString = "HTMLDivElement" + @usableFromInline static let HTMLElement: JSString = "HTMLElement" + @usableFromInline static let HTMLEmbedElement: JSString = "HTMLEmbedElement" + @usableFromInline static let HTMLFieldSetElement: JSString = "HTMLFieldSetElement" + @usableFromInline static let HTMLFontElement: JSString = "HTMLFontElement" + @usableFromInline static let HTMLFormControlsCollection: JSString = "HTMLFormControlsCollection" + @usableFromInline static let HTMLFormElement: JSString = "HTMLFormElement" + @usableFromInline static let HTMLFrameElement: JSString = "HTMLFrameElement" + @usableFromInline static let HTMLFrameSetElement: JSString = "HTMLFrameSetElement" + @usableFromInline static let HTMLHRElement: JSString = "HTMLHRElement" + @usableFromInline static let HTMLHeadElement: JSString = "HTMLHeadElement" + @usableFromInline static let HTMLHeadingElement: JSString = "HTMLHeadingElement" + @usableFromInline static let HTMLHtmlElement: JSString = "HTMLHtmlElement" + @usableFromInline static let HTMLIFrameElement: JSString = "HTMLIFrameElement" + @usableFromInline static let HTMLImageElement: JSString = "HTMLImageElement" + @usableFromInline static let HTMLInputElement: JSString = "HTMLInputElement" + @usableFromInline static let HTMLLIElement: JSString = "HTMLLIElement" + @usableFromInline static let HTMLLabelElement: JSString = "HTMLLabelElement" + @usableFromInline static let HTMLLegendElement: JSString = "HTMLLegendElement" + @usableFromInline static let HTMLLinkElement: JSString = "HTMLLinkElement" + @usableFromInline static let HTMLMapElement: JSString = "HTMLMapElement" + @usableFromInline static let HTMLMarqueeElement: JSString = "HTMLMarqueeElement" + @usableFromInline static let HTMLMediaElement: JSString = "HTMLMediaElement" + @usableFromInline static let HTMLMenuElement: JSString = "HTMLMenuElement" + @usableFromInline static let HTMLMetaElement: JSString = "HTMLMetaElement" + @usableFromInline static let HTMLMeterElement: JSString = "HTMLMeterElement" + @usableFromInline static let HTMLModElement: JSString = "HTMLModElement" + @usableFromInline static let HTMLOListElement: JSString = "HTMLOListElement" + @usableFromInline static let HTMLObjectElement: JSString = "HTMLObjectElement" + @usableFromInline static let HTMLOptGroupElement: JSString = "HTMLOptGroupElement" + @usableFromInline static let HTMLOptionElement: JSString = "HTMLOptionElement" + @usableFromInline static let HTMLOptionsCollection: JSString = "HTMLOptionsCollection" + @usableFromInline static let HTMLOutputElement: JSString = "HTMLOutputElement" + @usableFromInline static let HTMLParagraphElement: JSString = "HTMLParagraphElement" + @usableFromInline static let HTMLParamElement: JSString = "HTMLParamElement" + @usableFromInline static let HTMLPictureElement: JSString = "HTMLPictureElement" + @usableFromInline static let HTMLPreElement: JSString = "HTMLPreElement" + @usableFromInline static let HTMLProgressElement: JSString = "HTMLProgressElement" + @usableFromInline static let HTMLQuoteElement: JSString = "HTMLQuoteElement" + @usableFromInline static let HTMLScriptElement: JSString = "HTMLScriptElement" + @usableFromInline static let HTMLSelectElement: JSString = "HTMLSelectElement" + @usableFromInline static let HTMLSlotElement: JSString = "HTMLSlotElement" + @usableFromInline static let HTMLSourceElement: JSString = "HTMLSourceElement" + @usableFromInline static let HTMLSpanElement: JSString = "HTMLSpanElement" + @usableFromInline static let HTMLStyleElement: JSString = "HTMLStyleElement" + @usableFromInline static let HTMLTableCaptionElement: JSString = "HTMLTableCaptionElement" + @usableFromInline static let HTMLTableCellElement: JSString = "HTMLTableCellElement" + @usableFromInline static let HTMLTableColElement: JSString = "HTMLTableColElement" + @usableFromInline static let HTMLTableElement: JSString = "HTMLTableElement" + @usableFromInline static let HTMLTableRowElement: JSString = "HTMLTableRowElement" + @usableFromInline static let HTMLTableSectionElement: JSString = "HTMLTableSectionElement" + @usableFromInline static let HTMLTemplateElement: JSString = "HTMLTemplateElement" + @usableFromInline static let HTMLTextAreaElement: JSString = "HTMLTextAreaElement" + @usableFromInline static let HTMLTimeElement: JSString = "HTMLTimeElement" + @usableFromInline static let HTMLTitleElement: JSString = "HTMLTitleElement" + @usableFromInline static let HTMLTrackElement: JSString = "HTMLTrackElement" + @usableFromInline static let HTMLUListElement: JSString = "HTMLUListElement" + @usableFromInline static let HTMLUnknownElement: JSString = "HTMLUnknownElement" + @usableFromInline static let HTMLVideoElement: JSString = "HTMLVideoElement" + @usableFromInline static let HashChangeEvent: JSString = "HashChangeEvent" + @usableFromInline static let Headers: JSString = "Headers" + @usableFromInline static let History: JSString = "History" + @usableFromInline static let ImageBitmap: JSString = "ImageBitmap" + @usableFromInline static let ImageBitmapRenderingContext: JSString = "ImageBitmapRenderingContext" + @usableFromInline static let ImageData: JSString = "ImageData" + @usableFromInline static let ImageDecoder: JSString = "ImageDecoder" + @usableFromInline static let ImageTrack: JSString = "ImageTrack" + @usableFromInline static let ImageTrackList: JSString = "ImageTrackList" + @usableFromInline static let InputDeviceInfo: JSString = "InputDeviceInfo" + @usableFromInline static let InputEvent: JSString = "InputEvent" + @usableFromInline static let IsSearchProviderInstalled: JSString = "IsSearchProviderInstalled" + @usableFromInline static let KeyboardEvent: JSString = "KeyboardEvent" + @usableFromInline static let Location: JSString = "Location" + @usableFromInline static let MathMLElement: JSString = "MathMLElement" + @usableFromInline static let MediaDeviceInfo: JSString = "MediaDeviceInfo" + @usableFromInline static let MediaDevices: JSString = "MediaDevices" + @usableFromInline static let MediaError: JSString = "MediaError" + @usableFromInline static let MediaQueryList: JSString = "MediaQueryList" + @usableFromInline static let MediaQueryListEvent: JSString = "MediaQueryListEvent" + @usableFromInline static let MediaRecorder: JSString = "MediaRecorder" + @usableFromInline static let MediaSource: JSString = "MediaSource" + @usableFromInline static let MediaSourceHandle: JSString = "MediaSourceHandle" + @usableFromInline static let MediaStream: JSString = "MediaStream" + @usableFromInline static let MediaStreamTrack: JSString = "MediaStreamTrack" + @usableFromInline static let MediaStreamTrackEvent: JSString = "MediaStreamTrackEvent" + @usableFromInline static let MessageChannel: JSString = "MessageChannel" + @usableFromInline static let MessageEvent: JSString = "MessageEvent" + @usableFromInline static let MessagePort: JSString = "MessagePort" + @usableFromInline static let MimeType: JSString = "MimeType" + @usableFromInline static let MimeTypeArray: JSString = "MimeTypeArray" + @usableFromInline static let MouseEvent: JSString = "MouseEvent" + @usableFromInline static let MutationEvent: JSString = "MutationEvent" + @usableFromInline static let MutationObserver: JSString = "MutationObserver" + @usableFromInline static let MutationRecord: JSString = "MutationRecord" + @usableFromInline static let NamedNodeMap: JSString = "NamedNodeMap" + @usableFromInline static let NavigateEvent: JSString = "NavigateEvent" + @usableFromInline static let Navigation: JSString = "Navigation" + @usableFromInline static let NavigationCurrentEntryChangeEvent: JSString = "NavigationCurrentEntryChangeEvent" + @usableFromInline static let NavigationDestination: JSString = "NavigationDestination" + @usableFromInline static let NavigationHistoryEntry: JSString = "NavigationHistoryEntry" + @usableFromInline static let NavigationPreloadManager: JSString = "NavigationPreloadManager" + @usableFromInline static let NavigationTransition: JSString = "NavigationTransition" + @usableFromInline static let Navigator: JSString = "Navigator" + @usableFromInline static let Node: JSString = "Node" + @usableFromInline static let NodeIterator: JSString = "NodeIterator" + @usableFromInline static let NodeList: JSString = "NodeList" + @usableFromInline static let Object: JSString = "Object" + @usableFromInline static let OffscreenCanvas: JSString = "OffscreenCanvas" + @usableFromInline static let OffscreenCanvasRenderingContext2D: JSString = "OffscreenCanvasRenderingContext2D" + @usableFromInline static let OverconstrainedError: JSString = "OverconstrainedError" + @usableFromInline static let PageTransitionEvent: JSString = "PageTransitionEvent" + @usableFromInline static let Path2D: JSString = "Path2D" + @usableFromInline static let Performance: JSString = "Performance" + @usableFromInline static let PerformanceEntry: JSString = "PerformanceEntry" + @usableFromInline static let PerformanceObserver: JSString = "PerformanceObserver" + @usableFromInline static let PerformanceObserverEntryList: JSString = "PerformanceObserverEntryList" + @usableFromInline static let PermissionStatus: JSString = "PermissionStatus" + @usableFromInline static let Permissions: JSString = "Permissions" + @usableFromInline static let Plugin: JSString = "Plugin" + @usableFromInline static let PluginArray: JSString = "PluginArray" + @usableFromInline static let PopStateEvent: JSString = "PopStateEvent" + @usableFromInline static let ProcessingInstruction: JSString = "ProcessingInstruction" + @usableFromInline static let ProgressEvent: JSString = "ProgressEvent" + @usableFromInline static let PromiseRejectionEvent: JSString = "PromiseRejectionEvent" + @usableFromInline static let RadioNodeList: JSString = "RadioNodeList" + @usableFromInline static let Range: JSString = "Range" + @usableFromInline static let ReadableByteStreamController: JSString = "ReadableByteStreamController" + @usableFromInline static let ReadableStream: JSString = "ReadableStream" + @usableFromInline static let ReadableStreamBYOBReader: JSString = "ReadableStreamBYOBReader" + @usableFromInline static let ReadableStreamBYOBRequest: JSString = "ReadableStreamBYOBRequest" + @usableFromInline static let ReadableStreamDefaultController: JSString = "ReadableStreamDefaultController" + @usableFromInline static let ReadableStreamDefaultReader: JSString = "ReadableStreamDefaultReader" + @usableFromInline static let Request: JSString = "Request" + @usableFromInline static let Response: JSString = "Response" + @usableFromInline static let Screen: JSString = "Screen" + @usableFromInline static let ServiceWorker: JSString = "ServiceWorker" + @usableFromInline static let ServiceWorkerContainer: JSString = "ServiceWorkerContainer" + @usableFromInline static let ServiceWorkerRegistration: JSString = "ServiceWorkerRegistration" + @usableFromInline static let ShadowRoot: JSString = "ShadowRoot" + @usableFromInline static let SharedWorker: JSString = "SharedWorker" + @usableFromInline static let SourceBuffer: JSString = "SourceBuffer" + @usableFromInline static let SourceBufferList: JSString = "SourceBufferList" + @usableFromInline static let StaticRange: JSString = "StaticRange" + @usableFromInline static let Storage: JSString = "Storage" + @usableFromInline static let StorageEvent: JSString = "StorageEvent" + @usableFromInline static let SubmitEvent: JSString = "SubmitEvent" + @usableFromInline static let Text: JSString = "Text" + @usableFromInline static let TextMetrics: JSString = "TextMetrics" + @usableFromInline static let TextTrack: JSString = "TextTrack" + @usableFromInline static let TextTrackCue: JSString = "TextTrackCue" + @usableFromInline static let TextTrackCueList: JSString = "TextTrackCueList" + @usableFromInline static let TextTrackList: JSString = "TextTrackList" + @usableFromInline static let TimeRanges: JSString = "TimeRanges" + @usableFromInline static let ToggleEvent: JSString = "ToggleEvent" + @usableFromInline static let Touch: JSString = "Touch" + @usableFromInline static let TouchEvent: JSString = "TouchEvent" + @usableFromInline static let TouchList: JSString = "TouchList" + @usableFromInline static let TrackEvent: JSString = "TrackEvent" + @usableFromInline static let TransformStream: JSString = "TransformStream" + @usableFromInline static let TransformStreamDefaultController: JSString = "TransformStreamDefaultController" + @usableFromInline static let TreeWalker: JSString = "TreeWalker" + @usableFromInline static let UIEvent: JSString = "UIEvent" + @usableFromInline static let URL: JSString = "URL" + @usableFromInline static let UserActivation: JSString = "UserActivation" + @usableFromInline static let ValidityState: JSString = "ValidityState" + @usableFromInline static let VideoColorSpace: JSString = "VideoColorSpace" + @usableFromInline static let VideoDecoder: JSString = "VideoDecoder" + @usableFromInline static let VideoEncoder: JSString = "VideoEncoder" + @usableFromInline static let VideoFrame: JSString = "VideoFrame" + @usableFromInline static let VideoTrack: JSString = "VideoTrack" + @usableFromInline static let VideoTrackList: JSString = "VideoTrackList" + @usableFromInline static let VisibilityStateEntry: JSString = "VisibilityStateEntry" + @usableFromInline static let VisualViewport: JSString = "VisualViewport" + @usableFromInline static let WheelEvent: JSString = "WheelEvent" + @usableFromInline static let Window: JSString = "Window" + @usableFromInline static let Worker: JSString = "Worker" + @usableFromInline static let Worklet: JSString = "Worklet" + @usableFromInline static let WritableStream: JSString = "WritableStream" + @usableFromInline static let WritableStreamDefaultController: JSString = "WritableStreamDefaultController" + @usableFromInline static let WritableStreamDefaultWriter: JSString = "WritableStreamDefaultWriter" + @usableFromInline static let XMLDocument: JSString = "XMLDocument" + @usableFromInline static let XMLHttpRequest: JSString = "XMLHttpRequest" + @usableFromInline static let XMLHttpRequestEventTarget: JSString = "XMLHttpRequestEventTarget" + @usableFromInline static let XMLHttpRequestUpload: JSString = "XMLHttpRequestUpload" + @usableFromInline static let XPathEvaluator: JSString = "XPathEvaluator" + @usableFromInline static let XPathExpression: JSString = "XPathExpression" + @usableFromInline static let XPathResult: JSString = "XPathResult" + @usableFromInline static let XSLTProcessor: JSString = "XSLTProcessor" + @usableFromInline static let a: JSString = "a" + @usableFromInline static let aLink: JSString = "aLink" + @usableFromInline static let abbr: JSString = "abbr" + @usableFromInline static let abort: JSString = "abort" + @usableFromInline static let aborted: JSString = "aborted" + @usableFromInline static let accept: JSString = "accept" + @usableFromInline static let acceptCharset: JSString = "acceptCharset" + @usableFromInline static let accessKey: JSString = "accessKey" + @usableFromInline static let accessKeyLabel: JSString = "accessKeyLabel" + @usableFromInline static let action: JSString = "action" + @usableFromInline static let active: JSString = "active" + @usableFromInline static let activeCues: JSString = "activeCues" + @usableFromInline static let activeElement: JSString = "activeElement" + @usableFromInline static let activeSourceBuffers: JSString = "activeSourceBuffers" + @usableFromInline static let actualBoundingBoxAscent: JSString = "actualBoundingBoxAscent" + @usableFromInline static let actualBoundingBoxDescent: JSString = "actualBoundingBoxDescent" + @usableFromInline static let actualBoundingBoxLeft: JSString = "actualBoundingBoxLeft" + @usableFromInline static let actualBoundingBoxRight: JSString = "actualBoundingBoxRight" + @usableFromInline static let add: JSString = "add" + @usableFromInline static let addAll: JSString = "addAll" + @usableFromInline static let addColorStop: JSString = "addColorStop" + @usableFromInline static let addCue: JSString = "addCue" + @usableFromInline static let addEventListener: JSString = "addEventListener" + @usableFromInline static let addListener: JSString = "addListener" + @usableFromInline static let addModule: JSString = "addModule" + @usableFromInline static let addPath: JSString = "addPath" + @usableFromInline static let addSourceBuffer: JSString = "addSourceBuffer" + @usableFromInline static let addTextTrack: JSString = "addTextTrack" + @usableFromInline static let addTrack: JSString = "addTrack" + @usableFromInline static let addedNodes: JSString = "addedNodes" + @usableFromInline static let adoptNode: JSString = "adoptNode" + @usableFromInline static let advanced: JSString = "advanced" + @usableFromInline static let after: JSString = "after" + @usableFromInline static let alert: JSString = "alert" + @usableFromInline static let align: JSString = "align" + @usableFromInline static let alinkColor: JSString = "alinkColor" + @usableFromInline static let all: JSString = "all" + @usableFromInline static let allocationSize: JSString = "allocationSize" + @usableFromInline static let allow: JSString = "allow" + @usableFromInline static let allowFullscreen: JSString = "allowFullscreen" + @usableFromInline static let alpha: JSString = "alpha" + @usableFromInline static let alphaSideData: JSString = "alphaSideData" + @usableFromInline static let alphabeticBaseline: JSString = "alphabeticBaseline" + @usableFromInline static let alt: JSString = "alt" + @usableFromInline static let altKey: JSString = "altKey" + @usableFromInline static let altitudeAngle: JSString = "altitudeAngle" + @usableFromInline static let ancestorOrigins: JSString = "ancestorOrigins" + @usableFromInline static let anchors: JSString = "anchors" + @usableFromInline static let animated: JSString = "animated" + @usableFromInline static let any: JSString = "any" + @usableFromInline static let appCodeName: JSString = "appCodeName" + @usableFromInline static let appName: JSString = "appName" + @usableFromInline static let appVersion: JSString = "appVersion" + @usableFromInline static let append: JSString = "append" + @usableFromInline static let appendBuffer: JSString = "appendBuffer" + @usableFromInline static let appendChild: JSString = "appendChild" + @usableFromInline static let appendData: JSString = "appendData" + @usableFromInline static let appendWindowEnd: JSString = "appendWindowEnd" + @usableFromInline static let appendWindowStart: JSString = "appendWindowStart" + @usableFromInline static let applets: JSString = "applets" + @usableFromInline static let applyConstraints: JSString = "applyConstraints" + @usableFromInline static let arc: JSString = "arc" + @usableFromInline static let arcTo: JSString = "arcTo" + @usableFromInline static let archive: JSString = "archive" + @usableFromInline static let areas: JSString = "areas" + @usableFromInline static let ariaActiveDescendantElement: JSString = "ariaActiveDescendantElement" + @usableFromInline static let ariaAtomic: JSString = "ariaAtomic" + @usableFromInline static let ariaAutoComplete: JSString = "ariaAutoComplete" + @usableFromInline static let ariaBusy: JSString = "ariaBusy" + @usableFromInline static let ariaChecked: JSString = "ariaChecked" + @usableFromInline static let ariaColCount: JSString = "ariaColCount" + @usableFromInline static let ariaColIndex: JSString = "ariaColIndex" + @usableFromInline static let ariaColIndexText: JSString = "ariaColIndexText" + @usableFromInline static let ariaColSpan: JSString = "ariaColSpan" + @usableFromInline static let ariaControlsElements: JSString = "ariaControlsElements" + @usableFromInline static let ariaCurrent: JSString = "ariaCurrent" + @usableFromInline static let ariaDescribedByElements: JSString = "ariaDescribedByElements" + @usableFromInline static let ariaDescription: JSString = "ariaDescription" + @usableFromInline static let ariaDetailsElements: JSString = "ariaDetailsElements" + @usableFromInline static let ariaDisabled: JSString = "ariaDisabled" + @usableFromInline static let ariaErrorMessageElements: JSString = "ariaErrorMessageElements" + @usableFromInline static let ariaExpanded: JSString = "ariaExpanded" + @usableFromInline static let ariaFlowToElements: JSString = "ariaFlowToElements" + @usableFromInline static let ariaHasPopup: JSString = "ariaHasPopup" + @usableFromInline static let ariaHidden: JSString = "ariaHidden" + @usableFromInline static let ariaInvalid: JSString = "ariaInvalid" + @usableFromInline static let ariaKeyShortcuts: JSString = "ariaKeyShortcuts" + @usableFromInline static let ariaLabel: JSString = "ariaLabel" + @usableFromInline static let ariaLabelledByElements: JSString = "ariaLabelledByElements" + @usableFromInline static let ariaLevel: JSString = "ariaLevel" + @usableFromInline static let ariaLive: JSString = "ariaLive" + @usableFromInline static let ariaModal: JSString = "ariaModal" + @usableFromInline static let ariaMultiLine: JSString = "ariaMultiLine" + @usableFromInline static let ariaMultiSelectable: JSString = "ariaMultiSelectable" + @usableFromInline static let ariaOrientation: JSString = "ariaOrientation" + @usableFromInline static let ariaOwnsElements: JSString = "ariaOwnsElements" + @usableFromInline static let ariaPlaceholder: JSString = "ariaPlaceholder" + @usableFromInline static let ariaPosInSet: JSString = "ariaPosInSet" + @usableFromInline static let ariaPressed: JSString = "ariaPressed" + @usableFromInline static let ariaReadOnly: JSString = "ariaReadOnly" + @usableFromInline static let ariaRequired: JSString = "ariaRequired" + @usableFromInline static let ariaRoleDescription: JSString = "ariaRoleDescription" + @usableFromInline static let ariaRowCount: JSString = "ariaRowCount" + @usableFromInline static let ariaRowIndex: JSString = "ariaRowIndex" + @usableFromInline static let ariaRowIndexText: JSString = "ariaRowIndexText" + @usableFromInline static let ariaRowSpan: JSString = "ariaRowSpan" + @usableFromInline static let ariaSelected: JSString = "ariaSelected" + @usableFromInline static let ariaSetSize: JSString = "ariaSetSize" + @usableFromInline static let ariaSort: JSString = "ariaSort" + @usableFromInline static let ariaValueMax: JSString = "ariaValueMax" + @usableFromInline static let ariaValueMin: JSString = "ariaValueMin" + @usableFromInline static let ariaValueNow: JSString = "ariaValueNow" + @usableFromInline static let ariaValueText: JSString = "ariaValueText" + @usableFromInline static let arrayBuffer: JSString = "arrayBuffer" @usableFromInline static let `as`: JSString = "as" - @usableFromInline static let `aspectRatio`: JSString = "aspectRatio" - @usableFromInline static let `assign`: JSString = "assign" - @usableFromInline static let `assignedElements`: JSString = "assignedElements" - @usableFromInline static let `assignedNodes`: JSString = "assignedNodes" - @usableFromInline static let `assignedSlot`: JSString = "assignedSlot" - @usableFromInline static let `async`: JSString = "async" - @usableFromInline static let `atob`: JSString = "atob" - @usableFromInline static let `attachInternals`: JSString = "attachInternals" - @usableFromInline static let `attachShadow`: JSString = "attachShadow" - @usableFromInline static let `attrChange`: JSString = "attrChange" - @usableFromInline static let `attrName`: JSString = "attrName" - @usableFromInline static let `attributeFilter`: JSString = "attributeFilter" - @usableFromInline static let `attributeName`: JSString = "attributeName" - @usableFromInline static let `attributeNamespace`: JSString = "attributeNamespace" - @usableFromInline static let `attributeOldValue`: JSString = "attributeOldValue" - @usableFromInline static let `attributes`: JSString = "attributes" - @usableFromInline static let `audio`: JSString = "audio" - @usableFromInline static let `audioBitrateMode`: JSString = "audioBitrateMode" - @usableFromInline static let `audioBitsPerSecond`: JSString = "audioBitsPerSecond" - @usableFromInline static let `audioTracks`: JSString = "audioTracks" - @usableFromInline static let `autoAllocateChunkSize`: JSString = "autoAllocateChunkSize" - @usableFromInline static let `autoGainControl`: JSString = "autoGainControl" - @usableFromInline static let `autocapitalize`: JSString = "autocapitalize" - @usableFromInline static let `autocomplete`: JSString = "autocomplete" - @usableFromInline static let `autofocus`: JSString = "autofocus" - @usableFromInline static let `autoplay`: JSString = "autoplay" - @usableFromInline static let `availHeight`: JSString = "availHeight" - @usableFromInline static let `availWidth`: JSString = "availWidth" - @usableFromInline static let `axis`: JSString = "axis" - @usableFromInline static let `azimuthAngle`: JSString = "azimuthAngle" - @usableFromInline static let `b`: JSString = "b" - @usableFromInline static let `back`: JSString = "back" - @usableFromInline static let `background`: JSString = "background" - @usableFromInline static let `badInput`: JSString = "badInput" - @usableFromInline static let `baseURI`: JSString = "baseURI" - @usableFromInline static let `baseURL`: JSString = "baseURL" - @usableFromInline static let `before`: JSString = "before" - @usableFromInline static let `beginPath`: JSString = "beginPath" - @usableFromInline static let `behavior`: JSString = "behavior" - @usableFromInline static let `bezierCurveTo`: JSString = "bezierCurveTo" - @usableFromInline static let `bgColor`: JSString = "bgColor" - @usableFromInline static let `bitrate`: JSString = "bitrate" - @usableFromInline static let `bitrateMode`: JSString = "bitrateMode" - @usableFromInline static let `bitsPerSecond`: JSString = "bitsPerSecond" - @usableFromInline static let `blob`: JSString = "blob" - @usableFromInline static let `block`: JSString = "block" - @usableFromInline static let `blocking`: JSString = "blocking" - @usableFromInline static let `blur`: JSString = "blur" - @usableFromInline static let `body`: JSString = "body" - @usableFromInline static let `bodyUsed`: JSString = "bodyUsed" - @usableFromInline static let `booleanValue`: JSString = "booleanValue" - @usableFromInline static let `border`: JSString = "border" - @usableFromInline static let `bottom`: JSString = "bottom" - @usableFromInline static let `box`: JSString = "box" - @usableFromInline static let `btoa`: JSString = "btoa" - @usableFromInline static let `bubbles`: JSString = "bubbles" - @usableFromInline static let `buffered`: JSString = "buffered" - @usableFromInline static let `button`: JSString = "button" - @usableFromInline static let `buttons`: JSString = "buttons" - @usableFromInline static let `byobRequest`: JSString = "byobRequest" - @usableFromInline static let `byteLength`: JSString = "byteLength" - @usableFromInline static let `c`: JSString = "c" - @usableFromInline static let `cache`: JSString = "cache" - @usableFromInline static let `cacheName`: JSString = "cacheName" - @usableFromInline static let `caches`: JSString = "caches" - @usableFromInline static let `canConstructInDedicatedWorker`: JSString = "canConstructInDedicatedWorker" - @usableFromInline static let `canGoBack`: JSString = "canGoBack" - @usableFromInline static let `canGoForward`: JSString = "canGoForward" - @usableFromInline static let `canIntercept`: JSString = "canIntercept" - @usableFromInline static let `canPlayType`: JSString = "canPlayType" - @usableFromInline static let `cancel`: JSString = "cancel" - @usableFromInline static let `cancelAnimationFrame`: JSString = "cancelAnimationFrame" - @usableFromInline static let `cancelBubble`: JSString = "cancelBubble" - @usableFromInline static let `cancelable`: JSString = "cancelable" - @usableFromInline static let `canvas`: JSString = "canvas" - @usableFromInline static let `caption`: JSString = "caption" - @usableFromInline static let `capture`: JSString = "capture" - @usableFromInline static let `captureEvents`: JSString = "captureEvents" - @usableFromInline static let `caretPositionFromPoint`: JSString = "caretPositionFromPoint" - @usableFromInline static let `cellIndex`: JSString = "cellIndex" - @usableFromInline static let `cellPadding`: JSString = "cellPadding" - @usableFromInline static let `cellSpacing`: JSString = "cellSpacing" - @usableFromInline static let `cells`: JSString = "cells" - @usableFromInline static let `ch`: JSString = "ch" - @usableFromInline static let `chOff`: JSString = "chOff" - @usableFromInline static let `changeType`: JSString = "changeType" - @usableFromInline static let `changedTouches`: JSString = "changedTouches" - @usableFromInline static let `channelCount`: JSString = "channelCount" - @usableFromInline static let `charCode`: JSString = "charCode" - @usableFromInline static let `characterData`: JSString = "characterData" - @usableFromInline static let `characterDataOldValue`: JSString = "characterDataOldValue" - @usableFromInline static let `characterSet`: JSString = "characterSet" - @usableFromInline static let `charset`: JSString = "charset" - @usableFromInline static let `checkOpacity`: JSString = "checkOpacity" - @usableFromInline static let `checkValidity`: JSString = "checkValidity" - @usableFromInline static let `checkVisibility`: JSString = "checkVisibility" - @usableFromInline static let `checkVisibilityCSS`: JSString = "checkVisibilityCSS" - @usableFromInline static let `checked`: JSString = "checked" - @usableFromInline static let `childElementCount`: JSString = "childElementCount" - @usableFromInline static let `childList`: JSString = "childList" - @usableFromInline static let `childNodes`: JSString = "childNodes" - @usableFromInline static let `children`: JSString = "children" - @usableFromInline static let `cite`: JSString = "cite" - @usableFromInline static let `classList`: JSString = "classList" - @usableFromInline static let `className`: JSString = "className" - @usableFromInline static let `clear`: JSString = "clear" - @usableFromInline static let `clearData`: JSString = "clearData" - @usableFromInline static let `clearInterval`: JSString = "clearInterval" - @usableFromInline static let `clearLiveSeekableRange`: JSString = "clearLiveSeekableRange" - @usableFromInline static let `clearParameters`: JSString = "clearParameters" - @usableFromInline static let `clearRect`: JSString = "clearRect" - @usableFromInline static let `clearTimeout`: JSString = "clearTimeout" - @usableFromInline static let `click`: JSString = "click" - @usableFromInline static let `clientHeight`: JSString = "clientHeight" - @usableFromInline static let `clientId`: JSString = "clientId" - @usableFromInline static let `clientInformation`: JSString = "clientInformation" - @usableFromInline static let `clientLeft`: JSString = "clientLeft" - @usableFromInline static let `clientTop`: JSString = "clientTop" - @usableFromInline static let `clientWidth`: JSString = "clientWidth" - @usableFromInline static let `clientX`: JSString = "clientX" - @usableFromInline static let `clientY`: JSString = "clientY" - @usableFromInline static let `clip`: JSString = "clip" - @usableFromInline static let `clone`: JSString = "clone" - @usableFromInline static let `cloneContents`: JSString = "cloneContents" - @usableFromInline static let `cloneNode`: JSString = "cloneNode" - @usableFromInline static let `cloneRange`: JSString = "cloneRange" - @usableFromInline static let `close`: JSString = "close" - @usableFromInline static let `closePath`: JSString = "closePath" - @usableFromInline static let `closed`: JSString = "closed" - @usableFromInline static let `closest`: JSString = "closest" - @usableFromInline static let `code`: JSString = "code" - @usableFromInline static let `codeBase`: JSString = "codeBase" - @usableFromInline static let `codeType`: JSString = "codeType" - @usableFromInline static let `codec`: JSString = "codec" - @usableFromInline static let `codedHeight`: JSString = "codedHeight" - @usableFromInline static let `codedRect`: JSString = "codedRect" - @usableFromInline static let `codedWidth`: JSString = "codedWidth" - @usableFromInline static let `colSpan`: JSString = "colSpan" - @usableFromInline static let `collapse`: JSString = "collapse" - @usableFromInline static let `collapsed`: JSString = "collapsed" - @usableFromInline static let `colno`: JSString = "colno" - @usableFromInline static let `color`: JSString = "color" - @usableFromInline static let `colorDepth`: JSString = "colorDepth" - @usableFromInline static let `colorSpace`: JSString = "colorSpace" - @usableFromInline static let `colorSpaceConversion`: JSString = "colorSpaceConversion" - @usableFromInline static let `cols`: JSString = "cols" - @usableFromInline static let `commit`: JSString = "commit" - @usableFromInline static let `committed`: JSString = "committed" - @usableFromInline static let `commonAncestorContainer`: JSString = "commonAncestorContainer" - @usableFromInline static let `compact`: JSString = "compact" - @usableFromInline static let `compareBoundaryPoints`: JSString = "compareBoundaryPoints" - @usableFromInline static let `compareDocumentPosition`: JSString = "compareDocumentPosition" - @usableFromInline static let `comparePoint`: JSString = "comparePoint" - @usableFromInline static let `compatMode`: JSString = "compatMode" - @usableFromInline static let `complete`: JSString = "complete" - @usableFromInline static let `completeFramesOnly`: JSString = "completeFramesOnly" - @usableFromInline static let `completed`: JSString = "completed" - @usableFromInline static let `composed`: JSString = "composed" - @usableFromInline static let `composedPath`: JSString = "composedPath" - @usableFromInline static let `config`: JSString = "config" - @usableFromInline static let `configure`: JSString = "configure" - @usableFromInline static let `confirm`: JSString = "confirm" - @usableFromInline static let `constraint`: JSString = "constraint" - @usableFromInline static let `contains`: JSString = "contains" - @usableFromInline static let `content`: JSString = "content" - @usableFromInline static let `contentDocument`: JSString = "contentDocument" - @usableFromInline static let `contentEditable`: JSString = "contentEditable" - @usableFromInline static let `contentType`: JSString = "contentType" - @usableFromInline static let `contentWindow`: JSString = "contentWindow" - @usableFromInline static let `control`: JSString = "control" - @usableFromInline static let `controller`: JSString = "controller" - @usableFromInline static let `controls`: JSString = "controls" - @usableFromInline static let `convertPointFromNode`: JSString = "convertPointFromNode" - @usableFromInline static let `convertQuadFromNode`: JSString = "convertQuadFromNode" - @usableFromInline static let `convertRectFromNode`: JSString = "convertRectFromNode" - @usableFromInline static let `convertToBlob`: JSString = "convertToBlob" - @usableFromInline static let `cookie`: JSString = "cookie" - @usableFromInline static let `cookieEnabled`: JSString = "cookieEnabled" - @usableFromInline static let `coords`: JSString = "coords" - @usableFromInline static let `copyTo`: JSString = "copyTo" - @usableFromInline static let `createAttribute`: JSString = "createAttribute" - @usableFromInline static let `createAttributeNS`: JSString = "createAttributeNS" - @usableFromInline static let `createCDATASection`: JSString = "createCDATASection" - @usableFromInline static let `createCaption`: JSString = "createCaption" - @usableFromInline static let `createComment`: JSString = "createComment" - @usableFromInline static let `createConicGradient`: JSString = "createConicGradient" - @usableFromInline static let `createDocument`: JSString = "createDocument" - @usableFromInline static let `createDocumentFragment`: JSString = "createDocumentFragment" - @usableFromInline static let `createDocumentType`: JSString = "createDocumentType" - @usableFromInline static let `createElement`: JSString = "createElement" - @usableFromInline static let `createElementNS`: JSString = "createElementNS" - @usableFromInline static let `createEvent`: JSString = "createEvent" - @usableFromInline static let `createHTML`: JSString = "createHTML" - @usableFromInline static let `createHTMLDocument`: JSString = "createHTMLDocument" - @usableFromInline static let `createImageBitmap`: JSString = "createImageBitmap" - @usableFromInline static let `createImageData`: JSString = "createImageData" - @usableFromInline static let `createLinearGradient`: JSString = "createLinearGradient" - @usableFromInline static let `createObjectURL`: JSString = "createObjectURL" - @usableFromInline static let `createPattern`: JSString = "createPattern" - @usableFromInline static let `createProcessingInstruction`: JSString = "createProcessingInstruction" - @usableFromInline static let `createRadialGradient`: JSString = "createRadialGradient" - @usableFromInline static let `createRange`: JSString = "createRange" - @usableFromInline static let `createScript`: JSString = "createScript" - @usableFromInline static let `createScriptURL`: JSString = "createScriptURL" - @usableFromInline static let `createTBody`: JSString = "createTBody" - @usableFromInline static let `createTFoot`: JSString = "createTFoot" - @usableFromInline static let `createTHead`: JSString = "createTHead" - @usableFromInline static let `createTextNode`: JSString = "createTextNode" - @usableFromInline static let `credentials`: JSString = "credentials" - @usableFromInline static let `crossOrigin`: JSString = "crossOrigin" - @usableFromInline static let `crossOriginIsolated`: JSString = "crossOriginIsolated" - @usableFromInline static let `ctrlKey`: JSString = "ctrlKey" - @usableFromInline static let `cues`: JSString = "cues" - @usableFromInline static let `currentEntry`: JSString = "currentEntry" - @usableFromInline static let `currentNode`: JSString = "currentNode" - @usableFromInline static let `currentScript`: JSString = "currentScript" - @usableFromInline static let `currentSrc`: JSString = "currentSrc" - @usableFromInline static let `currentTarget`: JSString = "currentTarget" - @usableFromInline static let `currentTime`: JSString = "currentTime" - @usableFromInline static let `customElements`: JSString = "customElements" - @usableFromInline static let `customError`: JSString = "customError" - @usableFromInline static let `d`: JSString = "d" - @usableFromInline static let `data`: JSString = "data" - @usableFromInline static let `dataTransfer`: JSString = "dataTransfer" - @usableFromInline static let `dataset`: JSString = "dataset" - @usableFromInline static let `dateTime`: JSString = "dateTime" - @usableFromInline static let `declare`: JSString = "declare" - @usableFromInline static let `decode`: JSString = "decode" - @usableFromInline static let `decodeQueueSize`: JSString = "decodeQueueSize" - @usableFromInline static let `decoderConfig`: JSString = "decoderConfig" - @usableFromInline static let `decoding`: JSString = "decoding" + @usableFromInline static let aspectRatio: JSString = "aspectRatio" + @usableFromInline static let assign: JSString = "assign" + @usableFromInline static let assignedElements: JSString = "assignedElements" + @usableFromInline static let assignedNodes: JSString = "assignedNodes" + @usableFromInline static let assignedSlot: JSString = "assignedSlot" + @usableFromInline static let async: JSString = "async" + @usableFromInline static let atob: JSString = "atob" + @usableFromInline static let attachInternals: JSString = "attachInternals" + @usableFromInline static let attachShadow: JSString = "attachShadow" + @usableFromInline static let attrChange: JSString = "attrChange" + @usableFromInline static let attrName: JSString = "attrName" + @usableFromInline static let attributeFilter: JSString = "attributeFilter" + @usableFromInline static let attributeName: JSString = "attributeName" + @usableFromInline static let attributeNamespace: JSString = "attributeNamespace" + @usableFromInline static let attributeOldValue: JSString = "attributeOldValue" + @usableFromInline static let attributes: JSString = "attributes" + @usableFromInline static let audio: JSString = "audio" + @usableFromInline static let audioBitrateMode: JSString = "audioBitrateMode" + @usableFromInline static let audioBitsPerSecond: JSString = "audioBitsPerSecond" + @usableFromInline static let audioTracks: JSString = "audioTracks" + @usableFromInline static let autoAllocateChunkSize: JSString = "autoAllocateChunkSize" + @usableFromInline static let autoGainControl: JSString = "autoGainControl" + @usableFromInline static let autocapitalize: JSString = "autocapitalize" + @usableFromInline static let autocomplete: JSString = "autocomplete" + @usableFromInline static let autofocus: JSString = "autofocus" + @usableFromInline static let autoplay: JSString = "autoplay" + @usableFromInline static let availHeight: JSString = "availHeight" + @usableFromInline static let availWidth: JSString = "availWidth" + @usableFromInline static let axis: JSString = "axis" + @usableFromInline static let azimuthAngle: JSString = "azimuthAngle" + @usableFromInline static let b: JSString = "b" + @usableFromInline static let back: JSString = "back" + @usableFromInline static let background: JSString = "background" + @usableFromInline static let badInput: JSString = "badInput" + @usableFromInline static let baseURI: JSString = "baseURI" + @usableFromInline static let before: JSString = "before" + @usableFromInline static let beginPath: JSString = "beginPath" + @usableFromInline static let behavior: JSString = "behavior" + @usableFromInline static let bezierCurveTo: JSString = "bezierCurveTo" + @usableFromInline static let bgColor: JSString = "bgColor" + @usableFromInline static let bitrate: JSString = "bitrate" + @usableFromInline static let bitrateMode: JSString = "bitrateMode" + @usableFromInline static let bitsPerSecond: JSString = "bitsPerSecond" + @usableFromInline static let blob: JSString = "blob" + @usableFromInline static let block: JSString = "block" + @usableFromInline static let blocking: JSString = "blocking" + @usableFromInline static let blur: JSString = "blur" + @usableFromInline static let body: JSString = "body" + @usableFromInline static let bodyUsed: JSString = "bodyUsed" + @usableFromInline static let booleanValue: JSString = "booleanValue" + @usableFromInline static let border: JSString = "border" + @usableFromInline static let bottom: JSString = "bottom" + @usableFromInline static let box: JSString = "box" + @usableFromInline static let btoa: JSString = "btoa" + @usableFromInline static let bubbles: JSString = "bubbles" + @usableFromInline static let buffered: JSString = "buffered" + @usableFromInline static let button: JSString = "button" + @usableFromInline static let buttons: JSString = "buttons" + @usableFromInline static let byobRequest: JSString = "byobRequest" + @usableFromInline static let byteLength: JSString = "byteLength" + @usableFromInline static let c: JSString = "c" + @usableFromInline static let cache: JSString = "cache" + @usableFromInline static let cacheName: JSString = "cacheName" + @usableFromInline static let caches: JSString = "caches" + @usableFromInline static let canConstructInDedicatedWorker: JSString = "canConstructInDedicatedWorker" + @usableFromInline static let canGoBack: JSString = "canGoBack" + @usableFromInline static let canGoForward: JSString = "canGoForward" + @usableFromInline static let canIntercept: JSString = "canIntercept" + @usableFromInline static let canPlayType: JSString = "canPlayType" + @usableFromInline static let cancel: JSString = "cancel" + @usableFromInline static let cancelAnimationFrame: JSString = "cancelAnimationFrame" + @usableFromInline static let cancelBubble: JSString = "cancelBubble" + @usableFromInline static let cancelable: JSString = "cancelable" + @usableFromInline static let canvas: JSString = "canvas" + @usableFromInline static let caption: JSString = "caption" + @usableFromInline static let capture: JSString = "capture" + @usableFromInline static let captureEvents: JSString = "captureEvents" + @usableFromInline static let caretPositionFromPoint: JSString = "caretPositionFromPoint" + @usableFromInline static let cellIndex: JSString = "cellIndex" + @usableFromInline static let cellPadding: JSString = "cellPadding" + @usableFromInline static let cellSpacing: JSString = "cellSpacing" + @usableFromInline static let cells: JSString = "cells" + @usableFromInline static let ch: JSString = "ch" + @usableFromInline static let chOff: JSString = "chOff" + @usableFromInline static let changeType: JSString = "changeType" + @usableFromInline static let changedTouches: JSString = "changedTouches" + @usableFromInline static let channelCount: JSString = "channelCount" + @usableFromInline static let charCode: JSString = "charCode" + @usableFromInline static let characterData: JSString = "characterData" + @usableFromInline static let characterDataOldValue: JSString = "characterDataOldValue" + @usableFromInline static let characterSet: JSString = "characterSet" + @usableFromInline static let charset: JSString = "charset" + @usableFromInline static let checkOpacity: JSString = "checkOpacity" + @usableFromInline static let checkValidity: JSString = "checkValidity" + @usableFromInline static let checkVisibility: JSString = "checkVisibility" + @usableFromInline static let checkVisibilityCSS: JSString = "checkVisibilityCSS" + @usableFromInline static let checked: JSString = "checked" + @usableFromInline static let childElementCount: JSString = "childElementCount" + @usableFromInline static let childList: JSString = "childList" + @usableFromInline static let childNodes: JSString = "childNodes" + @usableFromInline static let children: JSString = "children" + @usableFromInline static let cite: JSString = "cite" + @usableFromInline static let classList: JSString = "classList" + @usableFromInline static let className: JSString = "className" + @usableFromInline static let clear: JSString = "clear" + @usableFromInline static let clearData: JSString = "clearData" + @usableFromInline static let clearInterval: JSString = "clearInterval" + @usableFromInline static let clearLiveSeekableRange: JSString = "clearLiveSeekableRange" + @usableFromInline static let clearParameters: JSString = "clearParameters" + @usableFromInline static let clearRect: JSString = "clearRect" + @usableFromInline static let clearTimeout: JSString = "clearTimeout" + @usableFromInline static let click: JSString = "click" + @usableFromInline static let clientHeight: JSString = "clientHeight" + @usableFromInline static let clientId: JSString = "clientId" + @usableFromInline static let clientInformation: JSString = "clientInformation" + @usableFromInline static let clientLeft: JSString = "clientLeft" + @usableFromInline static let clientTop: JSString = "clientTop" + @usableFromInline static let clientWidth: JSString = "clientWidth" + @usableFromInline static let clientX: JSString = "clientX" + @usableFromInline static let clientY: JSString = "clientY" + @usableFromInline static let clip: JSString = "clip" + @usableFromInline static let clone: JSString = "clone" + @usableFromInline static let cloneContents: JSString = "cloneContents" + @usableFromInline static let cloneNode: JSString = "cloneNode" + @usableFromInline static let cloneRange: JSString = "cloneRange" + @usableFromInline static let close: JSString = "close" + @usableFromInline static let closePath: JSString = "closePath" + @usableFromInline static let closed: JSString = "closed" + @usableFromInline static let closest: JSString = "closest" + @usableFromInline static let code: JSString = "code" + @usableFromInline static let codeBase: JSString = "codeBase" + @usableFromInline static let codeType: JSString = "codeType" + @usableFromInline static let codec: JSString = "codec" + @usableFromInline static let codedHeight: JSString = "codedHeight" + @usableFromInline static let codedRect: JSString = "codedRect" + @usableFromInline static let codedWidth: JSString = "codedWidth" + @usableFromInline static let colSpan: JSString = "colSpan" + @usableFromInline static let collapse: JSString = "collapse" + @usableFromInline static let collapsed: JSString = "collapsed" + @usableFromInline static let colno: JSString = "colno" + @usableFromInline static let color: JSString = "color" + @usableFromInline static let colorDepth: JSString = "colorDepth" + @usableFromInline static let colorSpace: JSString = "colorSpace" + @usableFromInline static let colorSpaceConversion: JSString = "colorSpaceConversion" + @usableFromInline static let cols: JSString = "cols" + @usableFromInline static let commit: JSString = "commit" + @usableFromInline static let committed: JSString = "committed" + @usableFromInline static let commonAncestorContainer: JSString = "commonAncestorContainer" + @usableFromInline static let compact: JSString = "compact" + @usableFromInline static let compareBoundaryPoints: JSString = "compareBoundaryPoints" + @usableFromInline static let compareDocumentPosition: JSString = "compareDocumentPosition" + @usableFromInline static let comparePoint: JSString = "comparePoint" + @usableFromInline static let compatMode: JSString = "compatMode" + @usableFromInline static let complete: JSString = "complete" + @usableFromInline static let completeFramesOnly: JSString = "completeFramesOnly" + @usableFromInline static let completed: JSString = "completed" + @usableFromInline static let composed: JSString = "composed" + @usableFromInline static let composedPath: JSString = "composedPath" + @usableFromInline static let config: JSString = "config" + @usableFromInline static let configure: JSString = "configure" + @usableFromInline static let confirm: JSString = "confirm" + @usableFromInline static let constraint: JSString = "constraint" + @usableFromInline static let contains: JSString = "contains" + @usableFromInline static let content: JSString = "content" + @usableFromInline static let contentDocument: JSString = "contentDocument" + @usableFromInline static let contentEditable: JSString = "contentEditable" + @usableFromInline static let contentType: JSString = "contentType" + @usableFromInline static let contentWindow: JSString = "contentWindow" + @usableFromInline static let control: JSString = "control" + @usableFromInline static let controller: JSString = "controller" + @usableFromInline static let controls: JSString = "controls" + @usableFromInline static let convertPointFromNode: JSString = "convertPointFromNode" + @usableFromInline static let convertQuadFromNode: JSString = "convertQuadFromNode" + @usableFromInline static let convertRectFromNode: JSString = "convertRectFromNode" + @usableFromInline static let convertToBlob: JSString = "convertToBlob" + @usableFromInline static let cookie: JSString = "cookie" + @usableFromInline static let cookieEnabled: JSString = "cookieEnabled" + @usableFromInline static let coords: JSString = "coords" + @usableFromInline static let copyTo: JSString = "copyTo" + @usableFromInline static let createAttribute: JSString = "createAttribute" + @usableFromInline static let createAttributeNS: JSString = "createAttributeNS" + @usableFromInline static let createCDATASection: JSString = "createCDATASection" + @usableFromInline static let createCaption: JSString = "createCaption" + @usableFromInline static let createComment: JSString = "createComment" + @usableFromInline static let createConicGradient: JSString = "createConicGradient" + @usableFromInline static let createDocument: JSString = "createDocument" + @usableFromInline static let createDocumentFragment: JSString = "createDocumentFragment" + @usableFromInline static let createDocumentType: JSString = "createDocumentType" + @usableFromInline static let createElement: JSString = "createElement" + @usableFromInline static let createElementNS: JSString = "createElementNS" + @usableFromInline static let createEvent: JSString = "createEvent" + @usableFromInline static let createHTMLDocument: JSString = "createHTMLDocument" + @usableFromInline static let createImageBitmap: JSString = "createImageBitmap" + @usableFromInline static let createImageData: JSString = "createImageData" + @usableFromInline static let createLinearGradient: JSString = "createLinearGradient" + @usableFromInline static let createObjectURL: JSString = "createObjectURL" + @usableFromInline static let createPattern: JSString = "createPattern" + @usableFromInline static let createProcessingInstruction: JSString = "createProcessingInstruction" + @usableFromInline static let createRadialGradient: JSString = "createRadialGradient" + @usableFromInline static let createRange: JSString = "createRange" + @usableFromInline static let createTBody: JSString = "createTBody" + @usableFromInline static let createTFoot: JSString = "createTFoot" + @usableFromInline static let createTHead: JSString = "createTHead" + @usableFromInline static let createTextNode: JSString = "createTextNode" + @usableFromInline static let credentials: JSString = "credentials" + @usableFromInline static let crossOrigin: JSString = "crossOrigin" + @usableFromInline static let crossOriginIsolated: JSString = "crossOriginIsolated" + @usableFromInline static let ctrlKey: JSString = "ctrlKey" + @usableFromInline static let cues: JSString = "cues" + @usableFromInline static let currentEntry: JSString = "currentEntry" + @usableFromInline static let currentNode: JSString = "currentNode" + @usableFromInline static let currentScript: JSString = "currentScript" + @usableFromInline static let currentSrc: JSString = "currentSrc" + @usableFromInline static let currentTarget: JSString = "currentTarget" + @usableFromInline static let currentTime: JSString = "currentTime" + @usableFromInline static let customElements: JSString = "customElements" + @usableFromInline static let customError: JSString = "customError" + @usableFromInline static let d: JSString = "d" + @usableFromInline static let data: JSString = "data" + @usableFromInline static let dataTransfer: JSString = "dataTransfer" + @usableFromInline static let dataset: JSString = "dataset" + @usableFromInline static let dateTime: JSString = "dateTime" + @usableFromInline static let declare: JSString = "declare" + @usableFromInline static let decode: JSString = "decode" + @usableFromInline static let decodeQueueSize: JSString = "decodeQueueSize" + @usableFromInline static let decoderConfig: JSString = "decoderConfig" + @usableFromInline static let decoding: JSString = "decoding" @usableFromInline static let `default`: JSString = "default" - @usableFromInline static let `defaultChecked`: JSString = "defaultChecked" - @usableFromInline static let `defaultMuted`: JSString = "defaultMuted" - @usableFromInline static let `defaultPlaybackRate`: JSString = "defaultPlaybackRate" - @usableFromInline static let `defaultPolicy`: JSString = "defaultPolicy" - @usableFromInline static let `defaultPrevented`: JSString = "defaultPrevented" - @usableFromInline static let `defaultSelected`: JSString = "defaultSelected" - @usableFromInline static let `defaultValue`: JSString = "defaultValue" - @usableFromInline static let `defaultView`: JSString = "defaultView" + @usableFromInline static let defaultChecked: JSString = "defaultChecked" + @usableFromInline static let defaultMuted: JSString = "defaultMuted" + @usableFromInline static let defaultPlaybackRate: JSString = "defaultPlaybackRate" + @usableFromInline static let defaultPrevented: JSString = "defaultPrevented" + @usableFromInline static let defaultSelected: JSString = "defaultSelected" + @usableFromInline static let defaultValue: JSString = "defaultValue" + @usableFromInline static let defaultView: JSString = "defaultView" @usableFromInline static let `defer`: JSString = "defer" - @usableFromInline static let `define`: JSString = "define" - @usableFromInline static let `delegatesFocus`: JSString = "delegatesFocus" - @usableFromInline static let `delete`: JSString = "delete" - @usableFromInline static let `deleteCaption`: JSString = "deleteCaption" - @usableFromInline static let `deleteCell`: JSString = "deleteCell" - @usableFromInline static let `deleteContents`: JSString = "deleteContents" - @usableFromInline static let `deleteData`: JSString = "deleteData" - @usableFromInline static let `deleteRow`: JSString = "deleteRow" - @usableFromInline static let `deleteTFoot`: JSString = "deleteTFoot" - @usableFromInline static let `deleteTHead`: JSString = "deleteTHead" - @usableFromInline static let `deltaMode`: JSString = "deltaMode" - @usableFromInline static let `deltaX`: JSString = "deltaX" - @usableFromInline static let `deltaY`: JSString = "deltaY" - @usableFromInline static let `deltaZ`: JSString = "deltaZ" - @usableFromInline static let `description`: JSString = "description" - @usableFromInline static let `descriptor`: JSString = "descriptor" - @usableFromInline static let `designMode`: JSString = "designMode" - @usableFromInline static let `desiredHeight`: JSString = "desiredHeight" - @usableFromInline static let `desiredSize`: JSString = "desiredSize" - @usableFromInline static let `desiredWidth`: JSString = "desiredWidth" - @usableFromInline static let `destination`: JSString = "destination" - @usableFromInline static let `desynchronized`: JSString = "desynchronized" - @usableFromInline static let `detach`: JSString = "detach" - @usableFromInline static let `detail`: JSString = "detail" - @usableFromInline static let `deviceId`: JSString = "deviceId" - @usableFromInline static let `devicePixelRatio`: JSString = "devicePixelRatio" - @usableFromInline static let `dir`: JSString = "dir" - @usableFromInline static let `dirName`: JSString = "dirName" - @usableFromInline static let `direction`: JSString = "direction" - @usableFromInline static let `disable`: JSString = "disable" - @usableFromInline static let `disabled`: JSString = "disabled" - @usableFromInline static let `disconnect`: JSString = "disconnect" - @usableFromInline static let `dispatchEvent`: JSString = "dispatchEvent" - @usableFromInline static let `displayAspectHeight`: JSString = "displayAspectHeight" - @usableFromInline static let `displayAspectWidth`: JSString = "displayAspectWidth" - @usableFromInline static let `displayHeight`: JSString = "displayHeight" - @usableFromInline static let `displayWidth`: JSString = "displayWidth" - @usableFromInline static let `doctype`: JSString = "doctype" - @usableFromInline static let `document`: JSString = "document" - @usableFromInline static let `documentElement`: JSString = "documentElement" - @usableFromInline static let `documentURI`: JSString = "documentURI" - @usableFromInline static let `domain`: JSString = "domain" - @usableFromInline static let `done`: JSString = "done" - @usableFromInline static let `download`: JSString = "download" - @usableFromInline static let `downloadRequest`: JSString = "downloadRequest" - @usableFromInline static let `draggable`: JSString = "draggable" - @usableFromInline static let `drawFocusIfNeeded`: JSString = "drawFocusIfNeeded" - @usableFromInline static let `drawImage`: JSString = "drawImage" - @usableFromInline static let `dropEffect`: JSString = "dropEffect" - @usableFromInline static let `droppedEntriesCount`: JSString = "droppedEntriesCount" - @usableFromInline static let `duplex`: JSString = "duplex" - @usableFromInline static let `duration`: JSString = "duration" - @usableFromInline static let `e`: JSString = "e" - @usableFromInline static let `echoCancellation`: JSString = "echoCancellation" - @usableFromInline static let `effectAllowed`: JSString = "effectAllowed" - @usableFromInline static let `element`: JSString = "element" - @usableFromInline static let `elementFromPoint`: JSString = "elementFromPoint" - @usableFromInline static let `elements`: JSString = "elements" - @usableFromInline static let `elementsFromPoint`: JSString = "elementsFromPoint" - @usableFromInline static let `ellipse`: JSString = "ellipse" - @usableFromInline static let `emHeightAscent`: JSString = "emHeightAscent" - @usableFromInline static let `emHeightDescent`: JSString = "emHeightDescent" - @usableFromInline static let `embeds`: JSString = "embeds" - @usableFromInline static let `emptyHTML`: JSString = "emptyHTML" - @usableFromInline static let `emptyScript`: JSString = "emptyScript" - @usableFromInline static let `enable`: JSString = "enable" - @usableFromInline static let `enabled`: JSString = "enabled" - @usableFromInline static let `enabledPlugin`: JSString = "enabledPlugin" - @usableFromInline static let `encode`: JSString = "encode" - @usableFromInline static let `encodeQueueSize`: JSString = "encodeQueueSize" - @usableFromInline static let `encoding`: JSString = "encoding" - @usableFromInline static let `enctype`: JSString = "enctype" - @usableFromInline static let `end`: JSString = "end" - @usableFromInline static let `endContainer`: JSString = "endContainer" - @usableFromInline static let `endOfStream`: JSString = "endOfStream" - @usableFromInline static let `endOffset`: JSString = "endOffset" - @usableFromInline static let `endTime`: JSString = "endTime" - @usableFromInline static let `ended`: JSString = "ended" - @usableFromInline static let `endings`: JSString = "endings" - @usableFromInline static let `enqueue`: JSString = "enqueue" - @usableFromInline static let `enterKeyHint`: JSString = "enterKeyHint" - @usableFromInline static let `entries`: JSString = "entries" - @usableFromInline static let `entryType`: JSString = "entryType" - @usableFromInline static let `entryTypes`: JSString = "entryTypes" - @usableFromInline static let `enumerateDevices`: JSString = "enumerateDevices" - @usableFromInline static let `error`: JSString = "error" - @usableFromInline static let `evaluate`: JSString = "evaluate" - @usableFromInline static let `event`: JSString = "event" - @usableFromInline static let `eventPhase`: JSString = "eventPhase" - @usableFromInline static let `exact`: JSString = "exact" - @usableFromInline static let `exec`: JSString = "exec" - @usableFromInline static let `execCommand`: JSString = "execCommand" - @usableFromInline static let `extends`: JSString = "extends" - @usableFromInline static let `external`: JSString = "external" - @usableFromInline static let `extractContents`: JSString = "extractContents" - @usableFromInline static let `f`: JSString = "f" - @usableFromInline static let `face`: JSString = "face" - @usableFromInline static let `facingMode`: JSString = "facingMode" - @usableFromInline static let `fastSeek`: JSString = "fastSeek" - @usableFromInline static let `fetch`: JSString = "fetch" - @usableFromInline static let `fetchPriority`: JSString = "fetchPriority" - @usableFromInline static let `fgColor`: JSString = "fgColor" - @usableFromInline static let `filename`: JSString = "filename" - @usableFromInline static let `files`: JSString = "files" - @usableFromInline static let `fill`: JSString = "fill" - @usableFromInline static let `fillRect`: JSString = "fillRect" - @usableFromInline static let `fillStyle`: JSString = "fillStyle" - @usableFromInline static let `fillText`: JSString = "fillText" - @usableFromInline static let `filter`: JSString = "filter" - @usableFromInline static let `finished`: JSString = "finished" - @usableFromInline static let `firstChild`: JSString = "firstChild" - @usableFromInline static let `firstElementChild`: JSString = "firstElementChild" - @usableFromInline static let `flatten`: JSString = "flatten" - @usableFromInline static let `flipX`: JSString = "flipX" - @usableFromInline static let `flipY`: JSString = "flipY" - @usableFromInline static let `flush`: JSString = "flush" - @usableFromInline static let `focus`: JSString = "focus" - @usableFromInline static let `focusReset`: JSString = "focusReset" - @usableFromInline static let `focusVisible`: JSString = "focusVisible" - @usableFromInline static let `font`: JSString = "font" - @usableFromInline static let `fontBoundingBoxAscent`: JSString = "fontBoundingBoxAscent" - @usableFromInline static let `fontBoundingBoxDescent`: JSString = "fontBoundingBoxDescent" - @usableFromInline static let `fontKerning`: JSString = "fontKerning" - @usableFromInline static let `fontStretch`: JSString = "fontStretch" - @usableFromInline static let `fontVariantCaps`: JSString = "fontVariantCaps" - @usableFromInline static let `force`: JSString = "force" - @usableFromInline static let `form`: JSString = "form" - @usableFromInline static let `formAction`: JSString = "formAction" - @usableFromInline static let `formData`: JSString = "formData" - @usableFromInline static let `formEnctype`: JSString = "formEnctype" - @usableFromInline static let `formMethod`: JSString = "formMethod" - @usableFromInline static let `formNoValidate`: JSString = "formNoValidate" - @usableFromInline static let `formTarget`: JSString = "formTarget" - @usableFromInline static let `format`: JSString = "format" - @usableFromInline static let `forms`: JSString = "forms" - @usableFromInline static let `forward`: JSString = "forward" - @usableFromInline static let `frame`: JSString = "frame" - @usableFromInline static let `frameBorder`: JSString = "frameBorder" - @usableFromInline static let `frameCount`: JSString = "frameCount" - @usableFromInline static let `frameElement`: JSString = "frameElement" - @usableFromInline static let `frameIndex`: JSString = "frameIndex" - @usableFromInline static let `frameOffset`: JSString = "frameOffset" - @usableFromInline static let `frameRate`: JSString = "frameRate" - @usableFromInline static let `framerate`: JSString = "framerate" - @usableFromInline static let `frames`: JSString = "frames" - @usableFromInline static let `from`: JSString = "from" - @usableFromInline static let `fromBox`: JSString = "fromBox" - @usableFromInline static let `fromFloat32Array`: JSString = "fromFloat32Array" - @usableFromInline static let `fromFloat64Array`: JSString = "fromFloat64Array" - @usableFromInline static let `fromLiteral`: JSString = "fromLiteral" - @usableFromInline static let `fromMatrix`: JSString = "fromMatrix" - @usableFromInline static let `fromPoint`: JSString = "fromPoint" - @usableFromInline static let `fromQuad`: JSString = "fromQuad" - @usableFromInline static let `fromRect`: JSString = "fromRect" - @usableFromInline static let `fullRange`: JSString = "fullRange" - @usableFromInline static let `get`: JSString = "get" - @usableFromInline static let `getAll`: JSString = "getAll" - @usableFromInline static let `getAllResponseHeaders`: JSString = "getAllResponseHeaders" - @usableFromInline static let `getAsFile`: JSString = "getAsFile" - @usableFromInline static let `getAsString`: JSString = "getAsString" - @usableFromInline static let `getAttribute`: JSString = "getAttribute" - @usableFromInline static let `getAttributeNS`: JSString = "getAttributeNS" - @usableFromInline static let `getAttributeNames`: JSString = "getAttributeNames" - @usableFromInline static let `getAttributeNode`: JSString = "getAttributeNode" - @usableFromInline static let `getAttributeNodeNS`: JSString = "getAttributeNodeNS" - @usableFromInline static let `getAttributeType`: JSString = "getAttributeType" - @usableFromInline static let `getAudioTracks`: JSString = "getAudioTracks" - @usableFromInline static let `getBoundingClientRect`: JSString = "getBoundingClientRect" - @usableFromInline static let `getBounds`: JSString = "getBounds" - @usableFromInline static let `getBoxQuads`: JSString = "getBoxQuads" - @usableFromInline static let `getCapabilities`: JSString = "getCapabilities" - @usableFromInline static let `getClientRect`: JSString = "getClientRect" - @usableFromInline static let `getClientRects`: JSString = "getClientRects" - @usableFromInline static let `getConstraints`: JSString = "getConstraints" - @usableFromInline static let `getContextAttributes`: JSString = "getContextAttributes" - @usableFromInline static let `getCueById`: JSString = "getCueById" - @usableFromInline static let `getData`: JSString = "getData" - @usableFromInline static let `getElementById`: JSString = "getElementById" - @usableFromInline static let `getElementsByClassName`: JSString = "getElementsByClassName" - @usableFromInline static let `getElementsByName`: JSString = "getElementsByName" - @usableFromInline static let `getElementsByTagName`: JSString = "getElementsByTagName" - @usableFromInline static let `getElementsByTagNameNS`: JSString = "getElementsByTagNameNS" - @usableFromInline static let `getEntries`: JSString = "getEntries" - @usableFromInline static let `getEntriesByName`: JSString = "getEntriesByName" - @usableFromInline static let `getEntriesByType`: JSString = "getEntriesByType" - @usableFromInline static let `getImageData`: JSString = "getImageData" - @usableFromInline static let `getItem`: JSString = "getItem" - @usableFromInline static let `getLineDash`: JSString = "getLineDash" - @usableFromInline static let `getModifierState`: JSString = "getModifierState" - @usableFromInline static let `getName`: JSString = "getName" - @usableFromInline static let `getNamedItem`: JSString = "getNamedItem" - @usableFromInline static let `getNamedItemNS`: JSString = "getNamedItemNS" - @usableFromInline static let `getParameter`: JSString = "getParameter" - @usableFromInline static let `getPropertyType`: JSString = "getPropertyType" - @usableFromInline static let `getReader`: JSString = "getReader" - @usableFromInline static let `getRegistration`: JSString = "getRegistration" - @usableFromInline static let `getRegistrations`: JSString = "getRegistrations" - @usableFromInline static let `getResponseHeader`: JSString = "getResponseHeader" - @usableFromInline static let `getRootNode`: JSString = "getRootNode" - @usableFromInline static let `getSVGDocument`: JSString = "getSVGDocument" - @usableFromInline static let `getSetCookie`: JSString = "getSetCookie" - @usableFromInline static let `getSettings`: JSString = "getSettings" - @usableFromInline static let `getStartDate`: JSString = "getStartDate" - @usableFromInline static let `getState`: JSString = "getState" - @usableFromInline static let `getSupportedConstraints`: JSString = "getSupportedConstraints" - @usableFromInline static let `getTrackById`: JSString = "getTrackById" - @usableFromInline static let `getTracks`: JSString = "getTracks" - @usableFromInline static let `getTransform`: JSString = "getTransform" - @usableFromInline static let `getUserMedia`: JSString = "getUserMedia" - @usableFromInline static let `getVideoTracks`: JSString = "getVideoTracks" - @usableFromInline static let `getWriter`: JSString = "getWriter" - @usableFromInline static let `globalAlpha`: JSString = "globalAlpha" - @usableFromInline static let `globalCompositeOperation`: JSString = "globalCompositeOperation" - @usableFromInline static let `go`: JSString = "go" - @usableFromInline static let `groupId`: JSString = "groupId" - @usableFromInline static let `groups`: JSString = "groups" - @usableFromInline static let `handle`: JSString = "handle" - @usableFromInline static let `handled`: JSString = "handled" - @usableFromInline static let `handler`: JSString = "handler" - @usableFromInline static let `hangingBaseline`: JSString = "hangingBaseline" - @usableFromInline static let `hardwareAcceleration`: JSString = "hardwareAcceleration" - @usableFromInline static let `hardwareConcurrency`: JSString = "hardwareConcurrency" - @usableFromInline static let `has`: JSString = "has" - @usableFromInline static let `hasAttribute`: JSString = "hasAttribute" - @usableFromInline static let `hasAttributeNS`: JSString = "hasAttributeNS" - @usableFromInline static let `hasAttributes`: JSString = "hasAttributes" - @usableFromInline static let `hasBeenActive`: JSString = "hasBeenActive" - @usableFromInline static let `hasChildNodes`: JSString = "hasChildNodes" - @usableFromInline static let `hasFeature`: JSString = "hasFeature" - @usableFromInline static let `hasFocus`: JSString = "hasFocus" - @usableFromInline static let `hash`: JSString = "hash" - @usableFromInline static let `hashChange`: JSString = "hashChange" - @usableFromInline static let `head`: JSString = "head" - @usableFromInline static let `headerValue`: JSString = "headerValue" - @usableFromInline static let `headers`: JSString = "headers" - @usableFromInline static let `height`: JSString = "height" - @usableFromInline static let `hidden`: JSString = "hidden" - @usableFromInline static let `hidePopover`: JSString = "hidePopover" - @usableFromInline static let `high`: JSString = "high" - @usableFromInline static let `highWaterMark`: JSString = "highWaterMark" - @usableFromInline static let `history`: JSString = "history" - @usableFromInline static let `host`: JSString = "host" - @usableFromInline static let `hostname`: JSString = "hostname" - @usableFromInline static let `href`: JSString = "href" - @usableFromInline static let `hreflang`: JSString = "hreflang" - @usableFromInline static let `hspace`: JSString = "hspace" - @usableFromInline static let `htmlFor`: JSString = "htmlFor" - @usableFromInline static let `httpEquiv`: JSString = "httpEquiv" - @usableFromInline static let `id`: JSString = "id" - @usableFromInline static let `ideal`: JSString = "ideal" - @usableFromInline static let `identifier`: JSString = "identifier" - @usableFromInline static let `ideographicBaseline`: JSString = "ideographicBaseline" - @usableFromInline static let `ignoreCase`: JSString = "ignoreCase" - @usableFromInline static let `ignoreMethod`: JSString = "ignoreMethod" - @usableFromInline static let `ignoreSearch`: JSString = "ignoreSearch" - @usableFromInline static let `ignoreVary`: JSString = "ignoreVary" - @usableFromInline static let `image`: JSString = "image" - @usableFromInline static let `imageOrientation`: JSString = "imageOrientation" - @usableFromInline static let `imageSizes`: JSString = "imageSizes" - @usableFromInline static let `imageSmoothingEnabled`: JSString = "imageSmoothingEnabled" - @usableFromInline static let `imageSmoothingQuality`: JSString = "imageSmoothingQuality" - @usableFromInline static let `imageSrcset`: JSString = "imageSrcset" - @usableFromInline static let `images`: JSString = "images" - @usableFromInline static let `implementation`: JSString = "implementation" - @usableFromInline static let `importNode`: JSString = "importNode" - @usableFromInline static let `importStylesheet`: JSString = "importStylesheet" - @usableFromInline static let `inBandMetadataTrackDispatchType`: JSString = "inBandMetadataTrackDispatchType" - @usableFromInline static let `includeUncontrolled`: JSString = "includeUncontrolled" - @usableFromInline static let `indeterminate`: JSString = "indeterminate" - @usableFromInline static let `index`: JSString = "index" - @usableFromInline static let `inert`: JSString = "inert" - @usableFromInline static let `info`: JSString = "info" - @usableFromInline static let `initCompositionEvent`: JSString = "initCompositionEvent" - @usableFromInline static let `initCustomEvent`: JSString = "initCustomEvent" - @usableFromInline static let `initEvent`: JSString = "initEvent" - @usableFromInline static let `initKeyboardEvent`: JSString = "initKeyboardEvent" - @usableFromInline static let `initMessageEvent`: JSString = "initMessageEvent" - @usableFromInline static let `initMouseEvent`: JSString = "initMouseEvent" - @usableFromInline static let `initMutationEvent`: JSString = "initMutationEvent" - @usableFromInline static let `initStorageEvent`: JSString = "initStorageEvent" - @usableFromInline static let `initUIEvent`: JSString = "initUIEvent" - @usableFromInline static let `inline`: JSString = "inline" - @usableFromInline static let `innerHeight`: JSString = "innerHeight" - @usableFromInline static let `innerText`: JSString = "innerText" - @usableFromInline static let `innerWidth`: JSString = "innerWidth" - @usableFromInline static let `input`: JSString = "input" - @usableFromInline static let `inputEncoding`: JSString = "inputEncoding" - @usableFromInline static let `inputMode`: JSString = "inputMode" - @usableFromInline static let `inputType`: JSString = "inputType" - @usableFromInline static let `inputs`: JSString = "inputs" - @usableFromInline static let `insertAdjacentElement`: JSString = "insertAdjacentElement" - @usableFromInline static let `insertAdjacentText`: JSString = "insertAdjacentText" - @usableFromInline static let `insertBefore`: JSString = "insertBefore" - @usableFromInline static let `insertCell`: JSString = "insertCell" - @usableFromInline static let `insertData`: JSString = "insertData" - @usableFromInline static let `insertNode`: JSString = "insertNode" - @usableFromInline static let `insertRow`: JSString = "insertRow" - @usableFromInline static let `installing`: JSString = "installing" - @usableFromInline static let `integrity`: JSString = "integrity" - @usableFromInline static let `intercept`: JSString = "intercept" - @usableFromInline static let `intersectsNode`: JSString = "intersectsNode" - @usableFromInline static let `invalidIteratorState`: JSString = "invalidIteratorState" - @usableFromInline static let `inverse`: JSString = "inverse" - @usableFromInline static let `invertSelf`: JSString = "invertSelf" + @usableFromInline static let define: JSString = "define" + @usableFromInline static let delegatesFocus: JSString = "delegatesFocus" + @usableFromInline static let delete: JSString = "delete" + @usableFromInline static let deleteCaption: JSString = "deleteCaption" + @usableFromInline static let deleteCell: JSString = "deleteCell" + @usableFromInline static let deleteContents: JSString = "deleteContents" + @usableFromInline static let deleteData: JSString = "deleteData" + @usableFromInline static let deleteRow: JSString = "deleteRow" + @usableFromInline static let deleteTFoot: JSString = "deleteTFoot" + @usableFromInline static let deleteTHead: JSString = "deleteTHead" + @usableFromInline static let deltaMode: JSString = "deltaMode" + @usableFromInline static let deltaX: JSString = "deltaX" + @usableFromInline static let deltaY: JSString = "deltaY" + @usableFromInline static let deltaZ: JSString = "deltaZ" + @usableFromInline static let description: JSString = "description" + @usableFromInline static let descriptor: JSString = "descriptor" + @usableFromInline static let designMode: JSString = "designMode" + @usableFromInline static let desiredHeight: JSString = "desiredHeight" + @usableFromInline static let desiredSize: JSString = "desiredSize" + @usableFromInline static let desiredWidth: JSString = "desiredWidth" + @usableFromInline static let destination: JSString = "destination" + @usableFromInline static let desynchronized: JSString = "desynchronized" + @usableFromInline static let detach: JSString = "detach" + @usableFromInline static let detail: JSString = "detail" + @usableFromInline static let deviceId: JSString = "deviceId" + @usableFromInline static let devicePixelRatio: JSString = "devicePixelRatio" + @usableFromInline static let dir: JSString = "dir" + @usableFromInline static let dirName: JSString = "dirName" + @usableFromInline static let direction: JSString = "direction" + @usableFromInline static let disable: JSString = "disable" + @usableFromInline static let disabled: JSString = "disabled" + @usableFromInline static let disconnect: JSString = "disconnect" + @usableFromInline static let dispatchEvent: JSString = "dispatchEvent" + @usableFromInline static let displayAspectHeight: JSString = "displayAspectHeight" + @usableFromInline static let displayAspectWidth: JSString = "displayAspectWidth" + @usableFromInline static let displayHeight: JSString = "displayHeight" + @usableFromInline static let displayWidth: JSString = "displayWidth" + @usableFromInline static let doctype: JSString = "doctype" + @usableFromInline static let document: JSString = "document" + @usableFromInline static let documentElement: JSString = "documentElement" + @usableFromInline static let documentURI: JSString = "documentURI" + @usableFromInline static let domain: JSString = "domain" + @usableFromInline static let done: JSString = "done" + @usableFromInline static let download: JSString = "download" + @usableFromInline static let downloadRequest: JSString = "downloadRequest" + @usableFromInline static let draggable: JSString = "draggable" + @usableFromInline static let drawFocusIfNeeded: JSString = "drawFocusIfNeeded" + @usableFromInline static let drawImage: JSString = "drawImage" + @usableFromInline static let dropEffect: JSString = "dropEffect" + @usableFromInline static let droppedEntriesCount: JSString = "droppedEntriesCount" + @usableFromInline static let duplex: JSString = "duplex" + @usableFromInline static let duration: JSString = "duration" + @usableFromInline static let e: JSString = "e" + @usableFromInline static let echoCancellation: JSString = "echoCancellation" + @usableFromInline static let effectAllowed: JSString = "effectAllowed" + @usableFromInline static let element: JSString = "element" + @usableFromInline static let elementFromPoint: JSString = "elementFromPoint" + @usableFromInline static let elements: JSString = "elements" + @usableFromInline static let elementsFromPoint: JSString = "elementsFromPoint" + @usableFromInline static let ellipse: JSString = "ellipse" + @usableFromInline static let emHeightAscent: JSString = "emHeightAscent" + @usableFromInline static let emHeightDescent: JSString = "emHeightDescent" + @usableFromInline static let embeds: JSString = "embeds" + @usableFromInline static let enable: JSString = "enable" + @usableFromInline static let enabled: JSString = "enabled" + @usableFromInline static let enabledPlugin: JSString = "enabledPlugin" + @usableFromInline static let encode: JSString = "encode" + @usableFromInline static let encodeQueueSize: JSString = "encodeQueueSize" + @usableFromInline static let encoding: JSString = "encoding" + @usableFromInline static let enctype: JSString = "enctype" + @usableFromInline static let end: JSString = "end" + @usableFromInline static let endContainer: JSString = "endContainer" + @usableFromInline static let endOfStream: JSString = "endOfStream" + @usableFromInline static let endOffset: JSString = "endOffset" + @usableFromInline static let endTime: JSString = "endTime" + @usableFromInline static let ended: JSString = "ended" + @usableFromInline static let endings: JSString = "endings" + @usableFromInline static let enqueue: JSString = "enqueue" + @usableFromInline static let enterKeyHint: JSString = "enterKeyHint" + @usableFromInline static let entries: JSString = "entries" + @usableFromInline static let entryType: JSString = "entryType" + @usableFromInline static let entryTypes: JSString = "entryTypes" + @usableFromInline static let enumerateDevices: JSString = "enumerateDevices" + @usableFromInline static let error: JSString = "error" + @usableFromInline static let evaluate: JSString = "evaluate" + @usableFromInline static let event: JSString = "event" + @usableFromInline static let eventPhase: JSString = "eventPhase" + @usableFromInline static let exact: JSString = "exact" + @usableFromInline static let execCommand: JSString = "execCommand" + @usableFromInline static let extends: JSString = "extends" + @usableFromInline static let external: JSString = "external" + @usableFromInline static let extractContents: JSString = "extractContents" + @usableFromInline static let f: JSString = "f" + @usableFromInline static let face: JSString = "face" + @usableFromInline static let facingMode: JSString = "facingMode" + @usableFromInline static let fastSeek: JSString = "fastSeek" + @usableFromInline static let fetch: JSString = "fetch" + @usableFromInline static let fetchPriority: JSString = "fetchPriority" + @usableFromInline static let fgColor: JSString = "fgColor" + @usableFromInline static let filename: JSString = "filename" + @usableFromInline static let files: JSString = "files" + @usableFromInline static let fill: JSString = "fill" + @usableFromInline static let fillRect: JSString = "fillRect" + @usableFromInline static let fillStyle: JSString = "fillStyle" + @usableFromInline static let fillText: JSString = "fillText" + @usableFromInline static let filter: JSString = "filter" + @usableFromInline static let finished: JSString = "finished" + @usableFromInline static let firstChild: JSString = "firstChild" + @usableFromInline static let firstElementChild: JSString = "firstElementChild" + @usableFromInline static let flatten: JSString = "flatten" + @usableFromInline static let flipX: JSString = "flipX" + @usableFromInline static let flipY: JSString = "flipY" + @usableFromInline static let flush: JSString = "flush" + @usableFromInline static let focus: JSString = "focus" + @usableFromInline static let focusReset: JSString = "focusReset" + @usableFromInline static let focusVisible: JSString = "focusVisible" + @usableFromInline static let font: JSString = "font" + @usableFromInline static let fontBoundingBoxAscent: JSString = "fontBoundingBoxAscent" + @usableFromInline static let fontBoundingBoxDescent: JSString = "fontBoundingBoxDescent" + @usableFromInline static let fontKerning: JSString = "fontKerning" + @usableFromInline static let fontStretch: JSString = "fontStretch" + @usableFromInline static let fontVariantCaps: JSString = "fontVariantCaps" + @usableFromInline static let force: JSString = "force" + @usableFromInline static let form: JSString = "form" + @usableFromInline static let formAction: JSString = "formAction" + @usableFromInline static let formData: JSString = "formData" + @usableFromInline static let formEnctype: JSString = "formEnctype" + @usableFromInline static let formMethod: JSString = "formMethod" + @usableFromInline static let formNoValidate: JSString = "formNoValidate" + @usableFromInline static let formTarget: JSString = "formTarget" + @usableFromInline static let format: JSString = "format" + @usableFromInline static let forms: JSString = "forms" + @usableFromInline static let forward: JSString = "forward" + @usableFromInline static let frame: JSString = "frame" + @usableFromInline static let frameBorder: JSString = "frameBorder" + @usableFromInline static let frameCount: JSString = "frameCount" + @usableFromInline static let frameElement: JSString = "frameElement" + @usableFromInline static let frameIndex: JSString = "frameIndex" + @usableFromInline static let frameOffset: JSString = "frameOffset" + @usableFromInline static let frameRate: JSString = "frameRate" + @usableFromInline static let framerate: JSString = "framerate" + @usableFromInline static let frames: JSString = "frames" + @usableFromInline static let from: JSString = "from" + @usableFromInline static let fromBox: JSString = "fromBox" + @usableFromInline static let fromFloat32Array: JSString = "fromFloat32Array" + @usableFromInline static let fromFloat64Array: JSString = "fromFloat64Array" + @usableFromInline static let fromMatrix: JSString = "fromMatrix" + @usableFromInline static let fromPoint: JSString = "fromPoint" + @usableFromInline static let fromQuad: JSString = "fromQuad" + @usableFromInline static let fromRect: JSString = "fromRect" + @usableFromInline static let fullRange: JSString = "fullRange" + @usableFromInline static let get: JSString = "get" + @usableFromInline static let getAll: JSString = "getAll" + @usableFromInline static let getAllResponseHeaders: JSString = "getAllResponseHeaders" + @usableFromInline static let getAsFile: JSString = "getAsFile" + @usableFromInline static let getAsString: JSString = "getAsString" + @usableFromInline static let getAttribute: JSString = "getAttribute" + @usableFromInline static let getAttributeNS: JSString = "getAttributeNS" + @usableFromInline static let getAttributeNames: JSString = "getAttributeNames" + @usableFromInline static let getAttributeNode: JSString = "getAttributeNode" + @usableFromInline static let getAttributeNodeNS: JSString = "getAttributeNodeNS" + @usableFromInline static let getAudioTracks: JSString = "getAudioTracks" + @usableFromInline static let getBoundingClientRect: JSString = "getBoundingClientRect" + @usableFromInline static let getBounds: JSString = "getBounds" + @usableFromInline static let getBoxQuads: JSString = "getBoxQuads" + @usableFromInline static let getCapabilities: JSString = "getCapabilities" + @usableFromInline static let getClientRect: JSString = "getClientRect" + @usableFromInline static let getClientRects: JSString = "getClientRects" + @usableFromInline static let getConstraints: JSString = "getConstraints" + @usableFromInline static let getContextAttributes: JSString = "getContextAttributes" + @usableFromInline static let getCueById: JSString = "getCueById" + @usableFromInline static let getData: JSString = "getData" + @usableFromInline static let getElementById: JSString = "getElementById" + @usableFromInline static let getElementsByClassName: JSString = "getElementsByClassName" + @usableFromInline static let getElementsByName: JSString = "getElementsByName" + @usableFromInline static let getElementsByTagName: JSString = "getElementsByTagName" + @usableFromInline static let getElementsByTagNameNS: JSString = "getElementsByTagNameNS" + @usableFromInline static let getEntries: JSString = "getEntries" + @usableFromInline static let getEntriesByName: JSString = "getEntriesByName" + @usableFromInline static let getEntriesByType: JSString = "getEntriesByType" + @usableFromInline static let getImageData: JSString = "getImageData" + @usableFromInline static let getItem: JSString = "getItem" + @usableFromInline static let getLineDash: JSString = "getLineDash" + @usableFromInline static let getModifierState: JSString = "getModifierState" + @usableFromInline static let getName: JSString = "getName" + @usableFromInline static let getNamedItem: JSString = "getNamedItem" + @usableFromInline static let getNamedItemNS: JSString = "getNamedItemNS" + @usableFromInline static let getParameter: JSString = "getParameter" + @usableFromInline static let getReader: JSString = "getReader" + @usableFromInline static let getRegistration: JSString = "getRegistration" + @usableFromInline static let getRegistrations: JSString = "getRegistrations" + @usableFromInline static let getResponseHeader: JSString = "getResponseHeader" + @usableFromInline static let getRootNode: JSString = "getRootNode" + @usableFromInline static let getSVGDocument: JSString = "getSVGDocument" + @usableFromInline static let getSetCookie: JSString = "getSetCookie" + @usableFromInline static let getSettings: JSString = "getSettings" + @usableFromInline static let getStartDate: JSString = "getStartDate" + @usableFromInline static let getState: JSString = "getState" + @usableFromInline static let getSupportedConstraints: JSString = "getSupportedConstraints" + @usableFromInline static let getTrackById: JSString = "getTrackById" + @usableFromInline static let getTracks: JSString = "getTracks" + @usableFromInline static let getTransform: JSString = "getTransform" + @usableFromInline static let getUserMedia: JSString = "getUserMedia" + @usableFromInline static let getVideoTracks: JSString = "getVideoTracks" + @usableFromInline static let getWriter: JSString = "getWriter" + @usableFromInline static let globalAlpha: JSString = "globalAlpha" + @usableFromInline static let globalCompositeOperation: JSString = "globalCompositeOperation" + @usableFromInline static let go: JSString = "go" + @usableFromInline static let groupId: JSString = "groupId" + @usableFromInline static let handle: JSString = "handle" + @usableFromInline static let handled: JSString = "handled" + @usableFromInline static let handler: JSString = "handler" + @usableFromInline static let hangingBaseline: JSString = "hangingBaseline" + @usableFromInline static let hardwareAcceleration: JSString = "hardwareAcceleration" + @usableFromInline static let hardwareConcurrency: JSString = "hardwareConcurrency" + @usableFromInline static let has: JSString = "has" + @usableFromInline static let hasAttribute: JSString = "hasAttribute" + @usableFromInline static let hasAttributeNS: JSString = "hasAttributeNS" + @usableFromInline static let hasAttributes: JSString = "hasAttributes" + @usableFromInline static let hasBeenActive: JSString = "hasBeenActive" + @usableFromInline static let hasChildNodes: JSString = "hasChildNodes" + @usableFromInline static let hasFeature: JSString = "hasFeature" + @usableFromInline static let hasFocus: JSString = "hasFocus" + @usableFromInline static let hash: JSString = "hash" + @usableFromInline static let hashChange: JSString = "hashChange" + @usableFromInline static let head: JSString = "head" + @usableFromInline static let headerValue: JSString = "headerValue" + @usableFromInline static let headers: JSString = "headers" + @usableFromInline static let height: JSString = "height" + @usableFromInline static let hidden: JSString = "hidden" + @usableFromInline static let hidePopover: JSString = "hidePopover" + @usableFromInline static let high: JSString = "high" + @usableFromInline static let highWaterMark: JSString = "highWaterMark" + @usableFromInline static let history: JSString = "history" + @usableFromInline static let host: JSString = "host" + @usableFromInline static let hostname: JSString = "hostname" + @usableFromInline static let href: JSString = "href" + @usableFromInline static let hreflang: JSString = "hreflang" + @usableFromInline static let hspace: JSString = "hspace" + @usableFromInline static let htmlFor: JSString = "htmlFor" + @usableFromInline static let httpEquiv: JSString = "httpEquiv" + @usableFromInline static let id: JSString = "id" + @usableFromInline static let ideal: JSString = "ideal" + @usableFromInline static let identifier: JSString = "identifier" + @usableFromInline static let ideographicBaseline: JSString = "ideographicBaseline" + @usableFromInline static let ignoreMethod: JSString = "ignoreMethod" + @usableFromInline static let ignoreSearch: JSString = "ignoreSearch" + @usableFromInline static let ignoreVary: JSString = "ignoreVary" + @usableFromInline static let image: JSString = "image" + @usableFromInline static let imageOrientation: JSString = "imageOrientation" + @usableFromInline static let imageSizes: JSString = "imageSizes" + @usableFromInline static let imageSmoothingEnabled: JSString = "imageSmoothingEnabled" + @usableFromInline static let imageSmoothingQuality: JSString = "imageSmoothingQuality" + @usableFromInline static let imageSrcset: JSString = "imageSrcset" + @usableFromInline static let images: JSString = "images" + @usableFromInline static let implementation: JSString = "implementation" + @usableFromInline static let importNode: JSString = "importNode" + @usableFromInline static let importStylesheet: JSString = "importStylesheet" + @usableFromInline static let inBandMetadataTrackDispatchType: JSString = "inBandMetadataTrackDispatchType" + @usableFromInline static let includeUncontrolled: JSString = "includeUncontrolled" + @usableFromInline static let indeterminate: JSString = "indeterminate" + @usableFromInline static let index: JSString = "index" + @usableFromInline static let inert: JSString = "inert" + @usableFromInline static let info: JSString = "info" + @usableFromInline static let initCompositionEvent: JSString = "initCompositionEvent" + @usableFromInline static let initCustomEvent: JSString = "initCustomEvent" + @usableFromInline static let initEvent: JSString = "initEvent" + @usableFromInline static let initKeyboardEvent: JSString = "initKeyboardEvent" + @usableFromInline static let initMessageEvent: JSString = "initMessageEvent" + @usableFromInline static let initMouseEvent: JSString = "initMouseEvent" + @usableFromInline static let initMutationEvent: JSString = "initMutationEvent" + @usableFromInline static let initStorageEvent: JSString = "initStorageEvent" + @usableFromInline static let initUIEvent: JSString = "initUIEvent" + @usableFromInline static let inline: JSString = "inline" + @usableFromInline static let innerHeight: JSString = "innerHeight" + @usableFromInline static let innerText: JSString = "innerText" + @usableFromInline static let innerWidth: JSString = "innerWidth" + @usableFromInline static let inputEncoding: JSString = "inputEncoding" + @usableFromInline static let inputMode: JSString = "inputMode" + @usableFromInline static let inputType: JSString = "inputType" + @usableFromInline static let insertAdjacentElement: JSString = "insertAdjacentElement" + @usableFromInline static let insertAdjacentText: JSString = "insertAdjacentText" + @usableFromInline static let insertBefore: JSString = "insertBefore" + @usableFromInline static let insertCell: JSString = "insertCell" + @usableFromInline static let insertData: JSString = "insertData" + @usableFromInline static let insertNode: JSString = "insertNode" + @usableFromInline static let insertRow: JSString = "insertRow" + @usableFromInline static let installing: JSString = "installing" + @usableFromInline static let integrity: JSString = "integrity" + @usableFromInline static let intercept: JSString = "intercept" + @usableFromInline static let intersectsNode: JSString = "intersectsNode" + @usableFromInline static let invalidIteratorState: JSString = "invalidIteratorState" + @usableFromInline static let inverse: JSString = "inverse" + @usableFromInline static let invertSelf: JSString = "invertSelf" @usableFromInline static let `is`: JSString = "is" - @usableFromInline static let `is2D`: JSString = "is2D" - @usableFromInline static let `isActive`: JSString = "isActive" - @usableFromInline static let `isComposing`: JSString = "isComposing" - @usableFromInline static let `isConfigSupported`: JSString = "isConfigSupported" - @usableFromInline static let `isConnected`: JSString = "isConnected" - @usableFromInline static let `isContentEditable`: JSString = "isContentEditable" - @usableFromInline static let `isContextLost`: JSString = "isContextLost" - @usableFromInline static let `isDefaultNamespace`: JSString = "isDefaultNamespace" - @usableFromInline static let `isEqualNode`: JSString = "isEqualNode" - @usableFromInline static let `isHTML`: JSString = "isHTML" - @usableFromInline static let `isHistoryNavigation`: JSString = "isHistoryNavigation" - @usableFromInline static let `isIdentity`: JSString = "isIdentity" - @usableFromInline static let `isMap`: JSString = "isMap" - @usableFromInline static let `isPointInPath`: JSString = "isPointInPath" - @usableFromInline static let `isPointInRange`: JSString = "isPointInRange" - @usableFromInline static let `isPointInStroke`: JSString = "isPointInStroke" - @usableFromInline static let `isReloadNavigation`: JSString = "isReloadNavigation" - @usableFromInline static let `isSameNode`: JSString = "isSameNode" - @usableFromInline static let `isScript`: JSString = "isScript" - @usableFromInline static let `isScriptURL`: JSString = "isScriptURL" - @usableFromInline static let `isSecureContext`: JSString = "isSecureContext" - @usableFromInline static let `isTrusted`: JSString = "isTrusted" - @usableFromInline static let `isTypeSupported`: JSString = "isTypeSupported" - @usableFromInline static let `item`: JSString = "item" - @usableFromInline static let `items`: JSString = "items" - @usableFromInline static let `iterateNext`: JSString = "iterateNext" - @usableFromInline static let `javaEnabled`: JSString = "javaEnabled" - @usableFromInline static let `json`: JSString = "json" - @usableFromInline static let `keepalive`: JSString = "keepalive" - @usableFromInline static let `key`: JSString = "key" - @usableFromInline static let `keyCode`: JSString = "keyCode" - @usableFromInline static let `keyFrame`: JSString = "keyFrame" - @usableFromInline static let `keys`: JSString = "keys" - @usableFromInline static let `kind`: JSString = "kind" - @usableFromInline static let `label`: JSString = "label" - @usableFromInline static let `labels`: JSString = "labels" - @usableFromInline static let `lang`: JSString = "lang" - @usableFromInline static let `language`: JSString = "language" - @usableFromInline static let `languages`: JSString = "languages" - @usableFromInline static let `lastChild`: JSString = "lastChild" - @usableFromInline static let `lastElementChild`: JSString = "lastElementChild" - @usableFromInline static let `lastEventId`: JSString = "lastEventId" - @usableFromInline static let `lastModified`: JSString = "lastModified" - @usableFromInline static let `latency`: JSString = "latency" - @usableFromInline static let `latencyMode`: JSString = "latencyMode" - @usableFromInline static let `layout`: JSString = "layout" - @usableFromInline static let `left`: JSString = "left" - @usableFromInline static let `length`: JSString = "length" - @usableFromInline static let `lengthComputable`: JSString = "lengthComputable" - @usableFromInline static let `letterSpacing`: JSString = "letterSpacing" - @usableFromInline static let `lineCap`: JSString = "lineCap" - @usableFromInline static let `lineDashOffset`: JSString = "lineDashOffset" - @usableFromInline static let `lineJoin`: JSString = "lineJoin" - @usableFromInline static let `lineTo`: JSString = "lineTo" - @usableFromInline static let `lineWidth`: JSString = "lineWidth" - @usableFromInline static let `lineno`: JSString = "lineno" - @usableFromInline static let `link`: JSString = "link" - @usableFromInline static let `linkColor`: JSString = "linkColor" - @usableFromInline static let `links`: JSString = "links" - @usableFromInline static let `list`: JSString = "list" - @usableFromInline static let `load`: JSString = "load" - @usableFromInline static let `loaded`: JSString = "loaded" - @usableFromInline static let `loading`: JSString = "loading" - @usableFromInline static let `localName`: JSString = "localName" - @usableFromInline static let `localStorage`: JSString = "localStorage" - @usableFromInline static let `location`: JSString = "location" - @usableFromInline static let `locationbar`: JSString = "locationbar" - @usableFromInline static let `locked`: JSString = "locked" - @usableFromInline static let `longDesc`: JSString = "longDesc" - @usableFromInline static let `lookupNamespaceURI`: JSString = "lookupNamespaceURI" - @usableFromInline static let `lookupPrefix`: JSString = "lookupPrefix" - @usableFromInline static let `loop`: JSString = "loop" - @usableFromInline static let `low`: JSString = "low" - @usableFromInline static let `lowsrc`: JSString = "lowsrc" - @usableFromInline static let `m11`: JSString = "m11" - @usableFromInline static let `m12`: JSString = "m12" - @usableFromInline static let `m13`: JSString = "m13" - @usableFromInline static let `m14`: JSString = "m14" - @usableFromInline static let `m21`: JSString = "m21" - @usableFromInline static let `m22`: JSString = "m22" - @usableFromInline static let `m23`: JSString = "m23" - @usableFromInline static let `m24`: JSString = "m24" - @usableFromInline static let `m31`: JSString = "m31" - @usableFromInline static let `m32`: JSString = "m32" - @usableFromInline static let `m33`: JSString = "m33" - @usableFromInline static let `m34`: JSString = "m34" - @usableFromInline static let `m41`: JSString = "m41" - @usableFromInline static let `m42`: JSString = "m42" - @usableFromInline static let `m43`: JSString = "m43" - @usableFromInline static let `m44`: JSString = "m44" - @usableFromInline static let `marginHeight`: JSString = "marginHeight" - @usableFromInline static let `marginWidth`: JSString = "marginWidth" - @usableFromInline static let `match`: JSString = "match" - @usableFromInline static let `matchAll`: JSString = "matchAll" - @usableFromInline static let `matchMedia`: JSString = "matchMedia" - @usableFromInline static let `matches`: JSString = "matches" - @usableFromInline static let `matrix`: JSString = "matrix" - @usableFromInline static let `matrixTransform`: JSString = "matrixTransform" - @usableFromInline static let `max`: JSString = "max" - @usableFromInline static let `maxLength`: JSString = "maxLength" - @usableFromInline static let `measureText`: JSString = "measureText" - @usableFromInline static let `media`: JSString = "media" - @usableFromInline static let `mediaDevices`: JSString = "mediaDevices" - @usableFromInline static let `menubar`: JSString = "menubar" - @usableFromInline static let `message`: JSString = "message" - @usableFromInline static let `metaKey`: JSString = "metaKey" - @usableFromInline static let `metadata`: JSString = "metadata" - @usableFromInline static let `method`: JSString = "method" - @usableFromInline static let `mimeType`: JSString = "mimeType" - @usableFromInline static let `mimeTypes`: JSString = "mimeTypes" - @usableFromInline static let `min`: JSString = "min" - @usableFromInline static let `minLength`: JSString = "minLength" - @usableFromInline static let `miterLimit`: JSString = "miterLimit" - @usableFromInline static let `mode`: JSString = "mode" - @usableFromInline static let `modifierAltGraph`: JSString = "modifierAltGraph" - @usableFromInline static let `modifierCapsLock`: JSString = "modifierCapsLock" - @usableFromInline static let `modifierFn`: JSString = "modifierFn" - @usableFromInline static let `modifierFnLock`: JSString = "modifierFnLock" - @usableFromInline static let `modifierHyper`: JSString = "modifierHyper" - @usableFromInline static let `modifierNumLock`: JSString = "modifierNumLock" - @usableFromInline static let `modifierScrollLock`: JSString = "modifierScrollLock" - @usableFromInline static let `modifierSuper`: JSString = "modifierSuper" - @usableFromInline static let `modifierSymbol`: JSString = "modifierSymbol" - @usableFromInline static let `modifierSymbolLock`: JSString = "modifierSymbolLock" - @usableFromInline static let `moveBy`: JSString = "moveBy" - @usableFromInline static let `moveTo`: JSString = "moveTo" - @usableFromInline static let `multiple`: JSString = "multiple" - @usableFromInline static let `multiply`: JSString = "multiply" - @usableFromInline static let `multiplySelf`: JSString = "multiplySelf" - @usableFromInline static let `muted`: JSString = "muted" - @usableFromInline static let `name`: JSString = "name" - @usableFromInline static let `namedItem`: JSString = "namedItem" - @usableFromInline static let `namespaceURI`: JSString = "namespaceURI" - @usableFromInline static let `naturalHeight`: JSString = "naturalHeight" - @usableFromInline static let `naturalWidth`: JSString = "naturalWidth" - @usableFromInline static let `navigate`: JSString = "navigate" - @usableFromInline static let `navigation`: JSString = "navigation" - @usableFromInline static let `navigationPreload`: JSString = "navigationPreload" - @usableFromInline static let `navigationType`: JSString = "navigationType" - @usableFromInline static let `navigator`: JSString = "navigator" - @usableFromInline static let `networkState`: JSString = "networkState" - @usableFromInline static let `newState`: JSString = "newState" - @usableFromInline static let `newURL`: JSString = "newURL" - @usableFromInline static let `newValue`: JSString = "newValue" - @usableFromInline static let `nextElementSibling`: JSString = "nextElementSibling" - @usableFromInline static let `nextNode`: JSString = "nextNode" - @usableFromInline static let `nextSibling`: JSString = "nextSibling" - @usableFromInline static let `noHref`: JSString = "noHref" - @usableFromInline static let `noModule`: JSString = "noModule" - @usableFromInline static let `noResize`: JSString = "noResize" - @usableFromInline static let `noShade`: JSString = "noShade" - @usableFromInline static let `noValidate`: JSString = "noValidate" - @usableFromInline static let `noWrap`: JSString = "noWrap" - @usableFromInline static let `nodeName`: JSString = "nodeName" - @usableFromInline static let `nodeType`: JSString = "nodeType" - @usableFromInline static let `nodeValue`: JSString = "nodeValue" - @usableFromInline static let `noiseSuppression`: JSString = "noiseSuppression" - @usableFromInline static let `nonce`: JSString = "nonce" - @usableFromInline static let `normalize`: JSString = "normalize" - @usableFromInline static let `now`: JSString = "now" - @usableFromInline static let `numberOfChannels`: JSString = "numberOfChannels" - @usableFromInline static let `numberOfFrames`: JSString = "numberOfFrames" - @usableFromInline static let `numberValue`: JSString = "numberValue" - @usableFromInline static let `observe`: JSString = "observe" - @usableFromInline static let `offset`: JSString = "offset" - @usableFromInline static let `offsetHeight`: JSString = "offsetHeight" - @usableFromInline static let `offsetLeft`: JSString = "offsetLeft" - @usableFromInline static let `offsetNode`: JSString = "offsetNode" - @usableFromInline static let `offsetParent`: JSString = "offsetParent" - @usableFromInline static let `offsetTop`: JSString = "offsetTop" - @usableFromInline static let `offsetWidth`: JSString = "offsetWidth" - @usableFromInline static let `offsetX`: JSString = "offsetX" - @usableFromInline static let `offsetY`: JSString = "offsetY" - @usableFromInline static let `ok`: JSString = "ok" - @usableFromInline static let `oldState`: JSString = "oldState" - @usableFromInline static let `oldURL`: JSString = "oldURL" - @usableFromInline static let `oldValue`: JSString = "oldValue" - @usableFromInline static let `onLine`: JSString = "onLine" - @usableFromInline static let `onabort`: JSString = "onabort" - @usableFromInline static let `onaddsourcebuffer`: JSString = "onaddsourcebuffer" - @usableFromInline static let `onaddtrack`: JSString = "onaddtrack" - @usableFromInline static let `onafterprint`: JSString = "onafterprint" - @usableFromInline static let `onauxclick`: JSString = "onauxclick" - @usableFromInline static let `onbeforeinput`: JSString = "onbeforeinput" - @usableFromInline static let `onbeforematch`: JSString = "onbeforematch" - @usableFromInline static let `onbeforeprint`: JSString = "onbeforeprint" - @usableFromInline static let `onbeforetoggle`: JSString = "onbeforetoggle" - @usableFromInline static let `onbeforeunload`: JSString = "onbeforeunload" - @usableFromInline static let `onblur`: JSString = "onblur" - @usableFromInline static let `oncancel`: JSString = "oncancel" - @usableFromInline static let `oncanplay`: JSString = "oncanplay" - @usableFromInline static let `oncanplaythrough`: JSString = "oncanplaythrough" - @usableFromInline static let `once`: JSString = "once" - @usableFromInline static let `onchange`: JSString = "onchange" - @usableFromInline static let `onclick`: JSString = "onclick" - @usableFromInline static let `onclose`: JSString = "onclose" - @usableFromInline static let `oncontextlost`: JSString = "oncontextlost" - @usableFromInline static let `oncontextmenu`: JSString = "oncontextmenu" - @usableFromInline static let `oncontextrestored`: JSString = "oncontextrestored" - @usableFromInline static let `oncontrollerchange`: JSString = "oncontrollerchange" - @usableFromInline static let `oncopy`: JSString = "oncopy" - @usableFromInline static let `oncuechange`: JSString = "oncuechange" - @usableFromInline static let `oncurrententrychange`: JSString = "oncurrententrychange" - @usableFromInline static let `oncut`: JSString = "oncut" - @usableFromInline static let `ondataavailable`: JSString = "ondataavailable" - @usableFromInline static let `ondblclick`: JSString = "ondblclick" - @usableFromInline static let `ondequeue`: JSString = "ondequeue" - @usableFromInline static let `ondevicechange`: JSString = "ondevicechange" - @usableFromInline static let `ondispose`: JSString = "ondispose" - @usableFromInline static let `ondrag`: JSString = "ondrag" - @usableFromInline static let `ondragend`: JSString = "ondragend" - @usableFromInline static let `ondragenter`: JSString = "ondragenter" - @usableFromInline static let `ondragleave`: JSString = "ondragleave" - @usableFromInline static let `ondragover`: JSString = "ondragover" - @usableFromInline static let `ondragstart`: JSString = "ondragstart" - @usableFromInline static let `ondrop`: JSString = "ondrop" - @usableFromInline static let `ondurationchange`: JSString = "ondurationchange" - @usableFromInline static let `onemptied`: JSString = "onemptied" - @usableFromInline static let `onended`: JSString = "onended" - @usableFromInline static let `onenter`: JSString = "onenter" - @usableFromInline static let `onerror`: JSString = "onerror" - @usableFromInline static let `onexit`: JSString = "onexit" - @usableFromInline static let `onfocus`: JSString = "onfocus" - @usableFromInline static let `onformdata`: JSString = "onformdata" - @usableFromInline static let `onhashchange`: JSString = "onhashchange" - @usableFromInline static let `oninput`: JSString = "oninput" - @usableFromInline static let `oninvalid`: JSString = "oninvalid" - @usableFromInline static let `onkeydown`: JSString = "onkeydown" - @usableFromInline static let `onkeypress`: JSString = "onkeypress" - @usableFromInline static let `onkeyup`: JSString = "onkeyup" - @usableFromInline static let `onlanguagechange`: JSString = "onlanguagechange" - @usableFromInline static let `onload`: JSString = "onload" - @usableFromInline static let `onloadeddata`: JSString = "onloadeddata" - @usableFromInline static let `onloadedmetadata`: JSString = "onloadedmetadata" - @usableFromInline static let `onloadend`: JSString = "onloadend" - @usableFromInline static let `onloadstart`: JSString = "onloadstart" - @usableFromInline static let `onmessage`: JSString = "onmessage" - @usableFromInline static let `onmessageerror`: JSString = "onmessageerror" - @usableFromInline static let `onmousedown`: JSString = "onmousedown" - @usableFromInline static let `onmouseenter`: JSString = "onmouseenter" - @usableFromInline static let `onmouseleave`: JSString = "onmouseleave" - @usableFromInline static let `onmousemove`: JSString = "onmousemove" - @usableFromInline static let `onmouseout`: JSString = "onmouseout" - @usableFromInline static let `onmouseover`: JSString = "onmouseover" - @usableFromInline static let `onmouseup`: JSString = "onmouseup" - @usableFromInline static let `onmute`: JSString = "onmute" - @usableFromInline static let `onnavigate`: JSString = "onnavigate" - @usableFromInline static let `onnavigateerror`: JSString = "onnavigateerror" - @usableFromInline static let `onnavigatesuccess`: JSString = "onnavigatesuccess" - @usableFromInline static let `onoffline`: JSString = "onoffline" - @usableFromInline static let `ononline`: JSString = "ononline" - @usableFromInline static let `onopen`: JSString = "onopen" - @usableFromInline static let `onpagehide`: JSString = "onpagehide" - @usableFromInline static let `onpageshow`: JSString = "onpageshow" - @usableFromInline static let `onpaste`: JSString = "onpaste" - @usableFromInline static let `onpause`: JSString = "onpause" - @usableFromInline static let `onplay`: JSString = "onplay" - @usableFromInline static let `onplaying`: JSString = "onplaying" - @usableFromInline static let `onpopstate`: JSString = "onpopstate" - @usableFromInline static let `onprogress`: JSString = "onprogress" - @usableFromInline static let `onratechange`: JSString = "onratechange" - @usableFromInline static let `onreadystatechange`: JSString = "onreadystatechange" - @usableFromInline static let `onrejectionhandled`: JSString = "onrejectionhandled" - @usableFromInline static let `onremovesourcebuffer`: JSString = "onremovesourcebuffer" - @usableFromInline static let `onremovetrack`: JSString = "onremovetrack" - @usableFromInline static let `onreset`: JSString = "onreset" - @usableFromInline static let `onresize`: JSString = "onresize" - @usableFromInline static let `onresume`: JSString = "onresume" - @usableFromInline static let `onscroll`: JSString = "onscroll" - @usableFromInline static let `onscrollend`: JSString = "onscrollend" - @usableFromInline static let `onsecuritypolicyviolation`: JSString = "onsecuritypolicyviolation" - @usableFromInline static let `onseeked`: JSString = "onseeked" - @usableFromInline static let `onseeking`: JSString = "onseeking" - @usableFromInline static let `onselect`: JSString = "onselect" - @usableFromInline static let `onslotchange`: JSString = "onslotchange" - @usableFromInline static let `onsourceclose`: JSString = "onsourceclose" - @usableFromInline static let `onsourceended`: JSString = "onsourceended" - @usableFromInline static let `onsourceopen`: JSString = "onsourceopen" - @usableFromInline static let `onstalled`: JSString = "onstalled" - @usableFromInline static let `onstart`: JSString = "onstart" - @usableFromInline static let `onstatechange`: JSString = "onstatechange" - @usableFromInline static let `onstop`: JSString = "onstop" - @usableFromInline static let `onstorage`: JSString = "onstorage" - @usableFromInline static let `onsubmit`: JSString = "onsubmit" - @usableFromInline static let `onsuspend`: JSString = "onsuspend" - @usableFromInline static let `ontimeout`: JSString = "ontimeout" - @usableFromInline static let `ontimeupdate`: JSString = "ontimeupdate" - @usableFromInline static let `ontoggle`: JSString = "ontoggle" - @usableFromInline static let `ontouchcancel`: JSString = "ontouchcancel" - @usableFromInline static let `ontouchend`: JSString = "ontouchend" - @usableFromInline static let `ontouchmove`: JSString = "ontouchmove" - @usableFromInline static let `ontouchstart`: JSString = "ontouchstart" - @usableFromInline static let `onunhandledrejection`: JSString = "onunhandledrejection" - @usableFromInline static let `onunload`: JSString = "onunload" - @usableFromInline static let `onunmute`: JSString = "onunmute" - @usableFromInline static let `onupdate`: JSString = "onupdate" - @usableFromInline static let `onupdateend`: JSString = "onupdateend" - @usableFromInline static let `onupdatefound`: JSString = "onupdatefound" - @usableFromInline static let `onupdatestart`: JSString = "onupdatestart" - @usableFromInline static let `onvisibilitychange`: JSString = "onvisibilitychange" - @usableFromInline static let `onvolumechange`: JSString = "onvolumechange" - @usableFromInline static let `onwaiting`: JSString = "onwaiting" - @usableFromInline static let `onwebkitanimationend`: JSString = "onwebkitanimationend" - @usableFromInline static let `onwebkitanimationiteration`: JSString = "onwebkitanimationiteration" - @usableFromInline static let `onwebkitanimationstart`: JSString = "onwebkitanimationstart" - @usableFromInline static let `onwebkittransitionend`: JSString = "onwebkittransitionend" - @usableFromInline static let `onwheel`: JSString = "onwheel" - @usableFromInline static let `open`: JSString = "open" - @usableFromInline static let `opener`: JSString = "opener" - @usableFromInline static let `optimizeForLatency`: JSString = "optimizeForLatency" - @usableFromInline static let `optimum`: JSString = "optimum" - @usableFromInline static let `options`: JSString = "options" - @usableFromInline static let `origin`: JSString = "origin" - @usableFromInline static let `originAgentCluster`: JSString = "originAgentCluster" - @usableFromInline static let `oscpu`: JSString = "oscpu" - @usableFromInline static let `outerHeight`: JSString = "outerHeight" - @usableFromInline static let `outerText`: JSString = "outerText" - @usableFromInline static let `outerWidth`: JSString = "outerWidth" - @usableFromInline static let `output`: JSString = "output" - @usableFromInline static let `overrideMimeType`: JSString = "overrideMimeType" - @usableFromInline static let `ownerDocument`: JSString = "ownerDocument" - @usableFromInline static let `ownerElement`: JSString = "ownerElement" - @usableFromInline static let `p1`: JSString = "p1" - @usableFromInline static let `p2`: JSString = "p2" - @usableFromInline static let `p3`: JSString = "p3" - @usableFromInline static let `p4`: JSString = "p4" - @usableFromInline static let `pageLeft`: JSString = "pageLeft" - @usableFromInline static let `pageTop`: JSString = "pageTop" - @usableFromInline static let `pageX`: JSString = "pageX" - @usableFromInline static let `pageXOffset`: JSString = "pageXOffset" - @usableFromInline static let `pageY`: JSString = "pageY" - @usableFromInline static let `pageYOffset`: JSString = "pageYOffset" - @usableFromInline static let `panTiltZoom`: JSString = "panTiltZoom" - @usableFromInline static let `parent`: JSString = "parent" - @usableFromInline static let `parentElement`: JSString = "parentElement" - @usableFromInline static let `parentNode`: JSString = "parentNode" - @usableFromInline static let `parseFromString`: JSString = "parseFromString" - @usableFromInline static let `passive`: JSString = "passive" - @usableFromInline static let `password`: JSString = "password" - @usableFromInline static let `pathname`: JSString = "pathname" - @usableFromInline static let `pattern`: JSString = "pattern" - @usableFromInline static let `patternMismatch`: JSString = "patternMismatch" - @usableFromInline static let `pause`: JSString = "pause" - @usableFromInline static let `pauseOnExit`: JSString = "pauseOnExit" - @usableFromInline static let `paused`: JSString = "paused" - @usableFromInline static let `pdfViewerEnabled`: JSString = "pdfViewerEnabled" - @usableFromInline static let `performance`: JSString = "performance" - @usableFromInline static let `permissions`: JSString = "permissions" - @usableFromInline static let `persisted`: JSString = "persisted" - @usableFromInline static let `personalbar`: JSString = "personalbar" - @usableFromInline static let `ping`: JSString = "ping" - @usableFromInline static let `pipeThrough`: JSString = "pipeThrough" - @usableFromInline static let `pipeTo`: JSString = "pipeTo" - @usableFromInline static let `pixelDepth`: JSString = "pixelDepth" - @usableFromInline static let `placeholder`: JSString = "placeholder" - @usableFromInline static let `planeIndex`: JSString = "planeIndex" - @usableFromInline static let `platform`: JSString = "platform" - @usableFromInline static let `play`: JSString = "play" - @usableFromInline static let `playbackRate`: JSString = "playbackRate" - @usableFromInline static let `played`: JSString = "played" - @usableFromInline static let `playsInline`: JSString = "playsInline" - @usableFromInline static let `plugins`: JSString = "plugins" - @usableFromInline static let `pointerBeforeReferenceNode`: JSString = "pointerBeforeReferenceNode" - @usableFromInline static let `popover`: JSString = "popover" - @usableFromInline static let `popoverTargetAction`: JSString = "popoverTargetAction" - @usableFromInline static let `popoverTargetElement`: JSString = "popoverTargetElement" - @usableFromInline static let `port`: JSString = "port" - @usableFromInline static let `port1`: JSString = "port1" - @usableFromInline static let `port2`: JSString = "port2" - @usableFromInline static let `ports`: JSString = "ports" - @usableFromInline static let `position`: JSString = "position" - @usableFromInline static let `postMessage`: JSString = "postMessage" - @usableFromInline static let `poster`: JSString = "poster" - @usableFromInline static let `preMultiplySelf`: JSString = "preMultiplySelf" - @usableFromInline static let `preferAnimation`: JSString = "preferAnimation" - @usableFromInline static let `prefix`: JSString = "prefix" - @usableFromInline static let `preload`: JSString = "preload" - @usableFromInline static let `preloadResponse`: JSString = "preloadResponse" - @usableFromInline static let `premultiplyAlpha`: JSString = "premultiplyAlpha" - @usableFromInline static let `prepend`: JSString = "prepend" - @usableFromInline static let `preservesPitch`: JSString = "preservesPitch" - @usableFromInline static let `prevValue`: JSString = "prevValue" - @usableFromInline static let `preventAbort`: JSString = "preventAbort" - @usableFromInline static let `preventCancel`: JSString = "preventCancel" - @usableFromInline static let `preventClose`: JSString = "preventClose" - @usableFromInline static let `preventDefault`: JSString = "preventDefault" - @usableFromInline static let `preventScroll`: JSString = "preventScroll" - @usableFromInline static let `previousElementSibling`: JSString = "previousElementSibling" - @usableFromInline static let `previousNode`: JSString = "previousNode" - @usableFromInline static let `previousSibling`: JSString = "previousSibling" - @usableFromInline static let `primaries`: JSString = "primaries" - @usableFromInline static let `print`: JSString = "print" - @usableFromInline static let `priority`: JSString = "priority" - @usableFromInline static let `product`: JSString = "product" - @usableFromInline static let `productSub`: JSString = "productSub" - @usableFromInline static let `promise`: JSString = "promise" - @usableFromInline static let `prompt`: JSString = "prompt" + @usableFromInline static let is2D: JSString = "is2D" + @usableFromInline static let isActive: JSString = "isActive" + @usableFromInline static let isComposing: JSString = "isComposing" + @usableFromInline static let isConfigSupported: JSString = "isConfigSupported" + @usableFromInline static let isConnected: JSString = "isConnected" + @usableFromInline static let isContentEditable: JSString = "isContentEditable" + @usableFromInline static let isContextLost: JSString = "isContextLost" + @usableFromInline static let isDefaultNamespace: JSString = "isDefaultNamespace" + @usableFromInline static let isEqualNode: JSString = "isEqualNode" + @usableFromInline static let isHistoryNavigation: JSString = "isHistoryNavigation" + @usableFromInline static let isIdentity: JSString = "isIdentity" + @usableFromInline static let isMap: JSString = "isMap" + @usableFromInline static let isPointInPath: JSString = "isPointInPath" + @usableFromInline static let isPointInRange: JSString = "isPointInRange" + @usableFromInline static let isPointInStroke: JSString = "isPointInStroke" + @usableFromInline static let isReloadNavigation: JSString = "isReloadNavigation" + @usableFromInline static let isSameNode: JSString = "isSameNode" + @usableFromInline static let isSecureContext: JSString = "isSecureContext" + @usableFromInline static let isTrusted: JSString = "isTrusted" + @usableFromInline static let isTypeSupported: JSString = "isTypeSupported" + @usableFromInline static let item: JSString = "item" + @usableFromInline static let items: JSString = "items" + @usableFromInline static let iterateNext: JSString = "iterateNext" + @usableFromInline static let javaEnabled: JSString = "javaEnabled" + @usableFromInline static let json: JSString = "json" + @usableFromInline static let keepalive: JSString = "keepalive" + @usableFromInline static let key: JSString = "key" + @usableFromInline static let keyCode: JSString = "keyCode" + @usableFromInline static let keyFrame: JSString = "keyFrame" + @usableFromInline static let keys: JSString = "keys" + @usableFromInline static let kind: JSString = "kind" + @usableFromInline static let label: JSString = "label" + @usableFromInline static let labels: JSString = "labels" + @usableFromInline static let lang: JSString = "lang" + @usableFromInline static let language: JSString = "language" + @usableFromInline static let languages: JSString = "languages" + @usableFromInline static let lastChild: JSString = "lastChild" + @usableFromInline static let lastElementChild: JSString = "lastElementChild" + @usableFromInline static let lastEventId: JSString = "lastEventId" + @usableFromInline static let lastModified: JSString = "lastModified" + @usableFromInline static let latency: JSString = "latency" + @usableFromInline static let latencyMode: JSString = "latencyMode" + @usableFromInline static let layout: JSString = "layout" + @usableFromInline static let left: JSString = "left" + @usableFromInline static let length: JSString = "length" + @usableFromInline static let lengthComputable: JSString = "lengthComputable" + @usableFromInline static let letterSpacing: JSString = "letterSpacing" + @usableFromInline static let lineCap: JSString = "lineCap" + @usableFromInline static let lineDashOffset: JSString = "lineDashOffset" + @usableFromInline static let lineJoin: JSString = "lineJoin" + @usableFromInline static let lineTo: JSString = "lineTo" + @usableFromInline static let lineWidth: JSString = "lineWidth" + @usableFromInline static let lineno: JSString = "lineno" + @usableFromInline static let link: JSString = "link" + @usableFromInline static let linkColor: JSString = "linkColor" + @usableFromInline static let links: JSString = "links" + @usableFromInline static let list: JSString = "list" + @usableFromInline static let load: JSString = "load" + @usableFromInline static let loaded: JSString = "loaded" + @usableFromInline static let loading: JSString = "loading" + @usableFromInline static let localName: JSString = "localName" + @usableFromInline static let localStorage: JSString = "localStorage" + @usableFromInline static let location: JSString = "location" + @usableFromInline static let locationbar: JSString = "locationbar" + @usableFromInline static let locked: JSString = "locked" + @usableFromInline static let longDesc: JSString = "longDesc" + @usableFromInline static let lookupNamespaceURI: JSString = "lookupNamespaceURI" + @usableFromInline static let lookupPrefix: JSString = "lookupPrefix" + @usableFromInline static let loop: JSString = "loop" + @usableFromInline static let low: JSString = "low" + @usableFromInline static let lowsrc: JSString = "lowsrc" + @usableFromInline static let m11: JSString = "m11" + @usableFromInline static let m12: JSString = "m12" + @usableFromInline static let m13: JSString = "m13" + @usableFromInline static let m14: JSString = "m14" + @usableFromInline static let m21: JSString = "m21" + @usableFromInline static let m22: JSString = "m22" + @usableFromInline static let m23: JSString = "m23" + @usableFromInline static let m24: JSString = "m24" + @usableFromInline static let m31: JSString = "m31" + @usableFromInline static let m32: JSString = "m32" + @usableFromInline static let m33: JSString = "m33" + @usableFromInline static let m34: JSString = "m34" + @usableFromInline static let m41: JSString = "m41" + @usableFromInline static let m42: JSString = "m42" + @usableFromInline static let m43: JSString = "m43" + @usableFromInline static let m44: JSString = "m44" + @usableFromInline static let marginHeight: JSString = "marginHeight" + @usableFromInline static let marginWidth: JSString = "marginWidth" + @usableFromInline static let match: JSString = "match" + @usableFromInline static let matchAll: JSString = "matchAll" + @usableFromInline static let matchMedia: JSString = "matchMedia" + @usableFromInline static let matches: JSString = "matches" + @usableFromInline static let matrix: JSString = "matrix" + @usableFromInline static let matrixTransform: JSString = "matrixTransform" + @usableFromInline static let max: JSString = "max" + @usableFromInline static let maxLength: JSString = "maxLength" + @usableFromInline static let measureText: JSString = "measureText" + @usableFromInline static let media: JSString = "media" + @usableFromInline static let mediaDevices: JSString = "mediaDevices" + @usableFromInline static let menubar: JSString = "menubar" + @usableFromInline static let message: JSString = "message" + @usableFromInline static let metaKey: JSString = "metaKey" + @usableFromInline static let metadata: JSString = "metadata" + @usableFromInline static let method: JSString = "method" + @usableFromInline static let mimeType: JSString = "mimeType" + @usableFromInline static let mimeTypes: JSString = "mimeTypes" + @usableFromInline static let min: JSString = "min" + @usableFromInline static let minLength: JSString = "minLength" + @usableFromInline static let miterLimit: JSString = "miterLimit" + @usableFromInline static let mode: JSString = "mode" + @usableFromInline static let modifierAltGraph: JSString = "modifierAltGraph" + @usableFromInline static let modifierCapsLock: JSString = "modifierCapsLock" + @usableFromInline static let modifierFn: JSString = "modifierFn" + @usableFromInline static let modifierFnLock: JSString = "modifierFnLock" + @usableFromInline static let modifierHyper: JSString = "modifierHyper" + @usableFromInline static let modifierNumLock: JSString = "modifierNumLock" + @usableFromInline static let modifierScrollLock: JSString = "modifierScrollLock" + @usableFromInline static let modifierSuper: JSString = "modifierSuper" + @usableFromInline static let modifierSymbol: JSString = "modifierSymbol" + @usableFromInline static let modifierSymbolLock: JSString = "modifierSymbolLock" + @usableFromInline static let moveBy: JSString = "moveBy" + @usableFromInline static let moveTo: JSString = "moveTo" + @usableFromInline static let multiple: JSString = "multiple" + @usableFromInline static let multiply: JSString = "multiply" + @usableFromInline static let multiplySelf: JSString = "multiplySelf" + @usableFromInline static let muted: JSString = "muted" + @usableFromInline static let name: JSString = "name" + @usableFromInline static let namedItem: JSString = "namedItem" + @usableFromInline static let namespaceURI: JSString = "namespaceURI" + @usableFromInline static let naturalHeight: JSString = "naturalHeight" + @usableFromInline static let naturalWidth: JSString = "naturalWidth" + @usableFromInline static let navigate: JSString = "navigate" + @usableFromInline static let navigation: JSString = "navigation" + @usableFromInline static let navigationPreload: JSString = "navigationPreload" + @usableFromInline static let navigationType: JSString = "navigationType" + @usableFromInline static let navigator: JSString = "navigator" + @usableFromInline static let networkState: JSString = "networkState" + @usableFromInline static let newState: JSString = "newState" + @usableFromInline static let newURL: JSString = "newURL" + @usableFromInline static let newValue: JSString = "newValue" + @usableFromInline static let nextElementSibling: JSString = "nextElementSibling" + @usableFromInline static let nextNode: JSString = "nextNode" + @usableFromInline static let nextSibling: JSString = "nextSibling" + @usableFromInline static let noHref: JSString = "noHref" + @usableFromInline static let noModule: JSString = "noModule" + @usableFromInline static let noResize: JSString = "noResize" + @usableFromInline static let noShade: JSString = "noShade" + @usableFromInline static let noValidate: JSString = "noValidate" + @usableFromInline static let noWrap: JSString = "noWrap" + @usableFromInline static let nodeName: JSString = "nodeName" + @usableFromInline static let nodeType: JSString = "nodeType" + @usableFromInline static let nodeValue: JSString = "nodeValue" + @usableFromInline static let noiseSuppression: JSString = "noiseSuppression" + @usableFromInline static let nonce: JSString = "nonce" + @usableFromInline static let normalize: JSString = "normalize" + @usableFromInline static let now: JSString = "now" + @usableFromInline static let numberOfChannels: JSString = "numberOfChannels" + @usableFromInline static let numberOfFrames: JSString = "numberOfFrames" + @usableFromInline static let numberValue: JSString = "numberValue" + @usableFromInline static let observe: JSString = "observe" + @usableFromInline static let offset: JSString = "offset" + @usableFromInline static let offsetHeight: JSString = "offsetHeight" + @usableFromInline static let offsetLeft: JSString = "offsetLeft" + @usableFromInline static let offsetNode: JSString = "offsetNode" + @usableFromInline static let offsetParent: JSString = "offsetParent" + @usableFromInline static let offsetTop: JSString = "offsetTop" + @usableFromInline static let offsetWidth: JSString = "offsetWidth" + @usableFromInline static let offsetX: JSString = "offsetX" + @usableFromInline static let offsetY: JSString = "offsetY" + @usableFromInline static let ok: JSString = "ok" + @usableFromInline static let oldState: JSString = "oldState" + @usableFromInline static let oldURL: JSString = "oldURL" + @usableFromInline static let oldValue: JSString = "oldValue" + @usableFromInline static let onLine: JSString = "onLine" + @usableFromInline static let onabort: JSString = "onabort" + @usableFromInline static let onaddsourcebuffer: JSString = "onaddsourcebuffer" + @usableFromInline static let onaddtrack: JSString = "onaddtrack" + @usableFromInline static let onafterprint: JSString = "onafterprint" + @usableFromInline static let onauxclick: JSString = "onauxclick" + @usableFromInline static let onbeforeinput: JSString = "onbeforeinput" + @usableFromInline static let onbeforematch: JSString = "onbeforematch" + @usableFromInline static let onbeforeprint: JSString = "onbeforeprint" + @usableFromInline static let onbeforetoggle: JSString = "onbeforetoggle" + @usableFromInline static let onbeforeunload: JSString = "onbeforeunload" + @usableFromInline static let onblur: JSString = "onblur" + @usableFromInline static let oncancel: JSString = "oncancel" + @usableFromInline static let oncanplay: JSString = "oncanplay" + @usableFromInline static let oncanplaythrough: JSString = "oncanplaythrough" + @usableFromInline static let once: JSString = "once" + @usableFromInline static let onchange: JSString = "onchange" + @usableFromInline static let onclick: JSString = "onclick" + @usableFromInline static let onclose: JSString = "onclose" + @usableFromInline static let oncontextlost: JSString = "oncontextlost" + @usableFromInline static let oncontextmenu: JSString = "oncontextmenu" + @usableFromInline static let oncontextrestored: JSString = "oncontextrestored" + @usableFromInline static let oncontrollerchange: JSString = "oncontrollerchange" + @usableFromInline static let oncopy: JSString = "oncopy" + @usableFromInline static let oncuechange: JSString = "oncuechange" + @usableFromInline static let oncurrententrychange: JSString = "oncurrententrychange" + @usableFromInline static let oncut: JSString = "oncut" + @usableFromInline static let ondataavailable: JSString = "ondataavailable" + @usableFromInline static let ondblclick: JSString = "ondblclick" + @usableFromInline static let ondequeue: JSString = "ondequeue" + @usableFromInline static let ondevicechange: JSString = "ondevicechange" + @usableFromInline static let ondispose: JSString = "ondispose" + @usableFromInline static let ondrag: JSString = "ondrag" + @usableFromInline static let ondragend: JSString = "ondragend" + @usableFromInline static let ondragenter: JSString = "ondragenter" + @usableFromInline static let ondragleave: JSString = "ondragleave" + @usableFromInline static let ondragover: JSString = "ondragover" + @usableFromInline static let ondragstart: JSString = "ondragstart" + @usableFromInline static let ondrop: JSString = "ondrop" + @usableFromInline static let ondurationchange: JSString = "ondurationchange" + @usableFromInline static let onemptied: JSString = "onemptied" + @usableFromInline static let onended: JSString = "onended" + @usableFromInline static let onenter: JSString = "onenter" + @usableFromInline static let onerror: JSString = "onerror" + @usableFromInline static let onexit: JSString = "onexit" + @usableFromInline static let onfocus: JSString = "onfocus" + @usableFromInline static let onformdata: JSString = "onformdata" + @usableFromInline static let onhashchange: JSString = "onhashchange" + @usableFromInline static let oninput: JSString = "oninput" + @usableFromInline static let oninvalid: JSString = "oninvalid" + @usableFromInline static let onkeydown: JSString = "onkeydown" + @usableFromInline static let onkeypress: JSString = "onkeypress" + @usableFromInline static let onkeyup: JSString = "onkeyup" + @usableFromInline static let onlanguagechange: JSString = "onlanguagechange" + @usableFromInline static let onload: JSString = "onload" + @usableFromInline static let onloadeddata: JSString = "onloadeddata" + @usableFromInline static let onloadedmetadata: JSString = "onloadedmetadata" + @usableFromInline static let onloadend: JSString = "onloadend" + @usableFromInline static let onloadstart: JSString = "onloadstart" + @usableFromInline static let onmessage: JSString = "onmessage" + @usableFromInline static let onmessageerror: JSString = "onmessageerror" + @usableFromInline static let onmousedown: JSString = "onmousedown" + @usableFromInline static let onmouseenter: JSString = "onmouseenter" + @usableFromInline static let onmouseleave: JSString = "onmouseleave" + @usableFromInline static let onmousemove: JSString = "onmousemove" + @usableFromInline static let onmouseout: JSString = "onmouseout" + @usableFromInline static let onmouseover: JSString = "onmouseover" + @usableFromInline static let onmouseup: JSString = "onmouseup" + @usableFromInline static let onmute: JSString = "onmute" + @usableFromInline static let onnavigate: JSString = "onnavigate" + @usableFromInline static let onnavigateerror: JSString = "onnavigateerror" + @usableFromInline static let onnavigatesuccess: JSString = "onnavigatesuccess" + @usableFromInline static let onoffline: JSString = "onoffline" + @usableFromInline static let ononline: JSString = "ononline" + @usableFromInline static let onopen: JSString = "onopen" + @usableFromInline static let onpagehide: JSString = "onpagehide" + @usableFromInline static let onpageshow: JSString = "onpageshow" + @usableFromInline static let onpaste: JSString = "onpaste" + @usableFromInline static let onpause: JSString = "onpause" + @usableFromInline static let onplay: JSString = "onplay" + @usableFromInline static let onplaying: JSString = "onplaying" + @usableFromInline static let onpopstate: JSString = "onpopstate" + @usableFromInline static let onprogress: JSString = "onprogress" + @usableFromInline static let onratechange: JSString = "onratechange" + @usableFromInline static let onreadystatechange: JSString = "onreadystatechange" + @usableFromInline static let onrejectionhandled: JSString = "onrejectionhandled" + @usableFromInline static let onremovesourcebuffer: JSString = "onremovesourcebuffer" + @usableFromInline static let onremovetrack: JSString = "onremovetrack" + @usableFromInline static let onreset: JSString = "onreset" + @usableFromInline static let onresize: JSString = "onresize" + @usableFromInline static let onresume: JSString = "onresume" + @usableFromInline static let onscroll: JSString = "onscroll" + @usableFromInline static let onscrollend: JSString = "onscrollend" + @usableFromInline static let onsecuritypolicyviolation: JSString = "onsecuritypolicyviolation" + @usableFromInline static let onseeked: JSString = "onseeked" + @usableFromInline static let onseeking: JSString = "onseeking" + @usableFromInline static let onselect: JSString = "onselect" + @usableFromInline static let onslotchange: JSString = "onslotchange" + @usableFromInline static let onsourceclose: JSString = "onsourceclose" + @usableFromInline static let onsourceended: JSString = "onsourceended" + @usableFromInline static let onsourceopen: JSString = "onsourceopen" + @usableFromInline static let onstalled: JSString = "onstalled" + @usableFromInline static let onstart: JSString = "onstart" + @usableFromInline static let onstatechange: JSString = "onstatechange" + @usableFromInline static let onstop: JSString = "onstop" + @usableFromInline static let onstorage: JSString = "onstorage" + @usableFromInline static let onsubmit: JSString = "onsubmit" + @usableFromInline static let onsuspend: JSString = "onsuspend" + @usableFromInline static let ontimeout: JSString = "ontimeout" + @usableFromInline static let ontimeupdate: JSString = "ontimeupdate" + @usableFromInline static let ontoggle: JSString = "ontoggle" + @usableFromInline static let ontouchcancel: JSString = "ontouchcancel" + @usableFromInline static let ontouchend: JSString = "ontouchend" + @usableFromInline static let ontouchmove: JSString = "ontouchmove" + @usableFromInline static let ontouchstart: JSString = "ontouchstart" + @usableFromInline static let onunhandledrejection: JSString = "onunhandledrejection" + @usableFromInline static let onunload: JSString = "onunload" + @usableFromInline static let onunmute: JSString = "onunmute" + @usableFromInline static let onupdate: JSString = "onupdate" + @usableFromInline static let onupdateend: JSString = "onupdateend" + @usableFromInline static let onupdatefound: JSString = "onupdatefound" + @usableFromInline static let onupdatestart: JSString = "onupdatestart" + @usableFromInline static let onvisibilitychange: JSString = "onvisibilitychange" + @usableFromInline static let onvolumechange: JSString = "onvolumechange" + @usableFromInline static let onwaiting: JSString = "onwaiting" + @usableFromInline static let onwebkitanimationend: JSString = "onwebkitanimationend" + @usableFromInline static let onwebkitanimationiteration: JSString = "onwebkitanimationiteration" + @usableFromInline static let onwebkitanimationstart: JSString = "onwebkitanimationstart" + @usableFromInline static let onwebkittransitionend: JSString = "onwebkittransitionend" + @usableFromInline static let onwheel: JSString = "onwheel" + @usableFromInline static let open: JSString = "open" + @usableFromInline static let opener: JSString = "opener" + @usableFromInline static let optimizeForLatency: JSString = "optimizeForLatency" + @usableFromInline static let optimum: JSString = "optimum" + @usableFromInline static let options: JSString = "options" + @usableFromInline static let origin: JSString = "origin" + @usableFromInline static let originAgentCluster: JSString = "originAgentCluster" + @usableFromInline static let oscpu: JSString = "oscpu" + @usableFromInline static let outerHeight: JSString = "outerHeight" + @usableFromInline static let outerText: JSString = "outerText" + @usableFromInline static let outerWidth: JSString = "outerWidth" + @usableFromInline static let output: JSString = "output" + @usableFromInline static let overrideMimeType: JSString = "overrideMimeType" + @usableFromInline static let ownerDocument: JSString = "ownerDocument" + @usableFromInline static let ownerElement: JSString = "ownerElement" + @usableFromInline static let p1: JSString = "p1" + @usableFromInline static let p2: JSString = "p2" + @usableFromInline static let p3: JSString = "p3" + @usableFromInline static let p4: JSString = "p4" + @usableFromInline static let pageLeft: JSString = "pageLeft" + @usableFromInline static let pageTop: JSString = "pageTop" + @usableFromInline static let pageX: JSString = "pageX" + @usableFromInline static let pageXOffset: JSString = "pageXOffset" + @usableFromInline static let pageY: JSString = "pageY" + @usableFromInline static let pageYOffset: JSString = "pageYOffset" + @usableFromInline static let panTiltZoom: JSString = "panTiltZoom" + @usableFromInline static let parent: JSString = "parent" + @usableFromInline static let parentElement: JSString = "parentElement" + @usableFromInline static let parentNode: JSString = "parentNode" + @usableFromInline static let parseFromString: JSString = "parseFromString" + @usableFromInline static let passive: JSString = "passive" + @usableFromInline static let password: JSString = "password" + @usableFromInline static let pathname: JSString = "pathname" + @usableFromInline static let pattern: JSString = "pattern" + @usableFromInline static let patternMismatch: JSString = "patternMismatch" + @usableFromInline static let pause: JSString = "pause" + @usableFromInline static let pauseOnExit: JSString = "pauseOnExit" + @usableFromInline static let paused: JSString = "paused" + @usableFromInline static let pdfViewerEnabled: JSString = "pdfViewerEnabled" + @usableFromInline static let performance: JSString = "performance" + @usableFromInline static let permissions: JSString = "permissions" + @usableFromInline static let persisted: JSString = "persisted" + @usableFromInline static let personalbar: JSString = "personalbar" + @usableFromInline static let ping: JSString = "ping" + @usableFromInline static let pipeThrough: JSString = "pipeThrough" + @usableFromInline static let pipeTo: JSString = "pipeTo" + @usableFromInline static let pixelDepth: JSString = "pixelDepth" + @usableFromInline static let placeholder: JSString = "placeholder" + @usableFromInline static let planeIndex: JSString = "planeIndex" + @usableFromInline static let platform: JSString = "platform" + @usableFromInline static let play: JSString = "play" + @usableFromInline static let playbackRate: JSString = "playbackRate" + @usableFromInline static let played: JSString = "played" + @usableFromInline static let playsInline: JSString = "playsInline" + @usableFromInline static let plugins: JSString = "plugins" + @usableFromInline static let pointerBeforeReferenceNode: JSString = "pointerBeforeReferenceNode" + @usableFromInline static let popover: JSString = "popover" + @usableFromInline static let popoverTargetAction: JSString = "popoverTargetAction" + @usableFromInline static let popoverTargetElement: JSString = "popoverTargetElement" + @usableFromInline static let port: JSString = "port" + @usableFromInline static let port1: JSString = "port1" + @usableFromInline static let port2: JSString = "port2" + @usableFromInline static let ports: JSString = "ports" + @usableFromInline static let position: JSString = "position" + @usableFromInline static let postMessage: JSString = "postMessage" + @usableFromInline static let poster: JSString = "poster" + @usableFromInline static let preMultiplySelf: JSString = "preMultiplySelf" + @usableFromInline static let preferAnimation: JSString = "preferAnimation" + @usableFromInline static let prefix: JSString = "prefix" + @usableFromInline static let preload: JSString = "preload" + @usableFromInline static let preloadResponse: JSString = "preloadResponse" + @usableFromInline static let premultiplyAlpha: JSString = "premultiplyAlpha" + @usableFromInline static let prepend: JSString = "prepend" + @usableFromInline static let preservesPitch: JSString = "preservesPitch" + @usableFromInline static let prevValue: JSString = "prevValue" + @usableFromInline static let preventAbort: JSString = "preventAbort" + @usableFromInline static let preventCancel: JSString = "preventCancel" + @usableFromInline static let preventClose: JSString = "preventClose" + @usableFromInline static let preventDefault: JSString = "preventDefault" + @usableFromInline static let preventScroll: JSString = "preventScroll" + @usableFromInline static let previousElementSibling: JSString = "previousElementSibling" + @usableFromInline static let previousNode: JSString = "previousNode" + @usableFromInline static let previousSibling: JSString = "previousSibling" + @usableFromInline static let primaries: JSString = "primaries" + @usableFromInline static let print: JSString = "print" + @usableFromInline static let priority: JSString = "priority" + @usableFromInline static let product: JSString = "product" + @usableFromInline static let productSub: JSString = "productSub" + @usableFromInline static let promise: JSString = "promise" + @usableFromInline static let prompt: JSString = "prompt" @usableFromInline static let `protocol`: JSString = "protocol" - @usableFromInline static let `pseudo`: JSString = "pseudo" - @usableFromInline static let `publicId`: JSString = "publicId" - @usableFromInline static let `pull`: JSString = "pull" - @usableFromInline static let `pushState`: JSString = "pushState" - @usableFromInline static let `put`: JSString = "put" - @usableFromInline static let `putImageData`: JSString = "putImageData" - @usableFromInline static let `quadraticCurveTo`: JSString = "quadraticCurveTo" - @usableFromInline static let `quality`: JSString = "quality" - @usableFromInline static let `query`: JSString = "query" - @usableFromInline static let `queryCommandEnabled`: JSString = "queryCommandEnabled" - @usableFromInline static let `queryCommandIndeterm`: JSString = "queryCommandIndeterm" - @usableFromInline static let `queryCommandState`: JSString = "queryCommandState" - @usableFromInline static let `queryCommandSupported`: JSString = "queryCommandSupported" - @usableFromInline static let `queryCommandValue`: JSString = "queryCommandValue" - @usableFromInline static let `querySelector`: JSString = "querySelector" - @usableFromInline static let `querySelectorAll`: JSString = "querySelectorAll" - @usableFromInline static let `queueMicrotask`: JSString = "queueMicrotask" - @usableFromInline static let `radiusX`: JSString = "radiusX" - @usableFromInline static let `radiusY`: JSString = "radiusY" - @usableFromInline static let `rangeOverflow`: JSString = "rangeOverflow" - @usableFromInline static let `rangeUnderflow`: JSString = "rangeUnderflow" - @usableFromInline static let `read`: JSString = "read" - @usableFromInline static let `readAsArrayBuffer`: JSString = "readAsArrayBuffer" - @usableFromInline static let `readAsBinaryString`: JSString = "readAsBinaryString" - @usableFromInline static let `readAsDataURL`: JSString = "readAsDataURL" - @usableFromInline static let `readAsText`: JSString = "readAsText" - @usableFromInline static let `readOnly`: JSString = "readOnly" - @usableFromInline static let `readable`: JSString = "readable" - @usableFromInline static let `readableType`: JSString = "readableType" - @usableFromInline static let `ready`: JSString = "ready" - @usableFromInline static let `readyState`: JSString = "readyState" - @usableFromInline static let `reason`: JSString = "reason" - @usableFromInline static let `rect`: JSString = "rect" - @usableFromInline static let `redirect`: JSString = "redirect" - @usableFromInline static let `redirected`: JSString = "redirected" - @usableFromInline static let `referenceNode`: JSString = "referenceNode" - @usableFromInline static let `referrer`: JSString = "referrer" - @usableFromInline static let `referrerPolicy`: JSString = "referrerPolicy" - @usableFromInline static let `refresh`: JSString = "refresh" - @usableFromInline static let `register`: JSString = "register" - @usableFromInline static let `registerProtocolHandler`: JSString = "registerProtocolHandler" - @usableFromInline static let `rel`: JSString = "rel" - @usableFromInline static let `relList`: JSString = "relList" - @usableFromInline static let `relatedNode`: JSString = "relatedNode" - @usableFromInline static let `relatedTarget`: JSString = "relatedTarget" - @usableFromInline static let `relativeTo`: JSString = "relativeTo" - @usableFromInline static let `releaseEvents`: JSString = "releaseEvents" - @usableFromInline static let `releaseLock`: JSString = "releaseLock" - @usableFromInline static let `reload`: JSString = "reload" - @usableFromInline static let `remove`: JSString = "remove" - @usableFromInline static let `removeAttribute`: JSString = "removeAttribute" - @usableFromInline static let `removeAttributeNS`: JSString = "removeAttributeNS" - @usableFromInline static let `removeAttributeNode`: JSString = "removeAttributeNode" - @usableFromInline static let `removeChild`: JSString = "removeChild" - @usableFromInline static let `removeCue`: JSString = "removeCue" - @usableFromInline static let `removeEventListener`: JSString = "removeEventListener" - @usableFromInline static let `removeListener`: JSString = "removeListener" - @usableFromInline static let `removeNamedItem`: JSString = "removeNamedItem" - @usableFromInline static let `removeNamedItemNS`: JSString = "removeNamedItemNS" - @usableFromInline static let `removeParameter`: JSString = "removeParameter" - @usableFromInline static let `removeSourceBuffer`: JSString = "removeSourceBuffer" - @usableFromInline static let `removeTrack`: JSString = "removeTrack" - @usableFromInline static let `removedNodes`: JSString = "removedNodes" + @usableFromInline static let pseudo: JSString = "pseudo" + @usableFromInline static let publicId: JSString = "publicId" + @usableFromInline static let pull: JSString = "pull" + @usableFromInline static let pushState: JSString = "pushState" + @usableFromInline static let put: JSString = "put" + @usableFromInline static let putImageData: JSString = "putImageData" + @usableFromInline static let quadraticCurveTo: JSString = "quadraticCurveTo" + @usableFromInline static let quality: JSString = "quality" + @usableFromInline static let query: JSString = "query" + @usableFromInline static let queryCommandEnabled: JSString = "queryCommandEnabled" + @usableFromInline static let queryCommandIndeterm: JSString = "queryCommandIndeterm" + @usableFromInline static let queryCommandState: JSString = "queryCommandState" + @usableFromInline static let queryCommandSupported: JSString = "queryCommandSupported" + @usableFromInline static let queryCommandValue: JSString = "queryCommandValue" + @usableFromInline static let querySelector: JSString = "querySelector" + @usableFromInline static let querySelectorAll: JSString = "querySelectorAll" + @usableFromInline static let queueMicrotask: JSString = "queueMicrotask" + @usableFromInline static let radiusX: JSString = "radiusX" + @usableFromInline static let radiusY: JSString = "radiusY" + @usableFromInline static let rangeOverflow: JSString = "rangeOverflow" + @usableFromInline static let rangeUnderflow: JSString = "rangeUnderflow" + @usableFromInline static let read: JSString = "read" + @usableFromInline static let readAsArrayBuffer: JSString = "readAsArrayBuffer" + @usableFromInline static let readAsBinaryString: JSString = "readAsBinaryString" + @usableFromInline static let readAsDataURL: JSString = "readAsDataURL" + @usableFromInline static let readAsText: JSString = "readAsText" + @usableFromInline static let readOnly: JSString = "readOnly" + @usableFromInline static let readable: JSString = "readable" + @usableFromInline static let readableType: JSString = "readableType" + @usableFromInline static let ready: JSString = "ready" + @usableFromInline static let readyState: JSString = "readyState" + @usableFromInline static let reason: JSString = "reason" + @usableFromInline static let rect: JSString = "rect" + @usableFromInline static let redirect: JSString = "redirect" + @usableFromInline static let redirected: JSString = "redirected" + @usableFromInline static let referenceNode: JSString = "referenceNode" + @usableFromInline static let referrer: JSString = "referrer" + @usableFromInline static let referrerPolicy: JSString = "referrerPolicy" + @usableFromInline static let refresh: JSString = "refresh" + @usableFromInline static let register: JSString = "register" + @usableFromInline static let registerProtocolHandler: JSString = "registerProtocolHandler" + @usableFromInline static let rel: JSString = "rel" + @usableFromInline static let relList: JSString = "relList" + @usableFromInline static let relatedNode: JSString = "relatedNode" + @usableFromInline static let relatedTarget: JSString = "relatedTarget" + @usableFromInline static let relativeTo: JSString = "relativeTo" + @usableFromInline static let releaseEvents: JSString = "releaseEvents" + @usableFromInline static let releaseLock: JSString = "releaseLock" + @usableFromInline static let reload: JSString = "reload" + @usableFromInline static let remove: JSString = "remove" + @usableFromInline static let removeAttribute: JSString = "removeAttribute" + @usableFromInline static let removeAttributeNS: JSString = "removeAttributeNS" + @usableFromInline static let removeAttributeNode: JSString = "removeAttributeNode" + @usableFromInline static let removeChild: JSString = "removeChild" + @usableFromInline static let removeCue: JSString = "removeCue" + @usableFromInline static let removeEventListener: JSString = "removeEventListener" + @usableFromInline static let removeListener: JSString = "removeListener" + @usableFromInline static let removeNamedItem: JSString = "removeNamedItem" + @usableFromInline static let removeNamedItemNS: JSString = "removeNamedItemNS" + @usableFromInline static let removeParameter: JSString = "removeParameter" + @usableFromInline static let removeSourceBuffer: JSString = "removeSourceBuffer" + @usableFromInline static let removeTrack: JSString = "removeTrack" + @usableFromInline static let removedNodes: JSString = "removedNodes" @usableFromInline static let `repeat`: JSString = "repeat" - @usableFromInline static let `repetitionCount`: JSString = "repetitionCount" - @usableFromInline static let `replace`: JSString = "replace" - @usableFromInline static let `replaceChild`: JSString = "replaceChild" - @usableFromInline static let `replaceChildren`: JSString = "replaceChildren" - @usableFromInline static let `replaceData`: JSString = "replaceData" - @usableFromInline static let `replaceState`: JSString = "replaceState" - @usableFromInline static let `replaceWith`: JSString = "replaceWith" - @usableFromInline static let `replacesClientId`: JSString = "replacesClientId" - @usableFromInline static let `reportError`: JSString = "reportError" - @usableFromInline static let `reportValidity`: JSString = "reportValidity" - @usableFromInline static let `request`: JSString = "request" - @usableFromInline static let `requestAnimationFrame`: JSString = "requestAnimationFrame" - @usableFromInline static let `requestData`: JSString = "requestData" - @usableFromInline static let `requestSubmit`: JSString = "requestSubmit" - @usableFromInline static let `required`: JSString = "required" - @usableFromInline static let `reset`: JSString = "reset" - @usableFromInline static let `resetTransform`: JSString = "resetTransform" - @usableFromInline static let `resizeBy`: JSString = "resizeBy" - @usableFromInline static let `resizeHeight`: JSString = "resizeHeight" - @usableFromInline static let `resizeMode`: JSString = "resizeMode" - @usableFromInline static let `resizeQuality`: JSString = "resizeQuality" - @usableFromInline static let `resizeTo`: JSString = "resizeTo" - @usableFromInline static let `resizeWidth`: JSString = "resizeWidth" - @usableFromInline static let `respond`: JSString = "respond" - @usableFromInline static let `respondWithNewView`: JSString = "respondWithNewView" - @usableFromInline static let `response`: JSString = "response" - @usableFromInline static let `responseText`: JSString = "responseText" - @usableFromInline static let `responseType`: JSString = "responseType" - @usableFromInline static let `responseURL`: JSString = "responseURL" - @usableFromInline static let `responseXML`: JSString = "responseXML" - @usableFromInline static let `restore`: JSString = "restore" - @usableFromInline static let `result`: JSString = "result" - @usableFromInline static let `resultType`: JSString = "resultType" - @usableFromInline static let `resultingClientId`: JSString = "resultingClientId" - @usableFromInline static let `resume`: JSString = "resume" - @usableFromInline static let `returnValue`: JSString = "returnValue" - @usableFromInline static let `rev`: JSString = "rev" - @usableFromInline static let `reversed`: JSString = "reversed" - @usableFromInline static let `revokeObjectURL`: JSString = "revokeObjectURL" - @usableFromInline static let `right`: JSString = "right" - @usableFromInline static let `role`: JSString = "role" - @usableFromInline static let `root`: JSString = "root" - @usableFromInline static let `rotate`: JSString = "rotate" - @usableFromInline static let `rotateAxisAngle`: JSString = "rotateAxisAngle" - @usableFromInline static let `rotateAxisAngleSelf`: JSString = "rotateAxisAngleSelf" - @usableFromInline static let `rotateFromVector`: JSString = "rotateFromVector" - @usableFromInline static let `rotateFromVectorSelf`: JSString = "rotateFromVectorSelf" - @usableFromInline static let `rotateSelf`: JSString = "rotateSelf" - @usableFromInline static let `rotationAngle`: JSString = "rotationAngle" - @usableFromInline static let `roundRect`: JSString = "roundRect" - @usableFromInline static let `rowIndex`: JSString = "rowIndex" - @usableFromInline static let `rowSpan`: JSString = "rowSpan" - @usableFromInline static let `rows`: JSString = "rows" - @usableFromInline static let `rules`: JSString = "rules" - @usableFromInline static let `sameDocument`: JSString = "sameDocument" - @usableFromInline static let `sampleRate`: JSString = "sampleRate" - @usableFromInline static let `sampleSize`: JSString = "sampleSize" - @usableFromInline static let `sandbox`: JSString = "sandbox" - @usableFromInline static let `save`: JSString = "save" - @usableFromInline static let `scalabilityMode`: JSString = "scalabilityMode" - @usableFromInline static let `scale`: JSString = "scale" - @usableFromInline static let `scale3d`: JSString = "scale3d" - @usableFromInline static let `scale3dSelf`: JSString = "scale3dSelf" - @usableFromInline static let `scaleNonUniform`: JSString = "scaleNonUniform" - @usableFromInline static let `scaleSelf`: JSString = "scaleSelf" - @usableFromInline static let `scheme`: JSString = "scheme" - @usableFromInline static let `scope`: JSString = "scope" - @usableFromInline static let `screen`: JSString = "screen" - @usableFromInline static let `screenLeft`: JSString = "screenLeft" - @usableFromInline static let `screenTop`: JSString = "screenTop" - @usableFromInline static let `screenX`: JSString = "screenX" - @usableFromInline static let `screenY`: JSString = "screenY" - @usableFromInline static let `scriptURL`: JSString = "scriptURL" - @usableFromInline static let `scripts`: JSString = "scripts" - @usableFromInline static let `scroll`: JSString = "scroll" - @usableFromInline static let `scrollAmount`: JSString = "scrollAmount" - @usableFromInline static let `scrollBy`: JSString = "scrollBy" - @usableFromInline static let `scrollDelay`: JSString = "scrollDelay" - @usableFromInline static let `scrollHeight`: JSString = "scrollHeight" - @usableFromInline static let `scrollIntoView`: JSString = "scrollIntoView" - @usableFromInline static let `scrollLeft`: JSString = "scrollLeft" - @usableFromInline static let `scrollPathIntoView`: JSString = "scrollPathIntoView" - @usableFromInline static let `scrollRestoration`: JSString = "scrollRestoration" - @usableFromInline static let `scrollTo`: JSString = "scrollTo" - @usableFromInline static let `scrollTop`: JSString = "scrollTop" - @usableFromInline static let `scrollWidth`: JSString = "scrollWidth" - @usableFromInline static let `scrollX`: JSString = "scrollX" - @usableFromInline static let `scrollY`: JSString = "scrollY" - @usableFromInline static let `scrollbars`: JSString = "scrollbars" - @usableFromInline static let `scrolling`: JSString = "scrolling" - @usableFromInline static let `scrollingElement`: JSString = "scrollingElement" - @usableFromInline static let `search`: JSString = "search" - @usableFromInline static let `sectionRowIndex`: JSString = "sectionRowIndex" - @usableFromInline static let `seekable`: JSString = "seekable" - @usableFromInline static let `seeking`: JSString = "seeking" - @usableFromInline static let `select`: JSString = "select" - @usableFromInline static let `selectNode`: JSString = "selectNode" - @usableFromInline static let `selectNodeContents`: JSString = "selectNodeContents" - @usableFromInline static let `selected`: JSString = "selected" - @usableFromInline static let `selectedIndex`: JSString = "selectedIndex" - @usableFromInline static let `selectedOptions`: JSString = "selectedOptions" - @usableFromInline static let `selectedTrack`: JSString = "selectedTrack" - @usableFromInline static let `selectionDirection`: JSString = "selectionDirection" - @usableFromInline static let `selectionEnd`: JSString = "selectionEnd" - @usableFromInline static let `selectionStart`: JSString = "selectionStart" - @usableFromInline static let `send`: JSString = "send" - @usableFromInline static let `serviceWorker`: JSString = "serviceWorker" - @usableFromInline static let `sessionStorage`: JSString = "sessionStorage" - @usableFromInline static let `set`: JSString = "set" - @usableFromInline static let `setAttribute`: JSString = "setAttribute" - @usableFromInline static let `setAttributeNS`: JSString = "setAttributeNS" - @usableFromInline static let `setAttributeNode`: JSString = "setAttributeNode" - @usableFromInline static let `setAttributeNodeNS`: JSString = "setAttributeNodeNS" - @usableFromInline static let `setCustomValidity`: JSString = "setCustomValidity" - @usableFromInline static let `setData`: JSString = "setData" - @usableFromInline static let `setDragImage`: JSString = "setDragImage" - @usableFromInline static let `setEnd`: JSString = "setEnd" - @usableFromInline static let `setEndAfter`: JSString = "setEndAfter" - @usableFromInline static let `setEndBefore`: JSString = "setEndBefore" - @usableFromInline static let `setFormValue`: JSString = "setFormValue" - @usableFromInline static let `setHeaderValue`: JSString = "setHeaderValue" - @usableFromInline static let `setInterval`: JSString = "setInterval" - @usableFromInline static let `setLineDash`: JSString = "setLineDash" - @usableFromInline static let `setLiveSeekableRange`: JSString = "setLiveSeekableRange" - @usableFromInline static let `setMatrixValue`: JSString = "setMatrixValue" - @usableFromInline static let `setNamedItem`: JSString = "setNamedItem" - @usableFromInline static let `setNamedItemNS`: JSString = "setNamedItemNS" - @usableFromInline static let `setParameter`: JSString = "setParameter" - @usableFromInline static let `setRangeText`: JSString = "setRangeText" - @usableFromInline static let `setRequestHeader`: JSString = "setRequestHeader" - @usableFromInline static let `setSelectionRange`: JSString = "setSelectionRange" - @usableFromInline static let `setStart`: JSString = "setStart" - @usableFromInline static let `setStartAfter`: JSString = "setStartAfter" - @usableFromInline static let `setStartBefore`: JSString = "setStartBefore" - @usableFromInline static let `setTimeout`: JSString = "setTimeout" - @usableFromInline static let `setTransform`: JSString = "setTransform" - @usableFromInline static let `setValidity`: JSString = "setValidity" - @usableFromInline static let `shadowBlur`: JSString = "shadowBlur" - @usableFromInline static let `shadowColor`: JSString = "shadowColor" - @usableFromInline static let `shadowOffsetX`: JSString = "shadowOffsetX" - @usableFromInline static let `shadowOffsetY`: JSString = "shadowOffsetY" - @usableFromInline static let `shadowRoot`: JSString = "shadowRoot" - @usableFromInline static let `shape`: JSString = "shape" - @usableFromInline static let `shiftKey`: JSString = "shiftKey" - @usableFromInline static let `show`: JSString = "show" - @usableFromInline static let `showModal`: JSString = "showModal" - @usableFromInline static let `showPicker`: JSString = "showPicker" - @usableFromInline static let `showPopover`: JSString = "showPopover" - @usableFromInline static let `signal`: JSString = "signal" - @usableFromInline static let `singleNodeValue`: JSString = "singleNodeValue" - @usableFromInline static let `size`: JSString = "size" - @usableFromInline static let `sizes`: JSString = "sizes" - @usableFromInline static let `skewX`: JSString = "skewX" - @usableFromInline static let `skewXSelf`: JSString = "skewXSelf" - @usableFromInline static let `skewY`: JSString = "skewY" - @usableFromInline static let `skewYSelf`: JSString = "skewYSelf" - @usableFromInline static let `skipTransition`: JSString = "skipTransition" - @usableFromInline static let `slice`: JSString = "slice" - @usableFromInline static let `slot`: JSString = "slot" - @usableFromInline static let `slotAssignment`: JSString = "slotAssignment" - @usableFromInline static let `snapshotItem`: JSString = "snapshotItem" - @usableFromInline static let `snapshotLength`: JSString = "snapshotLength" - @usableFromInline static let `source`: JSString = "source" - @usableFromInline static let `sourceBuffer`: JSString = "sourceBuffer" - @usableFromInline static let `sourceBuffers`: JSString = "sourceBuffers" - @usableFromInline static let `span`: JSString = "span" - @usableFromInline static let `specified`: JSString = "specified" - @usableFromInline static let `spellcheck`: JSString = "spellcheck" - @usableFromInline static let `splitText`: JSString = "splitText" - @usableFromInline static let `src`: JSString = "src" - @usableFromInline static let `srcElement`: JSString = "srcElement" - @usableFromInline static let `srcObject`: JSString = "srcObject" - @usableFromInline static let `srcdoc`: JSString = "srcdoc" - @usableFromInline static let `srclang`: JSString = "srclang" - @usableFromInline static let `srcset`: JSString = "srcset" - @usableFromInline static let `standby`: JSString = "standby" - @usableFromInline static let `start`: JSString = "start" - @usableFromInline static let `startContainer`: JSString = "startContainer" - @usableFromInline static let `startMessages`: JSString = "startMessages" - @usableFromInline static let `startOffset`: JSString = "startOffset" - @usableFromInline static let `startTime`: JSString = "startTime" - @usableFromInline static let `startViewTransition`: JSString = "startViewTransition" - @usableFromInline static let `state`: JSString = "state" - @usableFromInline static let `status`: JSString = "status" - @usableFromInline static let `statusText`: JSString = "statusText" - @usableFromInline static let `statusbar`: JSString = "statusbar" - @usableFromInline static let `step`: JSString = "step" - @usableFromInline static let `stepDown`: JSString = "stepDown" - @usableFromInline static let `stepMismatch`: JSString = "stepMismatch" - @usableFromInline static let `stepUp`: JSString = "stepUp" - @usableFromInline static let `stop`: JSString = "stop" - @usableFromInline static let `stopImmediatePropagation`: JSString = "stopImmediatePropagation" - @usableFromInline static let `stopPropagation`: JSString = "stopPropagation" - @usableFromInline static let `storageArea`: JSString = "storageArea" - @usableFromInline static let `stream`: JSString = "stream" - @usableFromInline static let `stride`: JSString = "stride" - @usableFromInline static let `stringValue`: JSString = "stringValue" - @usableFromInline static let `stroke`: JSString = "stroke" - @usableFromInline static let `strokeRect`: JSString = "strokeRect" - @usableFromInline static let `strokeStyle`: JSString = "strokeStyle" - @usableFromInline static let `strokeText`: JSString = "strokeText" - @usableFromInline static let `structuredClone`: JSString = "structuredClone" - @usableFromInline static let `submit`: JSString = "submit" - @usableFromInline static let `submitter`: JSString = "submitter" - @usableFromInline static let `substringData`: JSString = "substringData" - @usableFromInline static let `subtree`: JSString = "subtree" - @usableFromInline static let `suffixes`: JSString = "suffixes" - @usableFromInline static let `summary`: JSString = "summary" - @usableFromInline static let `supported`: JSString = "supported" - @usableFromInline static let `supportedEntryTypes`: JSString = "supportedEntryTypes" - @usableFromInline static let `supports`: JSString = "supports" - @usableFromInline static let `surroundContents`: JSString = "surroundContents" - @usableFromInline static let `svc`: JSString = "svc" - @usableFromInline static let `systemId`: JSString = "systemId" - @usableFromInline static let `tBodies`: JSString = "tBodies" - @usableFromInline static let `tFoot`: JSString = "tFoot" - @usableFromInline static let `tHead`: JSString = "tHead" - @usableFromInline static let `tabIndex`: JSString = "tabIndex" - @usableFromInline static let `tagName`: JSString = "tagName" - @usableFromInline static let `taintEnabled`: JSString = "taintEnabled" - @usableFromInline static let `takeRecords`: JSString = "takeRecords" - @usableFromInline static let `target`: JSString = "target" - @usableFromInline static let `targetOrigin`: JSString = "targetOrigin" - @usableFromInline static let `targetTouches`: JSString = "targetTouches" - @usableFromInline static let `tee`: JSString = "tee" - @usableFromInline static let `temporalLayerId`: JSString = "temporalLayerId" - @usableFromInline static let `terminate`: JSString = "terminate" - @usableFromInline static let `test`: JSString = "test" - @usableFromInline static let `text`: JSString = "text" - @usableFromInline static let `textAlign`: JSString = "textAlign" - @usableFromInline static let `textBaseline`: JSString = "textBaseline" - @usableFromInline static let `textContent`: JSString = "textContent" - @usableFromInline static let `textLength`: JSString = "textLength" - @usableFromInline static let `textRendering`: JSString = "textRendering" - @usableFromInline static let `textTracks`: JSString = "textTracks" - @usableFromInline static let `throwIfAborted`: JSString = "throwIfAborted" - @usableFromInline static let `timeOrigin`: JSString = "timeOrigin" - @usableFromInline static let `timeStamp`: JSString = "timeStamp" - @usableFromInline static let `timecode`: JSString = "timecode" - @usableFromInline static let `timeout`: JSString = "timeout" - @usableFromInline static let `timestamp`: JSString = "timestamp" - @usableFromInline static let `timestampOffset`: JSString = "timestampOffset" - @usableFromInline static let `title`: JSString = "title" - @usableFromInline static let `toBlob`: JSString = "toBlob" - @usableFromInline static let `toBox`: JSString = "toBox" - @usableFromInline static let `toDataURL`: JSString = "toDataURL" - @usableFromInline static let `toFloat32Array`: JSString = "toFloat32Array" - @usableFromInline static let `toFloat64Array`: JSString = "toFloat64Array" - @usableFromInline static let `toJSON`: JSString = "toJSON" - @usableFromInline static let `toString`: JSString = "toString" - @usableFromInline static let `toggle`: JSString = "toggle" - @usableFromInline static let `toggleAttribute`: JSString = "toggleAttribute" - @usableFromInline static let `togglePopover`: JSString = "togglePopover" - @usableFromInline static let `tooLong`: JSString = "tooLong" - @usableFromInline static let `tooShort`: JSString = "tooShort" - @usableFromInline static let `toolbar`: JSString = "toolbar" - @usableFromInline static let `top`: JSString = "top" - @usableFromInline static let `total`: JSString = "total" - @usableFromInline static let `touchType`: JSString = "touchType" - @usableFromInline static let `touches`: JSString = "touches" - @usableFromInline static let `track`: JSString = "track" - @usableFromInline static let `tracks`: JSString = "tracks" - @usableFromInline static let `transfer`: JSString = "transfer" - @usableFromInline static let `transferControlToOffscreen`: JSString = "transferControlToOffscreen" - @usableFromInline static let `transferFromImageBitmap`: JSString = "transferFromImageBitmap" - @usableFromInline static let `transferToImageBitmap`: JSString = "transferToImageBitmap" - @usableFromInline static let `transform`: JSString = "transform" - @usableFromInline static let `transformPoint`: JSString = "transformPoint" - @usableFromInline static let `transformToDocument`: JSString = "transformToDocument" - @usableFromInline static let `transformToFragment`: JSString = "transformToFragment" - @usableFromInline static let `transition`: JSString = "transition" - @usableFromInline static let `translate`: JSString = "translate" - @usableFromInline static let `translateSelf`: JSString = "translateSelf" - @usableFromInline static let `traverseTo`: JSString = "traverseTo" - @usableFromInline static let `trueSpeed`: JSString = "trueSpeed" - @usableFromInline static let `trustedTypes`: JSString = "trustedTypes" - @usableFromInline static let `type`: JSString = "type" - @usableFromInline static let `typeMismatch`: JSString = "typeMismatch" - @usableFromInline static let `types`: JSString = "types" - @usableFromInline static let `unregister`: JSString = "unregister" - @usableFromInline static let `unregisterProtocolHandler`: JSString = "unregisterProtocolHandler" - @usableFromInline static let `update`: JSString = "update" - @usableFromInline static let `updateCallbackDone`: JSString = "updateCallbackDone" - @usableFromInline static let `updateCurrentEntry`: JSString = "updateCurrentEntry" - @usableFromInline static let `updateViaCache`: JSString = "updateViaCache" - @usableFromInline static let `updating`: JSString = "updating" - @usableFromInline static let `upgrade`: JSString = "upgrade" - @usableFromInline static let `upload`: JSString = "upload" - @usableFromInline static let `url`: JSString = "url" - @usableFromInline static let `useMap`: JSString = "useMap" - @usableFromInline static let `userActivation`: JSString = "userActivation" - @usableFromInline static let `userAgent`: JSString = "userAgent" - @usableFromInline static let `userInitiated`: JSString = "userInitiated" - @usableFromInline static let `username`: JSString = "username" - @usableFromInline static let `vAlign`: JSString = "vAlign" - @usableFromInline static let `vLink`: JSString = "vLink" - @usableFromInline static let `valid`: JSString = "valid" - @usableFromInline static let `validationMessage`: JSString = "validationMessage" - @usableFromInline static let `validity`: JSString = "validity" - @usableFromInline static let `value`: JSString = "value" - @usableFromInline static let `valueAsDate`: JSString = "valueAsDate" - @usableFromInline static let `valueAsNumber`: JSString = "valueAsNumber" - @usableFromInline static let `valueMissing`: JSString = "valueMissing" - @usableFromInline static let `valueType`: JSString = "valueType" - @usableFromInline static let `vendor`: JSString = "vendor" - @usableFromInline static let `vendorSub`: JSString = "vendorSub" - @usableFromInline static let `version`: JSString = "version" - @usableFromInline static let `video`: JSString = "video" - @usableFromInline static let `videoBitsPerSecond`: JSString = "videoBitsPerSecond" - @usableFromInline static let `videoHeight`: JSString = "videoHeight" - @usableFromInline static let `videoKeyFrameIntervalCount`: JSString = "videoKeyFrameIntervalCount" - @usableFromInline static let `videoKeyFrameIntervalDuration`: JSString = "videoKeyFrameIntervalDuration" - @usableFromInline static let `videoTracks`: JSString = "videoTracks" - @usableFromInline static let `videoWidth`: JSString = "videoWidth" - @usableFromInline static let `view`: JSString = "view" - @usableFromInline static let `visibilityState`: JSString = "visibilityState" - @usableFromInline static let `visible`: JSString = "visible" - @usableFromInline static let `visibleRect`: JSString = "visibleRect" - @usableFromInline static let `visualViewport`: JSString = "visualViewport" - @usableFromInline static let `vlinkColor`: JSString = "vlinkColor" - @usableFromInline static let `volume`: JSString = "volume" - @usableFromInline static let `vspace`: JSString = "vspace" - @usableFromInline static let `w`: JSString = "w" - @usableFromInline static let `waiting`: JSString = "waiting" - @usableFromInline static let `webkitMatchesSelector`: JSString = "webkitMatchesSelector" - @usableFromInline static let `whatToShow`: JSString = "whatToShow" - @usableFromInline static let `whenDefined`: JSString = "whenDefined" - @usableFromInline static let `which`: JSString = "which" - @usableFromInline static let `wholeText`: JSString = "wholeText" - @usableFromInline static let `width`: JSString = "width" - @usableFromInline static let `willReadFrequently`: JSString = "willReadFrequently" - @usableFromInline static let `willValidate`: JSString = "willValidate" - @usableFromInline static let `window`: JSString = "window" - @usableFromInline static let `withCredentials`: JSString = "withCredentials" - @usableFromInline static let `wordSpacing`: JSString = "wordSpacing" - @usableFromInline static let `wrap`: JSString = "wrap" - @usableFromInline static let `writable`: JSString = "writable" - @usableFromInline static let `writableType`: JSString = "writableType" - @usableFromInline static let `write`: JSString = "write" - @usableFromInline static let `writeln`: JSString = "writeln" - @usableFromInline static let `x`: JSString = "x" - @usableFromInline static let `y`: JSString = "y" - @usableFromInline static let `z`: JSString = "z" + @usableFromInline static let repetitionCount: JSString = "repetitionCount" + @usableFromInline static let replace: JSString = "replace" + @usableFromInline static let replaceChild: JSString = "replaceChild" + @usableFromInline static let replaceChildren: JSString = "replaceChildren" + @usableFromInline static let replaceData: JSString = "replaceData" + @usableFromInline static let replaceState: JSString = "replaceState" + @usableFromInline static let replaceWith: JSString = "replaceWith" + @usableFromInline static let replacesClientId: JSString = "replacesClientId" + @usableFromInline static let reportError: JSString = "reportError" + @usableFromInline static let reportValidity: JSString = "reportValidity" + @usableFromInline static let request: JSString = "request" + @usableFromInline static let requestAnimationFrame: JSString = "requestAnimationFrame" + @usableFromInline static let requestData: JSString = "requestData" + @usableFromInline static let requestSubmit: JSString = "requestSubmit" + @usableFromInline static let required: JSString = "required" + @usableFromInline static let reset: JSString = "reset" + @usableFromInline static let resetTransform: JSString = "resetTransform" + @usableFromInline static let resizeBy: JSString = "resizeBy" + @usableFromInline static let resizeHeight: JSString = "resizeHeight" + @usableFromInline static let resizeMode: JSString = "resizeMode" + @usableFromInline static let resizeQuality: JSString = "resizeQuality" + @usableFromInline static let resizeTo: JSString = "resizeTo" + @usableFromInline static let resizeWidth: JSString = "resizeWidth" + @usableFromInline static let respond: JSString = "respond" + @usableFromInline static let respondWithNewView: JSString = "respondWithNewView" + @usableFromInline static let response: JSString = "response" + @usableFromInline static let responseText: JSString = "responseText" + @usableFromInline static let responseType: JSString = "responseType" + @usableFromInline static let responseURL: JSString = "responseURL" + @usableFromInline static let responseXML: JSString = "responseXML" + @usableFromInline static let restore: JSString = "restore" + @usableFromInline static let result: JSString = "result" + @usableFromInline static let resultType: JSString = "resultType" + @usableFromInline static let resultingClientId: JSString = "resultingClientId" + @usableFromInline static let resume: JSString = "resume" + @usableFromInline static let returnValue: JSString = "returnValue" + @usableFromInline static let rev: JSString = "rev" + @usableFromInline static let reversed: JSString = "reversed" + @usableFromInline static let revokeObjectURL: JSString = "revokeObjectURL" + @usableFromInline static let right: JSString = "right" + @usableFromInline static let role: JSString = "role" + @usableFromInline static let root: JSString = "root" + @usableFromInline static let rotate: JSString = "rotate" + @usableFromInline static let rotateAxisAngle: JSString = "rotateAxisAngle" + @usableFromInline static let rotateAxisAngleSelf: JSString = "rotateAxisAngleSelf" + @usableFromInline static let rotateFromVector: JSString = "rotateFromVector" + @usableFromInline static let rotateFromVectorSelf: JSString = "rotateFromVectorSelf" + @usableFromInline static let rotateSelf: JSString = "rotateSelf" + @usableFromInline static let rotationAngle: JSString = "rotationAngle" + @usableFromInline static let roundRect: JSString = "roundRect" + @usableFromInline static let rowIndex: JSString = "rowIndex" + @usableFromInline static let rowSpan: JSString = "rowSpan" + @usableFromInline static let rows: JSString = "rows" + @usableFromInline static let rules: JSString = "rules" + @usableFromInline static let sameDocument: JSString = "sameDocument" + @usableFromInline static let sampleRate: JSString = "sampleRate" + @usableFromInline static let sampleSize: JSString = "sampleSize" + @usableFromInline static let sandbox: JSString = "sandbox" + @usableFromInline static let save: JSString = "save" + @usableFromInline static let scalabilityMode: JSString = "scalabilityMode" + @usableFromInline static let scale: JSString = "scale" + @usableFromInline static let scale3d: JSString = "scale3d" + @usableFromInline static let scale3dSelf: JSString = "scale3dSelf" + @usableFromInline static let scaleNonUniform: JSString = "scaleNonUniform" + @usableFromInline static let scaleSelf: JSString = "scaleSelf" + @usableFromInline static let scheme: JSString = "scheme" + @usableFromInline static let scope: JSString = "scope" + @usableFromInline static let screen: JSString = "screen" + @usableFromInline static let screenLeft: JSString = "screenLeft" + @usableFromInline static let screenTop: JSString = "screenTop" + @usableFromInline static let screenX: JSString = "screenX" + @usableFromInline static let screenY: JSString = "screenY" + @usableFromInline static let scriptURL: JSString = "scriptURL" + @usableFromInline static let scripts: JSString = "scripts" + @usableFromInline static let scroll: JSString = "scroll" + @usableFromInline static let scrollAmount: JSString = "scrollAmount" + @usableFromInline static let scrollBy: JSString = "scrollBy" + @usableFromInline static let scrollDelay: JSString = "scrollDelay" + @usableFromInline static let scrollHeight: JSString = "scrollHeight" + @usableFromInline static let scrollIntoView: JSString = "scrollIntoView" + @usableFromInline static let scrollLeft: JSString = "scrollLeft" + @usableFromInline static let scrollPathIntoView: JSString = "scrollPathIntoView" + @usableFromInline static let scrollRestoration: JSString = "scrollRestoration" + @usableFromInline static let scrollTo: JSString = "scrollTo" + @usableFromInline static let scrollTop: JSString = "scrollTop" + @usableFromInline static let scrollWidth: JSString = "scrollWidth" + @usableFromInline static let scrollX: JSString = "scrollX" + @usableFromInline static let scrollY: JSString = "scrollY" + @usableFromInline static let scrollbars: JSString = "scrollbars" + @usableFromInline static let scrolling: JSString = "scrolling" + @usableFromInline static let scrollingElement: JSString = "scrollingElement" + @usableFromInline static let search: JSString = "search" + @usableFromInline static let sectionRowIndex: JSString = "sectionRowIndex" + @usableFromInline static let seekable: JSString = "seekable" + @usableFromInline static let seeking: JSString = "seeking" + @usableFromInline static let select: JSString = "select" + @usableFromInline static let selectNode: JSString = "selectNode" + @usableFromInline static let selectNodeContents: JSString = "selectNodeContents" + @usableFromInline static let selected: JSString = "selected" + @usableFromInline static let selectedIndex: JSString = "selectedIndex" + @usableFromInline static let selectedOptions: JSString = "selectedOptions" + @usableFromInline static let selectedTrack: JSString = "selectedTrack" + @usableFromInline static let selectionDirection: JSString = "selectionDirection" + @usableFromInline static let selectionEnd: JSString = "selectionEnd" + @usableFromInline static let selectionStart: JSString = "selectionStart" + @usableFromInline static let send: JSString = "send" + @usableFromInline static let serviceWorker: JSString = "serviceWorker" + @usableFromInline static let sessionStorage: JSString = "sessionStorage" + @usableFromInline static let set: JSString = "set" + @usableFromInline static let setAttribute: JSString = "setAttribute" + @usableFromInline static let setAttributeNS: JSString = "setAttributeNS" + @usableFromInline static let setAttributeNode: JSString = "setAttributeNode" + @usableFromInline static let setAttributeNodeNS: JSString = "setAttributeNodeNS" + @usableFromInline static let setCustomValidity: JSString = "setCustomValidity" + @usableFromInline static let setData: JSString = "setData" + @usableFromInline static let setDragImage: JSString = "setDragImage" + @usableFromInline static let setEnd: JSString = "setEnd" + @usableFromInline static let setEndAfter: JSString = "setEndAfter" + @usableFromInline static let setEndBefore: JSString = "setEndBefore" + @usableFromInline static let setFormValue: JSString = "setFormValue" + @usableFromInline static let setHeaderValue: JSString = "setHeaderValue" + @usableFromInline static let setInterval: JSString = "setInterval" + @usableFromInline static let setLineDash: JSString = "setLineDash" + @usableFromInline static let setLiveSeekableRange: JSString = "setLiveSeekableRange" + @usableFromInline static let setMatrixValue: JSString = "setMatrixValue" + @usableFromInline static let setNamedItem: JSString = "setNamedItem" + @usableFromInline static let setNamedItemNS: JSString = "setNamedItemNS" + @usableFromInline static let setParameter: JSString = "setParameter" + @usableFromInline static let setRangeText: JSString = "setRangeText" + @usableFromInline static let setRequestHeader: JSString = "setRequestHeader" + @usableFromInline static let setSelectionRange: JSString = "setSelectionRange" + @usableFromInline static let setStart: JSString = "setStart" + @usableFromInline static let setStartAfter: JSString = "setStartAfter" + @usableFromInline static let setStartBefore: JSString = "setStartBefore" + @usableFromInline static let setTimeout: JSString = "setTimeout" + @usableFromInline static let setTransform: JSString = "setTransform" + @usableFromInline static let setValidity: JSString = "setValidity" + @usableFromInline static let shadowBlur: JSString = "shadowBlur" + @usableFromInline static let shadowColor: JSString = "shadowColor" + @usableFromInline static let shadowOffsetX: JSString = "shadowOffsetX" + @usableFromInline static let shadowOffsetY: JSString = "shadowOffsetY" + @usableFromInline static let shadowRoot: JSString = "shadowRoot" + @usableFromInline static let shape: JSString = "shape" + @usableFromInline static let shiftKey: JSString = "shiftKey" + @usableFromInline static let show: JSString = "show" + @usableFromInline static let showModal: JSString = "showModal" + @usableFromInline static let showPicker: JSString = "showPicker" + @usableFromInline static let showPopover: JSString = "showPopover" + @usableFromInline static let signal: JSString = "signal" + @usableFromInline static let singleNodeValue: JSString = "singleNodeValue" + @usableFromInline static let size: JSString = "size" + @usableFromInline static let sizes: JSString = "sizes" + @usableFromInline static let skewX: JSString = "skewX" + @usableFromInline static let skewXSelf: JSString = "skewXSelf" + @usableFromInline static let skewY: JSString = "skewY" + @usableFromInline static let skewYSelf: JSString = "skewYSelf" + @usableFromInline static let slice: JSString = "slice" + @usableFromInline static let slot: JSString = "slot" + @usableFromInline static let slotAssignment: JSString = "slotAssignment" + @usableFromInline static let snapshotItem: JSString = "snapshotItem" + @usableFromInline static let snapshotLength: JSString = "snapshotLength" + @usableFromInline static let source: JSString = "source" + @usableFromInline static let sourceBuffer: JSString = "sourceBuffer" + @usableFromInline static let sourceBuffers: JSString = "sourceBuffers" + @usableFromInline static let span: JSString = "span" + @usableFromInline static let specified: JSString = "specified" + @usableFromInline static let spellcheck: JSString = "spellcheck" + @usableFromInline static let splitText: JSString = "splitText" + @usableFromInline static let src: JSString = "src" + @usableFromInline static let srcElement: JSString = "srcElement" + @usableFromInline static let srcObject: JSString = "srcObject" + @usableFromInline static let srcdoc: JSString = "srcdoc" + @usableFromInline static let srclang: JSString = "srclang" + @usableFromInline static let srcset: JSString = "srcset" + @usableFromInline static let standby: JSString = "standby" + @usableFromInline static let start: JSString = "start" + @usableFromInline static let startContainer: JSString = "startContainer" + @usableFromInline static let startMessages: JSString = "startMessages" + @usableFromInline static let startOffset: JSString = "startOffset" + @usableFromInline static let startTime: JSString = "startTime" + @usableFromInline static let state: JSString = "state" + @usableFromInline static let status: JSString = "status" + @usableFromInline static let statusText: JSString = "statusText" + @usableFromInline static let statusbar: JSString = "statusbar" + @usableFromInline static let step: JSString = "step" + @usableFromInline static let stepDown: JSString = "stepDown" + @usableFromInline static let stepMismatch: JSString = "stepMismatch" + @usableFromInline static let stepUp: JSString = "stepUp" + @usableFromInline static let stop: JSString = "stop" + @usableFromInline static let stopImmediatePropagation: JSString = "stopImmediatePropagation" + @usableFromInline static let stopPropagation: JSString = "stopPropagation" + @usableFromInline static let storageArea: JSString = "storageArea" + @usableFromInline static let stream: JSString = "stream" + @usableFromInline static let stride: JSString = "stride" + @usableFromInline static let stringValue: JSString = "stringValue" + @usableFromInline static let stroke: JSString = "stroke" + @usableFromInline static let strokeRect: JSString = "strokeRect" + @usableFromInline static let strokeStyle: JSString = "strokeStyle" + @usableFromInline static let strokeText: JSString = "strokeText" + @usableFromInline static let structuredClone: JSString = "structuredClone" + @usableFromInline static let submit: JSString = "submit" + @usableFromInline static let submitter: JSString = "submitter" + @usableFromInline static let substringData: JSString = "substringData" + @usableFromInline static let subtree: JSString = "subtree" + @usableFromInline static let suffixes: JSString = "suffixes" + @usableFromInline static let summary: JSString = "summary" + @usableFromInline static let supported: JSString = "supported" + @usableFromInline static let supportedEntryTypes: JSString = "supportedEntryTypes" + @usableFromInline static let supports: JSString = "supports" + @usableFromInline static let surroundContents: JSString = "surroundContents" + @usableFromInline static let svc: JSString = "svc" + @usableFromInline static let systemId: JSString = "systemId" + @usableFromInline static let tBodies: JSString = "tBodies" + @usableFromInline static let tFoot: JSString = "tFoot" + @usableFromInline static let tHead: JSString = "tHead" + @usableFromInline static let tabIndex: JSString = "tabIndex" + @usableFromInline static let tagName: JSString = "tagName" + @usableFromInline static let taintEnabled: JSString = "taintEnabled" + @usableFromInline static let takeRecords: JSString = "takeRecords" + @usableFromInline static let target: JSString = "target" + @usableFromInline static let targetOrigin: JSString = "targetOrigin" + @usableFromInline static let targetTouches: JSString = "targetTouches" + @usableFromInline static let tee: JSString = "tee" + @usableFromInline static let temporalLayerId: JSString = "temporalLayerId" + @usableFromInline static let terminate: JSString = "terminate" + @usableFromInline static let text: JSString = "text" + @usableFromInline static let textAlign: JSString = "textAlign" + @usableFromInline static let textBaseline: JSString = "textBaseline" + @usableFromInline static let textContent: JSString = "textContent" + @usableFromInline static let textLength: JSString = "textLength" + @usableFromInline static let textRendering: JSString = "textRendering" + @usableFromInline static let textTracks: JSString = "textTracks" + @usableFromInline static let throwIfAborted: JSString = "throwIfAborted" + @usableFromInline static let timeOrigin: JSString = "timeOrigin" + @usableFromInline static let timeStamp: JSString = "timeStamp" + @usableFromInline static let timecode: JSString = "timecode" + @usableFromInline static let timeout: JSString = "timeout" + @usableFromInline static let timestamp: JSString = "timestamp" + @usableFromInline static let timestampOffset: JSString = "timestampOffset" + @usableFromInline static let title: JSString = "title" + @usableFromInline static let toBlob: JSString = "toBlob" + @usableFromInline static let toBox: JSString = "toBox" + @usableFromInline static let toDataURL: JSString = "toDataURL" + @usableFromInline static let toFloat32Array: JSString = "toFloat32Array" + @usableFromInline static let toFloat64Array: JSString = "toFloat64Array" + @usableFromInline static let toJSON: JSString = "toJSON" + @usableFromInline static let toString: JSString = "toString" + @usableFromInline static let toggle: JSString = "toggle" + @usableFromInline static let toggleAttribute: JSString = "toggleAttribute" + @usableFromInline static let togglePopover: JSString = "togglePopover" + @usableFromInline static let tooLong: JSString = "tooLong" + @usableFromInline static let tooShort: JSString = "tooShort" + @usableFromInline static let toolbar: JSString = "toolbar" + @usableFromInline static let top: JSString = "top" + @usableFromInline static let total: JSString = "total" + @usableFromInline static let touchType: JSString = "touchType" + @usableFromInline static let touches: JSString = "touches" + @usableFromInline static let track: JSString = "track" + @usableFromInline static let tracks: JSString = "tracks" + @usableFromInline static let transfer: JSString = "transfer" + @usableFromInline static let transferControlToOffscreen: JSString = "transferControlToOffscreen" + @usableFromInline static let transferFromImageBitmap: JSString = "transferFromImageBitmap" + @usableFromInline static let transferToImageBitmap: JSString = "transferToImageBitmap" + @usableFromInline static let transform: JSString = "transform" + @usableFromInline static let transformPoint: JSString = "transformPoint" + @usableFromInline static let transformToDocument: JSString = "transformToDocument" + @usableFromInline static let transformToFragment: JSString = "transformToFragment" + @usableFromInline static let transition: JSString = "transition" + @usableFromInline static let translate: JSString = "translate" + @usableFromInline static let translateSelf: JSString = "translateSelf" + @usableFromInline static let traverseTo: JSString = "traverseTo" + @usableFromInline static let trueSpeed: JSString = "trueSpeed" + @usableFromInline static let type: JSString = "type" + @usableFromInline static let typeMismatch: JSString = "typeMismatch" + @usableFromInline static let types: JSString = "types" + @usableFromInline static let unregister: JSString = "unregister" + @usableFromInline static let unregisterProtocolHandler: JSString = "unregisterProtocolHandler" + @usableFromInline static let update: JSString = "update" + @usableFromInline static let updateCurrentEntry: JSString = "updateCurrentEntry" + @usableFromInline static let updateViaCache: JSString = "updateViaCache" + @usableFromInline static let updating: JSString = "updating" + @usableFromInline static let upgrade: JSString = "upgrade" + @usableFromInline static let upload: JSString = "upload" + @usableFromInline static let url: JSString = "url" + @usableFromInline static let useMap: JSString = "useMap" + @usableFromInline static let userActivation: JSString = "userActivation" + @usableFromInline static let userAgent: JSString = "userAgent" + @usableFromInline static let userInitiated: JSString = "userInitiated" + @usableFromInline static let username: JSString = "username" + @usableFromInline static let vAlign: JSString = "vAlign" + @usableFromInline static let vLink: JSString = "vLink" + @usableFromInline static let valid: JSString = "valid" + @usableFromInline static let validationMessage: JSString = "validationMessage" + @usableFromInline static let validity: JSString = "validity" + @usableFromInline static let value: JSString = "value" + @usableFromInline static let valueAsDate: JSString = "valueAsDate" + @usableFromInline static let valueAsNumber: JSString = "valueAsNumber" + @usableFromInline static let valueMissing: JSString = "valueMissing" + @usableFromInline static let valueType: JSString = "valueType" + @usableFromInline static let vendor: JSString = "vendor" + @usableFromInline static let vendorSub: JSString = "vendorSub" + @usableFromInline static let version: JSString = "version" + @usableFromInline static let video: JSString = "video" + @usableFromInline static let videoBitsPerSecond: JSString = "videoBitsPerSecond" + @usableFromInline static let videoHeight: JSString = "videoHeight" + @usableFromInline static let videoKeyFrameIntervalCount: JSString = "videoKeyFrameIntervalCount" + @usableFromInline static let videoKeyFrameIntervalDuration: JSString = "videoKeyFrameIntervalDuration" + @usableFromInline static let videoTracks: JSString = "videoTracks" + @usableFromInline static let videoWidth: JSString = "videoWidth" + @usableFromInline static let view: JSString = "view" + @usableFromInline static let visibilityState: JSString = "visibilityState" + @usableFromInline static let visible: JSString = "visible" + @usableFromInline static let visibleRect: JSString = "visibleRect" + @usableFromInline static let visualViewport: JSString = "visualViewport" + @usableFromInline static let vlinkColor: JSString = "vlinkColor" + @usableFromInline static let volume: JSString = "volume" + @usableFromInline static let vspace: JSString = "vspace" + @usableFromInline static let w: JSString = "w" + @usableFromInline static let waiting: JSString = "waiting" + @usableFromInline static let webkitMatchesSelector: JSString = "webkitMatchesSelector" + @usableFromInline static let whatToShow: JSString = "whatToShow" + @usableFromInline static let whenDefined: JSString = "whenDefined" + @usableFromInline static let which: JSString = "which" + @usableFromInline static let wholeText: JSString = "wholeText" + @usableFromInline static let width: JSString = "width" + @usableFromInline static let willReadFrequently: JSString = "willReadFrequently" + @usableFromInline static let willValidate: JSString = "willValidate" + @usableFromInline static let window: JSString = "window" + @usableFromInline static let withCredentials: JSString = "withCredentials" + @usableFromInline static let wordSpacing: JSString = "wordSpacing" + @usableFromInline static let wrap: JSString = "wrap" + @usableFromInline static let writable: JSString = "writable" + @usableFromInline static let writableType: JSString = "writableType" + @usableFromInline static let write: JSString = "write" + @usableFromInline static let writeln: JSString = "writeln" + @usableFromInline static let x: JSString = "x" + @usableFromInline static let y: JSString = "y" + @usableFromInline static let z: JSString = "z" } + public protocol Any_AddEventListenerOptions_or_Bool: ConvertibleToJSValue {} extension AddEventListenerOptions: Any_AddEventListenerOptions_or_Bool {} extension Bool: Any_AddEventListenerOptions_or_Bool {} @@ -22587,6 +20776,7 @@ public enum AddEventListenerOptions_or_Bool: JSValueCompatible, Any_AddEventList let val: AddEventListenerOptions_or_Bool = .addEventListenerOptions(addEventListenerOptions) self = val } + public init(_ bool: Bool) { let val: AddEventListenerOptions_or_Bool = .bool(bool) self = val @@ -22598,6 +20788,7 @@ public enum AddEventListenerOptions_or_Bool: JSValueCompatible, Any_AddEventList default: return nil } } + public var bool: Bool? { switch self { case let .bool(bool): return bool @@ -22609,17 +20800,22 @@ public enum AddEventListenerOptions_or_Bool: JSValueCompatible, Any_AddEventList if let addEventListenerOptions: AddEventListenerOptions = value.fromJSValue() { return .addEventListenerOptions(addEventListenerOptions) } - if let bool: Bool = value.fromJSValue() { return .bool(bool) } + if let bool: Bool = value.fromJSValue() { + return .bool(bool) + } return nil } public var jsValue: JSValue { switch self { - case let .addEventListenerOptions(addEventListenerOptions): return addEventListenerOptions.jsValue - case let .bool(bool): return bool.jsValue + case let .addEventListenerOptions(addEventListenerOptions): + return addEventListenerOptions.jsValue + case let .bool(bool): + return bool.jsValue } } } + public protocol Any_ArrayBuffer_or_String: ConvertibleToJSValue {} extension ArrayBuffer: Any_ArrayBuffer_or_String {} extension String: Any_ArrayBuffer_or_String {} @@ -22632,6 +20828,7 @@ public enum ArrayBuffer_or_String: JSValueCompatible, Any_ArrayBuffer_or_String let val: ArrayBuffer_or_String = .arrayBuffer(arrayBuffer) self = val } + public init(_ string: String) { let val: ArrayBuffer_or_String = .string(string) self = val @@ -22643,6 +20840,7 @@ public enum ArrayBuffer_or_String: JSValueCompatible, Any_ArrayBuffer_or_String default: return nil } } + public var string: String? { switch self { case let .string(string): return string @@ -22651,18 +20849,25 @@ public enum ArrayBuffer_or_String: JSValueCompatible, Any_ArrayBuffer_or_String } public static func construct(from value: JSValue) -> Self? { - if let arrayBuffer: ArrayBuffer = value.fromJSValue() { return .arrayBuffer(arrayBuffer) } - if let string: String = value.fromJSValue() { return .string(string) } + if let arrayBuffer: ArrayBuffer = value.fromJSValue() { + return .arrayBuffer(arrayBuffer) + } + if let string: String = value.fromJSValue() { + return .string(string) + } return nil } public var jsValue: JSValue { switch self { - case let .arrayBuffer(arrayBuffer): return arrayBuffer.jsValue - case let .string(string): return string.jsValue + case let .arrayBuffer(arrayBuffer): + return arrayBuffer.jsValue + case let .string(string): + return string.jsValue } } } + public protocol Any_AudioTrack_or_TextTrack_or_VideoTrack: ConvertibleToJSValue {} extension AudioTrack: Any_AudioTrack_or_TextTrack_or_VideoTrack {} extension TextTrack: Any_AudioTrack_or_TextTrack_or_VideoTrack {} @@ -22677,10 +20882,12 @@ public enum AudioTrack_or_TextTrack_or_VideoTrack: JSValueCompatible, Any_AudioT let val: AudioTrack_or_TextTrack_or_VideoTrack = .audioTrack(audioTrack) self = val } + public init(_ textTrack: TextTrack) { let val: AudioTrack_or_TextTrack_or_VideoTrack = .textTrack(textTrack) self = val } + public init(_ videoTrack: VideoTrack) { let val: AudioTrack_or_TextTrack_or_VideoTrack = .videoTrack(videoTrack) self = val @@ -22692,12 +20899,14 @@ public enum AudioTrack_or_TextTrack_or_VideoTrack: JSValueCompatible, Any_AudioT default: return nil } } + public var textTrack: TextTrack? { switch self { case let .textTrack(textTrack): return textTrack default: return nil } } + public var videoTrack: VideoTrack? { switch self { case let .videoTrack(videoTrack): return videoTrack @@ -22706,20 +20915,30 @@ public enum AudioTrack_or_TextTrack_or_VideoTrack: JSValueCompatible, Any_AudioT } public static func construct(from value: JSValue) -> Self? { - if let audioTrack: AudioTrack = value.fromJSValue() { return .audioTrack(audioTrack) } - if let textTrack: TextTrack = value.fromJSValue() { return .textTrack(textTrack) } - if let videoTrack: VideoTrack = value.fromJSValue() { return .videoTrack(videoTrack) } + if let audioTrack: AudioTrack = value.fromJSValue() { + return .audioTrack(audioTrack) + } + if let textTrack: TextTrack = value.fromJSValue() { + return .textTrack(textTrack) + } + if let videoTrack: VideoTrack = value.fromJSValue() { + return .videoTrack(videoTrack) + } return nil } public var jsValue: JSValue { switch self { - case let .audioTrack(audioTrack): return audioTrack.jsValue - case let .textTrack(textTrack): return textTrack.jsValue - case let .videoTrack(videoTrack): return videoTrack.jsValue + case let .audioTrack(audioTrack): + return audioTrack.jsValue + case let .textTrack(textTrack): + return textTrack.jsValue + case let .videoTrack(videoTrack): + return videoTrack.jsValue } } } + public protocol Any_BlobPart: ConvertibleToJSValue {} extension Blob: Any_BlobPart {} extension BufferSource: Any_BlobPart {} @@ -22734,18 +20953,22 @@ public enum BlobPart: JSValueCompatible, Any_BlobPart { let val: BlobPart = .blob(blob) self = val } + public init(_ bufferSource: BufferSource) { let val: BlobPart = .bufferSource(bufferSource) self = val } + public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } + public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } + public init(_ string: String) { let val: BlobPart = .string(string) self = val @@ -22757,12 +20980,14 @@ public enum BlobPart: JSValueCompatible, Any_BlobPart { default: return nil } } + public var bufferSource: BufferSource? { switch self { case let .bufferSource(bufferSource): return bufferSource default: return nil } } + public var string: String? { switch self { case let .string(string): return string @@ -22771,20 +20996,30 @@ public enum BlobPart: JSValueCompatible, Any_BlobPart { } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { return .blob(blob) } - if let bufferSource: BufferSource = value.fromJSValue() { return .bufferSource(bufferSource) } - if let string: String = value.fromJSValue() { return .string(string) } + if let blob: Blob = value.fromJSValue() { + return .blob(blob) + } + if let bufferSource: BufferSource = value.fromJSValue() { + return .bufferSource(bufferSource) + } + if let string: String = value.fromJSValue() { + return .string(string) + } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): return blob.jsValue - case let .bufferSource(bufferSource): return bufferSource.jsValue - case let .string(string): return string.jsValue + case let .blob(blob): + return blob.jsValue + case let .bufferSource(bufferSource): + return bufferSource.jsValue + case let .string(string): + return string.jsValue } } } + public protocol Any_Bool_or_Double_or_String: ConvertibleToJSValue {} extension Bool: Any_Bool_or_Double_or_String {} extension Double: Any_Bool_or_Double_or_String {} @@ -22799,10 +21034,12 @@ public enum Bool_or_Double_or_String: JSValueCompatible, Any_Bool_or_Double_or_S let val: Bool_or_Double_or_String = .bool(bool) self = val } + public init(_ double: Double) { let val: Bool_or_Double_or_String = .double(double) self = val } + public init(_ string: String) { let val: Bool_or_Double_or_String = .string(string) self = val @@ -22814,12 +21051,14 @@ public enum Bool_or_Double_or_String: JSValueCompatible, Any_Bool_or_Double_or_S default: return nil } } + public var double: Double? { switch self { case let .double(double): return double default: return nil } } + public var string: String? { switch self { case let .string(string): return string @@ -22828,20 +21067,30 @@ public enum Bool_or_Double_or_String: JSValueCompatible, Any_Bool_or_Double_or_S } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { return .bool(bool) } - if let double: Double = value.fromJSValue() { return .double(double) } - if let string: String = value.fromJSValue() { return .string(string) } + if let bool: Bool = value.fromJSValue() { + return .bool(bool) + } + if let double: Double = value.fromJSValue() { + return .double(double) + } + if let string: String = value.fromJSValue() { + return .string(string) + } return nil } public var jsValue: JSValue { switch self { - case let .bool(bool): return bool.jsValue - case let .double(double): return double.jsValue - case let .string(string): return string.jsValue + case let .bool(bool): + return bool.jsValue + case let .double(double): + return double.jsValue + case let .string(string): + return string.jsValue } } } + public protocol Any_Bool_or_EventListenerOptions: ConvertibleToJSValue {} extension Bool: Any_Bool_or_EventListenerOptions {} extension EventListenerOptions: Any_Bool_or_EventListenerOptions {} @@ -22854,6 +21103,7 @@ public enum Bool_or_EventListenerOptions: JSValueCompatible, Any_Bool_or_EventLi let val: Bool_or_EventListenerOptions = .bool(bool) self = val } + public init(_ eventListenerOptions: EventListenerOptions) { let val: Bool_or_EventListenerOptions = .eventListenerOptions(eventListenerOptions) self = val @@ -22865,6 +21115,7 @@ public enum Bool_or_EventListenerOptions: JSValueCompatible, Any_Bool_or_EventLi default: return nil } } + public var eventListenerOptions: EventListenerOptions? { switch self { case let .eventListenerOptions(eventListenerOptions): return eventListenerOptions @@ -22873,7 +21124,9 @@ public enum Bool_or_EventListenerOptions: JSValueCompatible, Any_Bool_or_EventLi } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { return .bool(bool) } + if let bool: Bool = value.fromJSValue() { + return .bool(bool) + } if let eventListenerOptions: EventListenerOptions = value.fromJSValue() { return .eventListenerOptions(eventListenerOptions) } @@ -22882,11 +21135,14 @@ public enum Bool_or_EventListenerOptions: JSValueCompatible, Any_Bool_or_EventLi public var jsValue: JSValue { switch self { - case let .bool(bool): return bool.jsValue - case let .eventListenerOptions(eventListenerOptions): return eventListenerOptions.jsValue + case let .bool(bool): + return bool.jsValue + case let .eventListenerOptions(eventListenerOptions): + return eventListenerOptions.jsValue } } } + public protocol Any_Bool_or_MediaTrackConstraints: ConvertibleToJSValue {} extension Bool: Any_Bool_or_MediaTrackConstraints {} extension MediaTrackConstraints: Any_Bool_or_MediaTrackConstraints {} @@ -22899,6 +21155,7 @@ public enum Bool_or_MediaTrackConstraints: JSValueCompatible, Any_Bool_or_MediaT let val: Bool_or_MediaTrackConstraints = .bool(bool) self = val } + public init(_ mediaTrackConstraints: MediaTrackConstraints) { let val: Bool_or_MediaTrackConstraints = .mediaTrackConstraints(mediaTrackConstraints) self = val @@ -22910,6 +21167,7 @@ public enum Bool_or_MediaTrackConstraints: JSValueCompatible, Any_Bool_or_MediaT default: return nil } } + public var mediaTrackConstraints: MediaTrackConstraints? { switch self { case let .mediaTrackConstraints(mediaTrackConstraints): return mediaTrackConstraints @@ -22918,7 +21176,9 @@ public enum Bool_or_MediaTrackConstraints: JSValueCompatible, Any_Bool_or_MediaT } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { return .bool(bool) } + if let bool: Bool = value.fromJSValue() { + return .bool(bool) + } if let mediaTrackConstraints: MediaTrackConstraints = value.fromJSValue() { return .mediaTrackConstraints(mediaTrackConstraints) } @@ -22927,11 +21187,14 @@ public enum Bool_or_MediaTrackConstraints: JSValueCompatible, Any_Bool_or_MediaT public var jsValue: JSValue { switch self { - case let .bool(bool): return bool.jsValue - case let .mediaTrackConstraints(mediaTrackConstraints): return mediaTrackConstraints.jsValue + case let .bool(bool): + return bool.jsValue + case let .mediaTrackConstraints(mediaTrackConstraints): + return mediaTrackConstraints.jsValue } } } + public protocol Any_Bool_or_ScrollIntoViewOptions: ConvertibleToJSValue {} extension Bool: Any_Bool_or_ScrollIntoViewOptions {} extension ScrollIntoViewOptions: Any_Bool_or_ScrollIntoViewOptions {} @@ -22944,6 +21207,7 @@ public enum Bool_or_ScrollIntoViewOptions: JSValueCompatible, Any_Bool_or_Scroll let val: Bool_or_ScrollIntoViewOptions = .bool(bool) self = val } + public init(_ scrollIntoViewOptions: ScrollIntoViewOptions) { let val: Bool_or_ScrollIntoViewOptions = .scrollIntoViewOptions(scrollIntoViewOptions) self = val @@ -22955,6 +21219,7 @@ public enum Bool_or_ScrollIntoViewOptions: JSValueCompatible, Any_Bool_or_Scroll default: return nil } } + public var scrollIntoViewOptions: ScrollIntoViewOptions? { switch self { case let .scrollIntoViewOptions(scrollIntoViewOptions): return scrollIntoViewOptions @@ -22963,7 +21228,9 @@ public enum Bool_or_ScrollIntoViewOptions: JSValueCompatible, Any_Bool_or_Scroll } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { return .bool(bool) } + if let bool: Bool = value.fromJSValue() { + return .bool(bool) + } if let scrollIntoViewOptions: ScrollIntoViewOptions = value.fromJSValue() { return .scrollIntoViewOptions(scrollIntoViewOptions) } @@ -22972,11 +21239,14 @@ public enum Bool_or_ScrollIntoViewOptions: JSValueCompatible, Any_Bool_or_Scroll public var jsValue: JSValue { switch self { - case let .bool(bool): return bool.jsValue - case let .scrollIntoViewOptions(scrollIntoViewOptions): return scrollIntoViewOptions.jsValue + case let .bool(bool): + return bool.jsValue + case let .scrollIntoViewOptions(scrollIntoViewOptions): + return scrollIntoViewOptions.jsValue } } } + public protocol Any_CSSPseudoElement_or_Element: ConvertibleToJSValue {} extension CSSPseudoElement: Any_CSSPseudoElement_or_Element {} extension Element: Any_CSSPseudoElement_or_Element {} @@ -22989,6 +21259,7 @@ public enum CSSPseudoElement_or_Element: JSValueCompatible, Any_CSSPseudoElement let val: CSSPseudoElement_or_Element = .cssPseudoElement(cssPseudoElement) self = val } + public init(_ element: Element) { let val: CSSPseudoElement_or_Element = .element(element) self = val @@ -23000,6 +21271,7 @@ public enum CSSPseudoElement_or_Element: JSValueCompatible, Any_CSSPseudoElement default: return nil } } + public var element: Element? { switch self { case let .element(element): return element @@ -23008,25 +21280,31 @@ public enum CSSPseudoElement_or_Element: JSValueCompatible, Any_CSSPseudoElement } public static func construct(from value: JSValue) -> Self? { - if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { return .cssPseudoElement(cssPseudoElement) } - if let element: Element = value.fromJSValue() { return .element(element) } + if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { + return .cssPseudoElement(cssPseudoElement) + } + if let element: Element = value.fromJSValue() { + return .element(element) + } return nil } public var jsValue: JSValue { switch self { - case let .cssPseudoElement(cssPseudoElement): return cssPseudoElement.jsValue - case let .element(element): return element.jsValue + case let .cssPseudoElement(cssPseudoElement): + return cssPseudoElement.jsValue + case let .element(element): + return element.jsValue } } } + public protocol Any_CanvasGradient_or_CanvasPattern_or_String: ConvertibleToJSValue {} extension CanvasGradient: Any_CanvasGradient_or_CanvasPattern_or_String {} extension CanvasPattern: Any_CanvasGradient_or_CanvasPattern_or_String {} extension String: Any_CanvasGradient_or_CanvasPattern_or_String {} -public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_CanvasGradient_or_CanvasPattern_or_String -{ +public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_CanvasGradient_or_CanvasPattern_or_String { case canvasGradient(CanvasGradient) case canvasPattern(CanvasPattern) case string(String) @@ -23035,10 +21313,12 @@ public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_Ca let val: CanvasGradient_or_CanvasPattern_or_String = .canvasGradient(canvasGradient) self = val } + public init(_ canvasPattern: CanvasPattern) { let val: CanvasGradient_or_CanvasPattern_or_String = .canvasPattern(canvasPattern) self = val } + public init(_ string: String) { let val: CanvasGradient_or_CanvasPattern_or_String = .string(string) self = val @@ -23050,12 +21330,14 @@ public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_Ca default: return nil } } + public var canvasPattern: CanvasPattern? { switch self { case let .canvasPattern(canvasPattern): return canvasPattern default: return nil } } + public var string: String? { switch self { case let .string(string): return string @@ -23064,20 +21346,30 @@ public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_Ca } public static func construct(from value: JSValue) -> Self? { - if let canvasGradient: CanvasGradient = value.fromJSValue() { return .canvasGradient(canvasGradient) } - if let canvasPattern: CanvasPattern = value.fromJSValue() { return .canvasPattern(canvasPattern) } - if let string: String = value.fromJSValue() { return .string(string) } + if let canvasGradient: CanvasGradient = value.fromJSValue() { + return .canvasGradient(canvasGradient) + } + if let canvasPattern: CanvasPattern = value.fromJSValue() { + return .canvasPattern(canvasPattern) + } + if let string: String = value.fromJSValue() { + return .string(string) + } return nil } public var jsValue: JSValue { switch self { - case let .canvasGradient(canvasGradient): return canvasGradient.jsValue - case let .canvasPattern(canvasPattern): return canvasPattern.jsValue - case let .string(string): return string.jsValue + case let .canvasGradient(canvasGradient): + return canvasGradient.jsValue + case let .canvasPattern(canvasPattern): + return canvasPattern.jsValue + case let .string(string): + return string.jsValue } } } + public protocol Any_CanvasImageSource: ConvertibleToJSValue {} extension HTMLCanvasElement: Any_CanvasImageSource {} extension HTMLOrSVGImageElement: Any_CanvasImageSource {} @@ -23098,22 +21390,37 @@ public enum CanvasImageSource: JSValueCompatible, Any_CanvasImageSource { let val: CanvasImageSource = .htmlCanvasElement(htmlCanvasElement) self = val } + public init(_ htmlOrSVGImageElement: HTMLOrSVGImageElement) { let val: CanvasImageSource = .htmlOrSVGImageElement(htmlOrSVGImageElement) self = val } + + public init(_ htmlImageElement: HTMLImageElement) { + let val: HTMLOrSVGImageElement = .htmlImageElement(htmlImageElement) + self = .init(val) + } + + public init(_ svgImageElement: SVGImageElement) { + let val: HTMLOrSVGImageElement = .svgImageElement(svgImageElement) + self = .init(val) + } + public init(_ htmlVideoElement: HTMLVideoElement) { let val: CanvasImageSource = .htmlVideoElement(htmlVideoElement) self = val } + public init(_ imageBitmap: ImageBitmap) { let val: CanvasImageSource = .imageBitmap(imageBitmap) self = val } + public init(_ offscreenCanvas: OffscreenCanvas) { let val: CanvasImageSource = .offscreenCanvas(offscreenCanvas) self = val } + public init(_ videoFrame: VideoFrame) { let val: CanvasImageSource = .videoFrame(videoFrame) self = val @@ -23125,30 +21432,35 @@ public enum CanvasImageSource: JSValueCompatible, Any_CanvasImageSource { default: return nil } } + public var htmlOrSVGImageElement: HTMLOrSVGImageElement? { switch self { case let .htmlOrSVGImageElement(htmlOrSVGImageElement): return htmlOrSVGImageElement default: return nil } } + public var htmlVideoElement: HTMLVideoElement? { switch self { case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement default: return nil } } + public var imageBitmap: ImageBitmap? { switch self { case let .imageBitmap(imageBitmap): return imageBitmap default: return nil } } + public var offscreenCanvas: OffscreenCanvas? { switch self { case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas default: return nil } } + public var videoFrame: VideoFrame? { switch self { case let .videoFrame(videoFrame): return videoFrame @@ -23163,24 +21475,39 @@ public enum CanvasImageSource: JSValueCompatible, Any_CanvasImageSource { if let htmlOrSVGImageElement: HTMLOrSVGImageElement = value.fromJSValue() { return .htmlOrSVGImageElement(htmlOrSVGImageElement) } - if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() { return .htmlVideoElement(htmlVideoElement) } - if let imageBitmap: ImageBitmap = value.fromJSValue() { return .imageBitmap(imageBitmap) } - if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { return .offscreenCanvas(offscreenCanvas) } - if let videoFrame: VideoFrame = value.fromJSValue() { return .videoFrame(videoFrame) } + if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() { + return .htmlVideoElement(htmlVideoElement) + } + if let imageBitmap: ImageBitmap = value.fromJSValue() { + return .imageBitmap(imageBitmap) + } + if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { + return .offscreenCanvas(offscreenCanvas) + } + if let videoFrame: VideoFrame = value.fromJSValue() { + return .videoFrame(videoFrame) + } return nil } public var jsValue: JSValue { switch self { - case let .htmlCanvasElement(htmlCanvasElement): return htmlCanvasElement.jsValue - case let .htmlOrSVGImageElement(htmlOrSVGImageElement): return htmlOrSVGImageElement.jsValue - case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement.jsValue - case let .imageBitmap(imageBitmap): return imageBitmap.jsValue - case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas.jsValue - case let .videoFrame(videoFrame): return videoFrame.jsValue + case let .htmlCanvasElement(htmlCanvasElement): + return htmlCanvasElement.jsValue + case let .htmlOrSVGImageElement(htmlOrSVGImageElement): + return htmlOrSVGImageElement.jsValue + case let .htmlVideoElement(htmlVideoElement): + return htmlVideoElement.jsValue + case let .imageBitmap(imageBitmap): + return imageBitmap.jsValue + case let .offscreenCanvas(offscreenCanvas): + return offscreenCanvas.jsValue + case let .videoFrame(videoFrame): + return videoFrame.jsValue } } } + public protocol Any_ConstrainBoolean: ConvertibleToJSValue {} extension Bool: Any_ConstrainBoolean {} extension ConstrainBooleanParameters: Any_ConstrainBoolean {} @@ -23193,6 +21520,7 @@ public enum ConstrainBoolean: JSValueCompatible, Any_ConstrainBoolean { let val: ConstrainBoolean = .bool(bool) self = val } + public init(_ constrainBooleanParameters: ConstrainBooleanParameters) { let val: ConstrainBoolean = .constrainBooleanParameters(constrainBooleanParameters) self = val @@ -23204,6 +21532,7 @@ public enum ConstrainBoolean: JSValueCompatible, Any_ConstrainBoolean { default: return nil } } + public var constrainBooleanParameters: ConstrainBooleanParameters? { switch self { case let .constrainBooleanParameters(constrainBooleanParameters): return constrainBooleanParameters @@ -23212,7 +21541,9 @@ public enum ConstrainBoolean: JSValueCompatible, Any_ConstrainBoolean { } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { return .bool(bool) } + if let bool: Bool = value.fromJSValue() { + return .bool(bool) + } if let constrainBooleanParameters: ConstrainBooleanParameters = value.fromJSValue() { return .constrainBooleanParameters(constrainBooleanParameters) } @@ -23221,11 +21552,14 @@ public enum ConstrainBoolean: JSValueCompatible, Any_ConstrainBoolean { public var jsValue: JSValue { switch self { - case let .bool(bool): return bool.jsValue - case let .constrainBooleanParameters(constrainBooleanParameters): return constrainBooleanParameters.jsValue + case let .bool(bool): + return bool.jsValue + case let .constrainBooleanParameters(constrainBooleanParameters): + return constrainBooleanParameters.jsValue } } } + public protocol Any_ConstrainDOMString: ConvertibleToJSValue {} extension ConstrainDOMStringParameters: Any_ConstrainDOMString {} extension String: Any_ConstrainDOMString {} @@ -23240,10 +21574,12 @@ public enum ConstrainDOMString: JSValueCompatible, Any_ConstrainDOMString { let val: ConstrainDOMString = .constrainDOMStringParameters(constrainDOMStringParameters) self = val } + public init(_ string: String) { let val: ConstrainDOMString = .string(string) self = val } + public init(_ seq_of_String: [String]) { let val: ConstrainDOMString = .seq_of_String(seq_of_String) self = val @@ -23255,12 +21591,14 @@ public enum ConstrainDOMString: JSValueCompatible, Any_ConstrainDOMString { default: return nil } } + public var string: String? { switch self { case let .string(string): return string default: return nil } } + public var seq_of_String: [String]? { switch self { case let .seq_of_String(seq_of_String): return seq_of_String @@ -23272,8 +21610,12 @@ public enum ConstrainDOMString: JSValueCompatible, Any_ConstrainDOMString { if let constrainDOMStringParameters: ConstrainDOMStringParameters = value.fromJSValue() { return .constrainDOMStringParameters(constrainDOMStringParameters) } - if let string: String = value.fromJSValue() { return .string(string) } - if let seq_of_String: [String] = value.fromJSValue() { return .seq_of_String(seq_of_String) } + if let string: String = value.fromJSValue() { + return .string(string) + } + if let seq_of_String: [String] = value.fromJSValue() { + return .seq_of_String(seq_of_String) + } return nil } @@ -23281,11 +21623,14 @@ public enum ConstrainDOMString: JSValueCompatible, Any_ConstrainDOMString { switch self { case let .constrainDOMStringParameters(constrainDOMStringParameters): return constrainDOMStringParameters.jsValue - case let .string(string): return string.jsValue - case let .seq_of_String(seq_of_String): return seq_of_String.jsValue + case let .string(string): + return string.jsValue + case let .seq_of_String(seq_of_String): + return seq_of_String.jsValue } } } + public protocol Any_ConstrainDouble: ConvertibleToJSValue {} extension ConstrainDoubleRange: Any_ConstrainDouble {} extension Double: Any_ConstrainDouble {} @@ -23298,6 +21643,7 @@ public enum ConstrainDouble: JSValueCompatible, Any_ConstrainDouble { let val: ConstrainDouble = .constrainDoubleRange(constrainDoubleRange) self = val } + public init(_ double: Double) { let val: ConstrainDouble = .double(double) self = val @@ -23309,6 +21655,7 @@ public enum ConstrainDouble: JSValueCompatible, Any_ConstrainDouble { default: return nil } } + public var double: Double? { switch self { case let .double(double): return double @@ -23320,17 +21667,22 @@ public enum ConstrainDouble: JSValueCompatible, Any_ConstrainDouble { if let constrainDoubleRange: ConstrainDoubleRange = value.fromJSValue() { return .constrainDoubleRange(constrainDoubleRange) } - if let double: Double = value.fromJSValue() { return .double(double) } + if let double: Double = value.fromJSValue() { + return .double(double) + } return nil } public var jsValue: JSValue { switch self { - case let .constrainDoubleRange(constrainDoubleRange): return constrainDoubleRange.jsValue - case let .double(double): return double.jsValue + case let .constrainDoubleRange(constrainDoubleRange): + return constrainDoubleRange.jsValue + case let .double(double): + return double.jsValue } } } + public protocol Any_ConstrainULong: ConvertibleToJSValue {} extension ConstrainULongRange: Any_ConstrainULong {} extension UInt32: Any_ConstrainULong {} @@ -23343,6 +21695,7 @@ public enum ConstrainULong: JSValueCompatible, Any_ConstrainULong { let val: ConstrainULong = .constrainULongRange(constrainULongRange) self = val } + public init(_ uInt32: UInt32) { let val: ConstrainULong = .uInt32(uInt32) self = val @@ -23354,6 +21707,7 @@ public enum ConstrainULong: JSValueCompatible, Any_ConstrainULong { default: return nil } } + public var uInt32: UInt32? { switch self { case let .uInt32(uInt32): return uInt32 @@ -23365,17 +21719,22 @@ public enum ConstrainULong: JSValueCompatible, Any_ConstrainULong { if let constrainULongRange: ConstrainULongRange = value.fromJSValue() { return .constrainULongRange(constrainULongRange) } - if let uInt32: UInt32 = value.fromJSValue() { return .uInt32(uInt32) } + if let uInt32: UInt32 = value.fromJSValue() { + return .uInt32(uInt32) + } return nil } public var jsValue: JSValue { switch self { - case let .constrainULongRange(constrainULongRange): return constrainULongRange.jsValue - case let .uInt32(uInt32): return uInt32.jsValue + case let .constrainULongRange(constrainULongRange): + return constrainULongRange.jsValue + case let .uInt32(uInt32): + return uInt32.jsValue } } } + public protocol Any_DOMPointInit_or_Double: ConvertibleToJSValue {} extension DOMPointInit: Any_DOMPointInit_or_Double {} extension Double: Any_DOMPointInit_or_Double {} @@ -23388,6 +21747,7 @@ public enum DOMPointInit_or_Double: JSValueCompatible, Any_DOMPointInit_or_Doubl let val: DOMPointInit_or_Double = .domPointInit(domPointInit) self = val } + public init(_ double: Double) { let val: DOMPointInit_or_Double = .double(double) self = val @@ -23399,6 +21759,7 @@ public enum DOMPointInit_or_Double: JSValueCompatible, Any_DOMPointInit_or_Doubl default: return nil } } + public var double: Double? { switch self { case let .double(double): return double @@ -23407,26 +21768,31 @@ public enum DOMPointInit_or_Double: JSValueCompatible, Any_DOMPointInit_or_Doubl } public static func construct(from value: JSValue) -> Self? { - if let domPointInit: DOMPointInit = value.fromJSValue() { return .domPointInit(domPointInit) } - if let double: Double = value.fromJSValue() { return .double(double) } + if let domPointInit: DOMPointInit = value.fromJSValue() { + return .domPointInit(domPointInit) + } + if let double: Double = value.fromJSValue() { + return .double(double) + } return nil } public var jsValue: JSValue { switch self { - case let .domPointInit(domPointInit): return domPointInit.jsValue - case let .double(double): return double.jsValue + case let .domPointInit(domPointInit): + return domPointInit.jsValue + case let .double(double): + return double.jsValue } } } + public protocol Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: ConvertibleToJSValue {} extension DOMPointInit: Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double {} extension Double: Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double {} extension Array: Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double where Element == DOMPointInit_or_Double {} -public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueCompatible, - Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double -{ +public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueCompatible, Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double { case domPointInit(DOMPointInit) case double(Double) case seq_of_DOMPointInit_or_Double([DOMPointInit_or_Double]) @@ -23435,14 +21801,14 @@ public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueComp let val: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double = .domPointInit(domPointInit) self = val } + public init(_ double: Double) { let val: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double = .double(double) self = val } + public init(_ seq_of_DOMPointInit_or_Double: [DOMPointInit_or_Double]) { - let val: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double = .seq_of_DOMPointInit_or_Double( - seq_of_DOMPointInit_or_Double - ) + let val: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double = .seq_of_DOMPointInit_or_Double(seq_of_DOMPointInit_or_Double) self = val } @@ -23452,12 +21818,14 @@ public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueComp default: return nil } } + public var double: Double? { switch self { case let .double(double): return double default: return nil } } + public var seq_of_DOMPointInit_or_Double: [DOMPointInit_or_Double]? { switch self { case let .seq_of_DOMPointInit_or_Double(seq_of_DOMPointInit_or_Double): return seq_of_DOMPointInit_or_Double @@ -23466,8 +21834,12 @@ public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueComp } public static func construct(from value: JSValue) -> Self? { - if let domPointInit: DOMPointInit = value.fromJSValue() { return .domPointInit(domPointInit) } - if let double: Double = value.fromJSValue() { return .double(double) } + if let domPointInit: DOMPointInit = value.fromJSValue() { + return .domPointInit(domPointInit) + } + if let double: Double = value.fromJSValue() { + return .double(double) + } if let seq_of_DOMPointInit_or_Double: [DOMPointInit_or_Double] = value.fromJSValue() { return .seq_of_DOMPointInit_or_Double(seq_of_DOMPointInit_or_Double) } @@ -23476,13 +21848,16 @@ public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueComp public var jsValue: JSValue { switch self { - case let .domPointInit(domPointInit): return domPointInit.jsValue - case let .double(double): return double.jsValue + case let .domPointInit(domPointInit): + return domPointInit.jsValue + case let .double(double): + return double.jsValue case let .seq_of_DOMPointInit_or_Double(seq_of_DOMPointInit_or_Double): return seq_of_DOMPointInit_or_Double.jsValue } } } + public protocol Any_Document_or_XMLHttpRequestBodyInit: ConvertibleToJSValue {} extension Document: Any_Document_or_XMLHttpRequestBodyInit {} extension XMLHttpRequestBodyInit: Any_Document_or_XMLHttpRequestBodyInit {} @@ -23495,34 +21870,42 @@ public enum Document_or_XMLHttpRequestBodyInit: JSValueCompatible, Any_Document_ let val: Document_or_XMLHttpRequestBodyInit = .document(document) self = val } + public init(_ xmlHttpRequestBodyInit: XMLHttpRequestBodyInit) { let val: Document_or_XMLHttpRequestBodyInit = .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit) self = val } + public init(_ blob: Blob) { let val: XMLHttpRequestBodyInit = .blob(blob) self = .init(val) } + public init(_ bufferSource: BufferSource) { let val: XMLHttpRequestBodyInit = .bufferSource(bufferSource) self = .init(val) } + public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } + public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } + public init(_ formData: FormData) { let val: XMLHttpRequestBodyInit = .formData(formData) self = .init(val) } + public init(_ string: String) { let val: XMLHttpRequestBodyInit = .string(string) self = .init(val) } + public init(_ urlSearchParams: URLSearchParams) { let val: XMLHttpRequestBodyInit = .urlSearchParams(urlSearchParams) self = .init(val) @@ -23534,6 +21917,7 @@ public enum Document_or_XMLHttpRequestBodyInit: JSValueCompatible, Any_Document_ default: return nil } } + public var xmlHttpRequestBodyInit: XMLHttpRequestBodyInit? { switch self { case let .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit): return xmlHttpRequestBodyInit @@ -23542,7 +21926,9 @@ public enum Document_or_XMLHttpRequestBodyInit: JSValueCompatible, Any_Document_ } public static func construct(from value: JSValue) -> Self? { - if let document: Document = value.fromJSValue() { return .document(document) } + if let document: Document = value.fromJSValue() { + return .document(document) + } if let xmlHttpRequestBodyInit: XMLHttpRequestBodyInit = value.fromJSValue() { return .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit) } @@ -23551,11 +21937,14 @@ public enum Document_or_XMLHttpRequestBodyInit: JSValueCompatible, Any_Document_ public var jsValue: JSValue { switch self { - case let .document(document): return document.jsValue - case let .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit): return xmlHttpRequestBodyInit.jsValue + case let .document(document): + return document.jsValue + case let .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit): + return xmlHttpRequestBodyInit.jsValue } } } + public protocol Any_ElementCreationOptions_or_String: ConvertibleToJSValue {} extension ElementCreationOptions: Any_ElementCreationOptions_or_String {} extension String: Any_ElementCreationOptions_or_String {} @@ -23568,6 +21957,7 @@ public enum ElementCreationOptions_or_String: JSValueCompatible, Any_ElementCrea let val: ElementCreationOptions_or_String = .elementCreationOptions(elementCreationOptions) self = val } + public init(_ string: String) { let val: ElementCreationOptions_or_String = .string(string) self = val @@ -23579,6 +21969,7 @@ public enum ElementCreationOptions_or_String: JSValueCompatible, Any_ElementCrea default: return nil } } + public var string: String? { switch self { case let .string(string): return string @@ -23590,17 +21981,22 @@ public enum ElementCreationOptions_or_String: JSValueCompatible, Any_ElementCrea if let elementCreationOptions: ElementCreationOptions = value.fromJSValue() { return .elementCreationOptions(elementCreationOptions) } - if let string: String = value.fromJSValue() { return .string(string) } + if let string: String = value.fromJSValue() { + return .string(string) + } return nil } public var jsValue: JSValue { switch self { - case let .elementCreationOptions(elementCreationOptions): return elementCreationOptions.jsValue - case let .string(string): return string.jsValue + case let .elementCreationOptions(elementCreationOptions): + return elementCreationOptions.jsValue + case let .string(string): + return string.jsValue } } } + public protocol Any_Element_or_HTMLCollection: ConvertibleToJSValue {} extension Element: Any_Element_or_HTMLCollection {} extension HTMLCollection: Any_Element_or_HTMLCollection {} @@ -23613,6 +22009,7 @@ public enum Element_or_HTMLCollection: JSValueCompatible, Any_Element_or_HTMLCol let val: Element_or_HTMLCollection = .element(element) self = val } + public init(_ htmlCollection: HTMLCollection) { let val: Element_or_HTMLCollection = .htmlCollection(htmlCollection) self = val @@ -23624,6 +22021,7 @@ public enum Element_or_HTMLCollection: JSValueCompatible, Any_Element_or_HTMLCol default: return nil } } + public var htmlCollection: HTMLCollection? { switch self { case let .htmlCollection(htmlCollection): return htmlCollection @@ -23632,18 +22030,25 @@ public enum Element_or_HTMLCollection: JSValueCompatible, Any_Element_or_HTMLCol } public static func construct(from value: JSValue) -> Self? { - if let element: Element = value.fromJSValue() { return .element(element) } - if let htmlCollection: HTMLCollection = value.fromJSValue() { return .htmlCollection(htmlCollection) } + if let element: Element = value.fromJSValue() { + return .element(element) + } + if let htmlCollection: HTMLCollection = value.fromJSValue() { + return .htmlCollection(htmlCollection) + } return nil } public var jsValue: JSValue { switch self { - case let .element(element): return element.jsValue - case let .htmlCollection(htmlCollection): return htmlCollection.jsValue + case let .element(element): + return element.jsValue + case let .htmlCollection(htmlCollection): + return htmlCollection.jsValue } } } + public protocol Any_Element_or_RadioNodeList: ConvertibleToJSValue {} extension Element: Any_Element_or_RadioNodeList {} extension RadioNodeList: Any_Element_or_RadioNodeList {} @@ -23656,6 +22061,7 @@ public enum Element_or_RadioNodeList: JSValueCompatible, Any_Element_or_RadioNod let val: Element_or_RadioNodeList = .element(element) self = val } + public init(_ radioNodeList: RadioNodeList) { let val: Element_or_RadioNodeList = .radioNodeList(radioNodeList) self = val @@ -23667,6 +22073,7 @@ public enum Element_or_RadioNodeList: JSValueCompatible, Any_Element_or_RadioNod default: return nil } } + public var radioNodeList: RadioNodeList? { switch self { case let .radioNodeList(radioNodeList): return radioNodeList @@ -23675,18 +22082,25 @@ public enum Element_or_RadioNodeList: JSValueCompatible, Any_Element_or_RadioNod } public static func construct(from value: JSValue) -> Self? { - if let element: Element = value.fromJSValue() { return .element(element) } - if let radioNodeList: RadioNodeList = value.fromJSValue() { return .radioNodeList(radioNodeList) } + if let element: Element = value.fromJSValue() { + return .element(element) + } + if let radioNodeList: RadioNodeList = value.fromJSValue() { + return .radioNodeList(radioNodeList) + } return nil } public var jsValue: JSValue { switch self { - case let .element(element): return element.jsValue - case let .radioNodeList(radioNodeList): return radioNodeList.jsValue + case let .element(element): + return element.jsValue + case let .radioNodeList(radioNodeList): + return radioNodeList.jsValue } } } + public protocol Any_Element_or_Text: ConvertibleToJSValue {} extension Element: Any_Element_or_Text {} extension Text: Any_Element_or_Text {} @@ -23699,6 +22113,7 @@ public enum Element_or_Text: JSValueCompatible, Any_Element_or_Text { let val: Element_or_Text = .element(element) self = val } + public init(_ text: Text) { let val: Element_or_Text = .text(text) self = val @@ -23710,6 +22125,7 @@ public enum Element_or_Text: JSValueCompatible, Any_Element_or_Text { default: return nil } } + public var text: Text? { switch self { case let .text(text): return text @@ -23718,18 +22134,25 @@ public enum Element_or_Text: JSValueCompatible, Any_Element_or_Text { } public static func construct(from value: JSValue) -> Self? { - if let element: Element = value.fromJSValue() { return .element(element) } - if let text: Text = value.fromJSValue() { return .text(text) } + if let element: Element = value.fromJSValue() { + return .element(element) + } + if let text: Text = value.fromJSValue() { + return .text(text) + } return nil } public var jsValue: JSValue { switch self { - case let .element(element): return element.jsValue - case let .text(text): return text.jsValue + case let .element(element): + return element.jsValue + case let .text(text): + return text.jsValue } } } + public protocol Any_Event_or_String: ConvertibleToJSValue {} extension Event: Any_Event_or_String {} extension String: Any_Event_or_String {} @@ -23742,6 +22165,7 @@ public enum Event_or_String: JSValueCompatible, Any_Event_or_String { let val: Event_or_String = .event(event) self = val } + public init(_ string: String) { let val: Event_or_String = .string(string) self = val @@ -23753,6 +22177,7 @@ public enum Event_or_String: JSValueCompatible, Any_Event_or_String { default: return nil } } + public var string: String? { switch self { case let .string(string): return string @@ -23761,18 +22186,25 @@ public enum Event_or_String: JSValueCompatible, Any_Event_or_String { } public static func construct(from value: JSValue) -> Self? { - if let event: Event = value.fromJSValue() { return .event(event) } - if let string: String = value.fromJSValue() { return .string(string) } + if let event: Event = value.fromJSValue() { + return .event(event) + } + if let string: String = value.fromJSValue() { + return .string(string) + } return nil } public var jsValue: JSValue { switch self { - case let .event(event): return event.jsValue - case let .string(string): return string.jsValue + case let .event(event): + return event.jsValue + case let .string(string): + return string.jsValue } } } + public protocol Any_File_or_FormData_or_String: ConvertibleToJSValue {} extension File: Any_File_or_FormData_or_String {} extension FormData: Any_File_or_FormData_or_String {} @@ -23787,10 +22219,12 @@ public enum File_or_FormData_or_String: JSValueCompatible, Any_File_or_FormData_ let val: File_or_FormData_or_String = .file(file) self = val } + public init(_ formData: FormData) { let val: File_or_FormData_or_String = .formData(formData) self = val } + public init(_ string: String) { let val: File_or_FormData_or_String = .string(string) self = val @@ -23802,12 +22236,14 @@ public enum File_or_FormData_or_String: JSValueCompatible, Any_File_or_FormData_ default: return nil } } + public var formData: FormData? { switch self { case let .formData(formData): return formData default: return nil } } + public var string: String? { switch self { case let .string(string): return string @@ -23816,20 +22252,30 @@ public enum File_or_FormData_or_String: JSValueCompatible, Any_File_or_FormData_ } public static func construct(from value: JSValue) -> Self? { - if let file: File = value.fromJSValue() { return .file(file) } - if let formData: FormData = value.fromJSValue() { return .formData(formData) } - if let string: String = value.fromJSValue() { return .string(string) } + if let file: File = value.fromJSValue() { + return .file(file) + } + if let formData: FormData = value.fromJSValue() { + return .formData(formData) + } + if let string: String = value.fromJSValue() { + return .string(string) + } return nil } public var jsValue: JSValue { switch self { - case let .file(file): return file.jsValue - case let .formData(formData): return formData.jsValue - case let .string(string): return string.jsValue + case let .file(file): + return file.jsValue + case let .formData(formData): + return formData.jsValue + case let .string(string): + return string.jsValue } } } + public protocol Any_FormDataEntryValue: ConvertibleToJSValue {} extension File: Any_FormDataEntryValue {} extension String: Any_FormDataEntryValue {} @@ -23842,6 +22288,7 @@ public enum FormDataEntryValue: JSValueCompatible, Any_FormDataEntryValue { let val: FormDataEntryValue = .file(file) self = val } + public init(_ string: String) { let val: FormDataEntryValue = .string(string) self = val @@ -23853,6 +22300,7 @@ public enum FormDataEntryValue: JSValueCompatible, Any_FormDataEntryValue { default: return nil } } + public var string: String? { switch self { case let .string(string): return string @@ -23861,18 +22309,25 @@ public enum FormDataEntryValue: JSValueCompatible, Any_FormDataEntryValue { } public static func construct(from value: JSValue) -> Self? { - if let file: File = value.fromJSValue() { return .file(file) } - if let string: String = value.fromJSValue() { return .string(string) } + if let file: File = value.fromJSValue() { + return .file(file) + } + if let string: String = value.fromJSValue() { + return .string(string) + } return nil } public var jsValue: JSValue { switch self { - case let .file(file): return file.jsValue - case let .string(string): return string.jsValue + case let .file(file): + return file.jsValue + case let .string(string): + return string.jsValue } } } + public protocol Any_GeometryNode: ConvertibleToJSValue {} extension CSSPseudoElement: Any_GeometryNode {} extension Document: Any_GeometryNode {} @@ -23889,14 +22344,17 @@ public enum GeometryNode: JSValueCompatible, Any_GeometryNode { let val: GeometryNode = .cssPseudoElement(cssPseudoElement) self = val } + public init(_ document: Document) { let val: GeometryNode = .document(document) self = val } + public init(_ element: Element) { let val: GeometryNode = .element(element) self = val } + public init(_ text: Text) { let val: GeometryNode = .text(text) self = val @@ -23908,18 +22366,21 @@ public enum GeometryNode: JSValueCompatible, Any_GeometryNode { default: return nil } } + public var document: Document? { switch self { case let .document(document): return document default: return nil } } + public var element: Element? { switch self { case let .element(element): return element default: return nil } } + public var text: Text? { switch self { case let .text(text): return text @@ -23928,22 +22389,35 @@ public enum GeometryNode: JSValueCompatible, Any_GeometryNode { } public static func construct(from value: JSValue) -> Self? { - if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { return .cssPseudoElement(cssPseudoElement) } - if let document: Document = value.fromJSValue() { return .document(document) } - if let element: Element = value.fromJSValue() { return .element(element) } - if let text: Text = value.fromJSValue() { return .text(text) } + if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { + return .cssPseudoElement(cssPseudoElement) + } + if let document: Document = value.fromJSValue() { + return .document(document) + } + if let element: Element = value.fromJSValue() { + return .element(element) + } + if let text: Text = value.fromJSValue() { + return .text(text) + } return nil } public var jsValue: JSValue { switch self { - case let .cssPseudoElement(cssPseudoElement): return cssPseudoElement.jsValue - case let .document(document): return document.jsValue - case let .element(element): return element.jsValue - case let .text(text): return text.jsValue + case let .cssPseudoElement(cssPseudoElement): + return cssPseudoElement.jsValue + case let .document(document): + return document.jsValue + case let .element(element): + return element.jsValue + case let .text(text): + return text.jsValue } } } + public protocol Any_HTMLCanvasElement_or_OffscreenCanvas: ConvertibleToJSValue {} extension HTMLCanvasElement: Any_HTMLCanvasElement_or_OffscreenCanvas {} extension OffscreenCanvas: Any_HTMLCanvasElement_or_OffscreenCanvas {} @@ -23956,6 +22430,7 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan let val: HTMLCanvasElement_or_OffscreenCanvas = .htmlCanvasElement(htmlCanvasElement) self = val } + public init(_ offscreenCanvas: OffscreenCanvas) { let val: HTMLCanvasElement_or_OffscreenCanvas = .offscreenCanvas(offscreenCanvas) self = val @@ -23967,6 +22442,7 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan default: return nil } } + public var offscreenCanvas: OffscreenCanvas? { switch self { case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas @@ -23978,17 +22454,22 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan if let htmlCanvasElement: HTMLCanvasElement = value.fromJSValue() { return .htmlCanvasElement(htmlCanvasElement) } - if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { return .offscreenCanvas(offscreenCanvas) } + if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { + return .offscreenCanvas(offscreenCanvas) + } return nil } public var jsValue: JSValue { switch self { - case let .htmlCanvasElement(htmlCanvasElement): return htmlCanvasElement.jsValue - case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas.jsValue + case let .htmlCanvasElement(htmlCanvasElement): + return htmlCanvasElement.jsValue + case let .offscreenCanvas(offscreenCanvas): + return offscreenCanvas.jsValue } } } + public protocol Any_HTMLElement_or_Int32: ConvertibleToJSValue {} extension HTMLElement: Any_HTMLElement_or_Int32 {} extension Int32: Any_HTMLElement_or_Int32 {} @@ -24001,6 +22482,7 @@ public enum HTMLElement_or_Int32: JSValueCompatible, Any_HTMLElement_or_Int32 { let val: HTMLElement_or_Int32 = .htmlElement(htmlElement) self = val } + public init(_ int32: Int32) { let val: HTMLElement_or_Int32 = .int32(int32) self = val @@ -24012,6 +22494,7 @@ public enum HTMLElement_or_Int32: JSValueCompatible, Any_HTMLElement_or_Int32 { default: return nil } } + public var int32: Int32? { switch self { case let .int32(int32): return int32 @@ -24020,18 +22503,25 @@ public enum HTMLElement_or_Int32: JSValueCompatible, Any_HTMLElement_or_Int32 { } public static func construct(from value: JSValue) -> Self? { - if let htmlElement: HTMLElement = value.fromJSValue() { return .htmlElement(htmlElement) } - if let int32: Int32 = value.fromJSValue() { return .int32(int32) } + if let htmlElement: HTMLElement = value.fromJSValue() { + return .htmlElement(htmlElement) + } + if let int32: Int32 = value.fromJSValue() { + return .int32(int32) + } return nil } public var jsValue: JSValue { switch self { - case let .htmlElement(htmlElement): return htmlElement.jsValue - case let .int32(int32): return int32.jsValue + case let .htmlElement(htmlElement): + return htmlElement.jsValue + case let .int32(int32): + return int32.jsValue } } } + public protocol Any_HTMLOptGroupElement_or_HTMLOptionElement: ConvertibleToJSValue {} extension HTMLOptGroupElement: Any_HTMLOptGroupElement_or_HTMLOptionElement {} extension HTMLOptionElement: Any_HTMLOptGroupElement_or_HTMLOptionElement {} @@ -24044,6 +22534,7 @@ public enum HTMLOptGroupElement_or_HTMLOptionElement: JSValueCompatible, Any_HTM let val: HTMLOptGroupElement_or_HTMLOptionElement = .htmlOptGroupElement(htmlOptGroupElement) self = val } + public init(_ htmlOptionElement: HTMLOptionElement) { let val: HTMLOptGroupElement_or_HTMLOptionElement = .htmlOptionElement(htmlOptionElement) self = val @@ -24055,6 +22546,7 @@ public enum HTMLOptGroupElement_or_HTMLOptionElement: JSValueCompatible, Any_HTM default: return nil } } + public var htmlOptionElement: HTMLOptionElement? { switch self { case let .htmlOptionElement(htmlOptionElement): return htmlOptionElement @@ -24074,11 +22566,14 @@ public enum HTMLOptGroupElement_or_HTMLOptionElement: JSValueCompatible, Any_HTM public var jsValue: JSValue { switch self { - case let .htmlOptGroupElement(htmlOptGroupElement): return htmlOptGroupElement.jsValue - case let .htmlOptionElement(htmlOptionElement): return htmlOptionElement.jsValue + case let .htmlOptGroupElement(htmlOptGroupElement): + return htmlOptGroupElement.jsValue + case let .htmlOptionElement(htmlOptionElement): + return htmlOptionElement.jsValue } } } + public protocol Any_HeadersInit: ConvertibleToJSValue {} extension JSObject: Any_HeadersInit {} extension Array: Any_HeadersInit where Element == [String] {} @@ -24091,6 +22586,7 @@ public enum HeadersInit: JSValueCompatible, Any_HeadersInit { let val: HeadersInit = .record_String_to_String(record_String_to_String) self = val } + public init(_ seq_of_seq_of_String: [[String]]) { let val: HeadersInit = .seq_of_seq_of_String(seq_of_seq_of_String) self = val @@ -24102,6 +22598,7 @@ public enum HeadersInit: JSValueCompatible, Any_HeadersInit { default: return nil } } + public var seq_of_seq_of_String: [[String]]? { switch self { case let .seq_of_seq_of_String(seq_of_seq_of_String): return seq_of_seq_of_String @@ -24121,11 +22618,14 @@ public enum HeadersInit: JSValueCompatible, Any_HeadersInit { public var jsValue: JSValue { switch self { - case let .record_String_to_String(record_String_to_String): return record_String_to_String.jsValue - case let .seq_of_seq_of_String(seq_of_seq_of_String): return seq_of_seq_of_String.jsValue + case let .record_String_to_String(record_String_to_String): + return record_String_to_String.jsValue + case let .seq_of_seq_of_String(seq_of_seq_of_String): + return seq_of_seq_of_String.jsValue } } } + public protocol Any_ImageBitmapSource: ConvertibleToJSValue {} extension Blob: Any_ImageBitmapSource {} extension CanvasImageSource: Any_ImageBitmapSource {} @@ -24140,34 +22640,52 @@ public enum ImageBitmapSource: JSValueCompatible, Any_ImageBitmapSource { let val: ImageBitmapSource = .blob(blob) self = val } + public init(_ canvasImageSource: CanvasImageSource) { let val: ImageBitmapSource = .canvasImageSource(canvasImageSource) self = val } + public init(_ htmlCanvasElement: HTMLCanvasElement) { let val: CanvasImageSource = .htmlCanvasElement(htmlCanvasElement) self = .init(val) } + public init(_ htmlOrSVGImageElement: HTMLOrSVGImageElement) { let val: CanvasImageSource = .htmlOrSVGImageElement(htmlOrSVGImageElement) self = .init(val) } + + public init(_ htmlImageElement: HTMLImageElement) { + let val: HTMLOrSVGImageElement = .htmlImageElement(htmlImageElement) + self = .init(val) + } + + public init(_ svgImageElement: SVGImageElement) { + let val: HTMLOrSVGImageElement = .svgImageElement(svgImageElement) + self = .init(val) + } + public init(_ htmlVideoElement: HTMLVideoElement) { let val: CanvasImageSource = .htmlVideoElement(htmlVideoElement) self = .init(val) } + public init(_ imageBitmap: ImageBitmap) { let val: CanvasImageSource = .imageBitmap(imageBitmap) self = .init(val) } + public init(_ offscreenCanvas: OffscreenCanvas) { let val: CanvasImageSource = .offscreenCanvas(offscreenCanvas) self = .init(val) } + public init(_ videoFrame: VideoFrame) { let val: CanvasImageSource = .videoFrame(videoFrame) self = .init(val) } + public init(_ imageData: ImageData) { let val: ImageBitmapSource = .imageData(imageData) self = val @@ -24179,12 +22697,14 @@ public enum ImageBitmapSource: JSValueCompatible, Any_ImageBitmapSource { default: return nil } } + public var canvasImageSource: CanvasImageSource? { switch self { case let .canvasImageSource(canvasImageSource): return canvasImageSource default: return nil } } + public var imageData: ImageData? { switch self { case let .imageData(imageData): return imageData @@ -24193,22 +22713,30 @@ public enum ImageBitmapSource: JSValueCompatible, Any_ImageBitmapSource { } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { return .blob(blob) } + if let blob: Blob = value.fromJSValue() { + return .blob(blob) + } if let canvasImageSource: CanvasImageSource = value.fromJSValue() { return .canvasImageSource(canvasImageSource) } - if let imageData: ImageData = value.fromJSValue() { return .imageData(imageData) } + if let imageData: ImageData = value.fromJSValue() { + return .imageData(imageData) + } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): return blob.jsValue - case let .canvasImageSource(canvasImageSource): return canvasImageSource.jsValue - case let .imageData(imageData): return imageData.jsValue + case let .blob(blob): + return blob.jsValue + case let .canvasImageSource(canvasImageSource): + return canvasImageSource.jsValue + case let .imageData(imageData): + return imageData.jsValue } } } + public protocol Any_ImageBufferSource: ConvertibleToJSValue {} extension BufferSource: Any_ImageBufferSource {} extension ReadableStream: Any_ImageBufferSource {} @@ -24221,14 +22749,17 @@ public enum ImageBufferSource: JSValueCompatible, Any_ImageBufferSource { let val: ImageBufferSource = .bufferSource(bufferSource) self = val } + public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } + public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } + public init(_ readableStream: ReadableStream) { let val: ImageBufferSource = .readableStream(readableStream) self = val @@ -24240,6 +22771,7 @@ public enum ImageBufferSource: JSValueCompatible, Any_ImageBufferSource { default: return nil } } + public var readableStream: ReadableStream? { switch self { case let .readableStream(readableStream): return readableStream @@ -24248,18 +22780,25 @@ public enum ImageBufferSource: JSValueCompatible, Any_ImageBufferSource { } public static func construct(from value: JSValue) -> Self? { - if let bufferSource: BufferSource = value.fromJSValue() { return .bufferSource(bufferSource) } - if let readableStream: ReadableStream = value.fromJSValue() { return .readableStream(readableStream) } + if let bufferSource: BufferSource = value.fromJSValue() { + return .bufferSource(bufferSource) + } + if let readableStream: ReadableStream = value.fromJSValue() { + return .readableStream(readableStream) + } return nil } public var jsValue: JSValue { switch self { - case let .bufferSource(bufferSource): return bufferSource.jsValue - case let .readableStream(readableStream): return readableStream.jsValue + case let .bufferSource(bufferSource): + return bufferSource.jsValue + case let .readableStream(readableStream): + return readableStream.jsValue } } } + public protocol Any_MediaProvider: ConvertibleToJSValue {} extension Blob: Any_MediaProvider {} extension MediaSource: Any_MediaProvider {} @@ -24274,10 +22813,12 @@ public enum MediaProvider: JSValueCompatible, Any_MediaProvider { let val: MediaProvider = .blob(blob) self = val } + public init(_ mediaSource: MediaSource) { let val: MediaProvider = .mediaSource(mediaSource) self = val } + public init(_ mediaStream: MediaStream) { let val: MediaProvider = .mediaStream(mediaStream) self = val @@ -24289,12 +22830,14 @@ public enum MediaProvider: JSValueCompatible, Any_MediaProvider { default: return nil } } + public var mediaSource: MediaSource? { switch self { case let .mediaSource(mediaSource): return mediaSource default: return nil } } + public var mediaStream: MediaStream? { switch self { case let .mediaStream(mediaStream): return mediaStream @@ -24303,20 +22846,30 @@ public enum MediaProvider: JSValueCompatible, Any_MediaProvider { } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { return .blob(blob) } - if let mediaSource: MediaSource = value.fromJSValue() { return .mediaSource(mediaSource) } - if let mediaStream: MediaStream = value.fromJSValue() { return .mediaStream(mediaStream) } + if let blob: Blob = value.fromJSValue() { + return .blob(blob) + } + if let mediaSource: MediaSource = value.fromJSValue() { + return .mediaSource(mediaSource) + } + if let mediaStream: MediaStream = value.fromJSValue() { + return .mediaStream(mediaStream) + } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): return blob.jsValue - case let .mediaSource(mediaSource): return mediaSource.jsValue - case let .mediaStream(mediaStream): return mediaStream.jsValue + case let .blob(blob): + return blob.jsValue + case let .mediaSource(mediaSource): + return mediaSource.jsValue + case let .mediaStream(mediaStream): + return mediaStream.jsValue } } } + public protocol Any_MessageEventSource: ConvertibleToJSValue {} extension MessagePort: Any_MessageEventSource {} extension ServiceWorker: Any_MessageEventSource {} @@ -24331,10 +22884,12 @@ public enum MessageEventSource: JSValueCompatible, Any_MessageEventSource { let val: MessageEventSource = .messagePort(messagePort) self = val } + public init(_ serviceWorker: ServiceWorker) { let val: MessageEventSource = .serviceWorker(serviceWorker) self = val } + public init(_ windowProxy: WindowProxy) { let val: MessageEventSource = .windowProxy(windowProxy) self = val @@ -24346,12 +22901,14 @@ public enum MessageEventSource: JSValueCompatible, Any_MessageEventSource { default: return nil } } + public var serviceWorker: ServiceWorker? { switch self { case let .serviceWorker(serviceWorker): return serviceWorker default: return nil } } + public var windowProxy: WindowProxy? { switch self { case let .windowProxy(windowProxy): return windowProxy @@ -24360,20 +22917,30 @@ public enum MessageEventSource: JSValueCompatible, Any_MessageEventSource { } public static func construct(from value: JSValue) -> Self? { - if let messagePort: MessagePort = value.fromJSValue() { return .messagePort(messagePort) } - if let serviceWorker: ServiceWorker = value.fromJSValue() { return .serviceWorker(serviceWorker) } - if let windowProxy: WindowProxy = value.fromJSValue() { return .windowProxy(windowProxy) } + if let messagePort: MessagePort = value.fromJSValue() { + return .messagePort(messagePort) + } + if let serviceWorker: ServiceWorker = value.fromJSValue() { + return .serviceWorker(serviceWorker) + } + if let windowProxy: WindowProxy = value.fromJSValue() { + return .windowProxy(windowProxy) + } return nil } public var jsValue: JSValue { switch self { - case let .messagePort(messagePort): return messagePort.jsValue - case let .serviceWorker(serviceWorker): return serviceWorker.jsValue - case let .windowProxy(windowProxy): return windowProxy.jsValue + case let .messagePort(messagePort): + return messagePort.jsValue + case let .serviceWorker(serviceWorker): + return serviceWorker.jsValue + case let .windowProxy(windowProxy): + return windowProxy.jsValue } } } + public protocol Any_Node_or_String: ConvertibleToJSValue {} extension Node: Any_Node_or_String {} extension String: Any_Node_or_String {} @@ -24386,6 +22953,7 @@ public enum Node_or_String: JSValueCompatible, Any_Node_or_String { let val: Node_or_String = .node(node) self = val } + public init(_ string: String) { let val: Node_or_String = .string(string) self = val @@ -24397,6 +22965,7 @@ public enum Node_or_String: JSValueCompatible, Any_Node_or_String { default: return nil } } + public var string: String? { switch self { case let .string(string): return string @@ -24405,18 +22974,25 @@ public enum Node_or_String: JSValueCompatible, Any_Node_or_String { } public static func construct(from value: JSValue) -> Self? { - if let node: Node = value.fromJSValue() { return .node(node) } - if let string: String = value.fromJSValue() { return .string(string) } + if let node: Node = value.fromJSValue() { + return .node(node) + } + if let string: String = value.fromJSValue() { + return .string(string) + } return nil } public var jsValue: JSValue { switch self { - case let .node(node): return node.jsValue - case let .string(string): return string.jsValue + case let .node(node): + return node.jsValue + case let .string(string): + return string.jsValue } } } + public protocol Any_Path2D_or_String: ConvertibleToJSValue {} extension Path2D: Any_Path2D_or_String {} extension String: Any_Path2D_or_String {} @@ -24429,6 +23005,7 @@ public enum Path2D_or_String: JSValueCompatible, Any_Path2D_or_String { let val: Path2D_or_String = .path2D(path2D) self = val } + public init(_ string: String) { let val: Path2D_or_String = .string(string) self = val @@ -24440,6 +23017,7 @@ public enum Path2D_or_String: JSValueCompatible, Any_Path2D_or_String { default: return nil } } + public var string: String? { switch self { case let .string(string): return string @@ -24448,18 +23026,25 @@ public enum Path2D_or_String: JSValueCompatible, Any_Path2D_or_String { } public static func construct(from value: JSValue) -> Self? { - if let path2D: Path2D = value.fromJSValue() { return .path2D(path2D) } - if let string: String = value.fromJSValue() { return .string(string) } + if let path2D: Path2D = value.fromJSValue() { + return .path2D(path2D) + } + if let string: String = value.fromJSValue() { + return .string(string) + } return nil } public var jsValue: JSValue { switch self { - case let .path2D(path2D): return path2D.jsValue - case let .string(string): return string.jsValue + case let .path2D(path2D): + return path2D.jsValue + case let .string(string): + return string.jsValue } } } + public protocol Any_ReadableStreamController: ConvertibleToJSValue {} extension ReadableByteStreamController: Any_ReadableStreamController {} extension ReadableStreamDefaultController: Any_ReadableStreamController {} @@ -24472,6 +23057,7 @@ public enum ReadableStreamController: JSValueCompatible, Any_ReadableStreamContr let val: ReadableStreamController = .readableByteStreamController(readableByteStreamController) self = val } + public init(_ readableStreamDefaultController: ReadableStreamDefaultController) { let val: ReadableStreamController = .readableStreamDefaultController(readableStreamDefaultController) self = val @@ -24483,10 +23069,10 @@ public enum ReadableStreamController: JSValueCompatible, Any_ReadableStreamContr default: return nil } } + public var readableStreamDefaultController: ReadableStreamDefaultController? { switch self { - case let .readableStreamDefaultController(readableStreamDefaultController): - return readableStreamDefaultController + case let .readableStreamDefaultController(readableStreamDefaultController): return readableStreamDefaultController default: return nil } } @@ -24510,6 +23096,7 @@ public enum ReadableStreamController: JSValueCompatible, Any_ReadableStreamContr } } } + public protocol Any_ReadableStreamReader: ConvertibleToJSValue {} extension ReadableStreamBYOBReader: Any_ReadableStreamReader {} extension ReadableStreamDefaultReader: Any_ReadableStreamReader {} @@ -24522,6 +23109,7 @@ public enum ReadableStreamReader: JSValueCompatible, Any_ReadableStreamReader { let val: ReadableStreamReader = .readableStreamBYOBReader(readableStreamBYOBReader) self = val } + public init(_ readableStreamDefaultReader: ReadableStreamDefaultReader) { let val: ReadableStreamReader = .readableStreamDefaultReader(readableStreamDefaultReader) self = val @@ -24533,6 +23121,7 @@ public enum ReadableStreamReader: JSValueCompatible, Any_ReadableStreamReader { default: return nil } } + public var readableStreamDefaultReader: ReadableStreamDefaultReader? { switch self { case let .readableStreamDefaultReader(readableStreamDefaultReader): return readableStreamDefaultReader @@ -24552,11 +23141,14 @@ public enum ReadableStreamReader: JSValueCompatible, Any_ReadableStreamReader { public var jsValue: JSValue { switch self { - case let .readableStreamBYOBReader(readableStreamBYOBReader): return readableStreamBYOBReader.jsValue - case let .readableStreamDefaultReader(readableStreamDefaultReader): return readableStreamDefaultReader.jsValue + case let .readableStreamBYOBReader(readableStreamBYOBReader): + return readableStreamBYOBReader.jsValue + case let .readableStreamDefaultReader(readableStreamDefaultReader): + return readableStreamDefaultReader.jsValue } } } + public protocol Any_RequestInfo: ConvertibleToJSValue {} extension Request: Any_RequestInfo {} extension String: Any_RequestInfo {} @@ -24569,6 +23161,7 @@ public enum RequestInfo: JSValueCompatible, Any_RequestInfo { let val: RequestInfo = .request(request) self = val } + public init(_ string: String) { let val: RequestInfo = .string(string) self = val @@ -24580,6 +23173,7 @@ public enum RequestInfo: JSValueCompatible, Any_RequestInfo { default: return nil } } + public var string: String? { switch self { case let .string(string): return string @@ -24588,18 +23182,25 @@ public enum RequestInfo: JSValueCompatible, Any_RequestInfo { } public static func construct(from value: JSValue) -> Self? { - if let request: Request = value.fromJSValue() { return .request(request) } - if let string: String = value.fromJSValue() { return .string(string) } + if let request: Request = value.fromJSValue() { + return .request(request) + } + if let string: String = value.fromJSValue() { + return .string(string) + } return nil } public var jsValue: JSValue { switch self { - case let .request(request): return request.jsValue - case let .string(string): return string.jsValue + case let .request(request): + return request.jsValue + case let .string(string): + return string.jsValue } } } + public protocol Any_String_or_WorkerOptions: ConvertibleToJSValue {} extension String: Any_String_or_WorkerOptions {} extension WorkerOptions: Any_String_or_WorkerOptions {} @@ -24612,6 +23213,7 @@ public enum String_or_WorkerOptions: JSValueCompatible, Any_String_or_WorkerOpti let val: String_or_WorkerOptions = .string(string) self = val } + public init(_ workerOptions: WorkerOptions) { let val: String_or_WorkerOptions = .workerOptions(workerOptions) self = val @@ -24623,6 +23225,7 @@ public enum String_or_WorkerOptions: JSValueCompatible, Any_String_or_WorkerOpti default: return nil } } + public var workerOptions: WorkerOptions? { switch self { case let .workerOptions(workerOptions): return workerOptions @@ -24631,18 +23234,25 @@ public enum String_or_WorkerOptions: JSValueCompatible, Any_String_or_WorkerOpti } public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { return .string(string) } - if let workerOptions: WorkerOptions = value.fromJSValue() { return .workerOptions(workerOptions) } + if let string: String = value.fromJSValue() { + return .string(string) + } + if let workerOptions: WorkerOptions = value.fromJSValue() { + return .workerOptions(workerOptions) + } return nil } public var jsValue: JSValue { switch self { - case let .string(string): return string.jsValue - case let .workerOptions(workerOptions): return workerOptions.jsValue + case let .string(string): + return string.jsValue + case let .workerOptions(workerOptions): + return workerOptions.jsValue } } } + public protocol Any_String_or_seq_of_Double: ConvertibleToJSValue {} extension String: Any_String_or_seq_of_Double {} extension Array: Any_String_or_seq_of_Double where Element == Double {} @@ -24655,6 +23265,7 @@ public enum String_or_seq_of_Double: JSValueCompatible, Any_String_or_seq_of_Dou let val: String_or_seq_of_Double = .string(string) self = val } + public init(_ seq_of_Double: [Double]) { let val: String_or_seq_of_Double = .seq_of_Double(seq_of_Double) self = val @@ -24666,6 +23277,7 @@ public enum String_or_seq_of_Double: JSValueCompatible, Any_String_or_seq_of_Dou default: return nil } } + public var seq_of_Double: [Double]? { switch self { case let .seq_of_Double(seq_of_Double): return seq_of_Double @@ -24674,18 +23286,25 @@ public enum String_or_seq_of_Double: JSValueCompatible, Any_String_or_seq_of_Dou } public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { return .string(string) } - if let seq_of_Double: [Double] = value.fromJSValue() { return .seq_of_Double(seq_of_Double) } + if let string: String = value.fromJSValue() { + return .string(string) + } + if let seq_of_Double: [Double] = value.fromJSValue() { + return .seq_of_Double(seq_of_Double) + } return nil } public var jsValue: JSValue { switch self { - case let .string(string): return string.jsValue - case let .seq_of_Double(seq_of_Double): return seq_of_Double.jsValue + case let .string(string): + return string.jsValue + case let .seq_of_Double(seq_of_Double): + return seq_of_Double.jsValue } } } + public protocol Any_String_or_seq_of_String: ConvertibleToJSValue {} extension String: Any_String_or_seq_of_String {} extension Array: Any_String_or_seq_of_String where Element == String {} @@ -24698,6 +23317,7 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str let val: String_or_seq_of_String = .string(string) self = val } + public init(_ seq_of_String: [String]) { let val: String_or_seq_of_String = .seq_of_String(seq_of_String) self = val @@ -24709,6 +23329,7 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str default: return nil } } + public var seq_of_String: [String]? { switch self { case let .seq_of_String(seq_of_String): return seq_of_String @@ -24717,18 +23338,25 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str } public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { return .string(string) } - if let seq_of_String: [String] = value.fromJSValue() { return .seq_of_String(seq_of_String) } + if let string: String = value.fromJSValue() { + return .string(string) + } + if let seq_of_String: [String] = value.fromJSValue() { + return .seq_of_String(seq_of_String) + } return nil } public var jsValue: JSValue { switch self { - case let .string(string): return string.jsValue - case let .seq_of_String(seq_of_String): return seq_of_String.jsValue + case let .string(string): + return string.jsValue + case let .seq_of_String(seq_of_String): + return seq_of_String.jsValue } } } + public protocol Any_TimerHandler: ConvertibleToJSValue {} extension JSFunction: Any_TimerHandler {} extension String: Any_TimerHandler {} @@ -24741,6 +23369,7 @@ public enum TimerHandler: JSValueCompatible, Any_TimerHandler { let val: TimerHandler = .jsFunction(jsFunction) self = val } + public init(_ string: String) { let val: TimerHandler = .string(string) self = val @@ -24752,6 +23381,7 @@ public enum TimerHandler: JSValueCompatible, Any_TimerHandler { default: return nil } } + public var string: String? { switch self { case let .string(string): return string @@ -24760,118 +23390,25 @@ public enum TimerHandler: JSValueCompatible, Any_TimerHandler { } public static func construct(from value: JSValue) -> Self? { - if let jsFunction: JSFunction = value.fromJSValue() { return .jsFunction(jsFunction) } - if let string: String = value.fromJSValue() { return .string(string) } - return nil - } - - public var jsValue: JSValue { - switch self { - case let .jsFunction(jsFunction): return jsFunction.jsValue - case let .string(string): return string.jsValue - } - } -} -public protocol Any_TrustedType: ConvertibleToJSValue {} -extension TrustedHTML: Any_TrustedType {} -extension TrustedScript: Any_TrustedType {} -extension TrustedScriptURL: Any_TrustedType {} - -public enum TrustedType: JSValueCompatible, Any_TrustedType { - case trustedHTML(TrustedHTML) - case trustedScript(TrustedScript) - case trustedScriptURL(TrustedScriptURL) - - public init(_ trustedHTML: TrustedHTML) { - let val: TrustedType = .trustedHTML(trustedHTML) - self = val - } - public init(_ trustedScript: TrustedScript) { - let val: TrustedType = .trustedScript(trustedScript) - self = val - } - public init(_ trustedScriptURL: TrustedScriptURL) { - let val: TrustedType = .trustedScriptURL(trustedScriptURL) - self = val - } - - public var trustedHTML: TrustedHTML? { - switch self { - case let .trustedHTML(trustedHTML): return trustedHTML - default: return nil - } - } - public var trustedScript: TrustedScript? { - switch self { - case let .trustedScript(trustedScript): return trustedScript - default: return nil + if let jsFunction: JSFunction = value.fromJSValue() { + return .jsFunction(jsFunction) } - } - public var trustedScriptURL: TrustedScriptURL? { - switch self { - case let .trustedScriptURL(trustedScriptURL): return trustedScriptURL - default: return nil + if let string: String = value.fromJSValue() { + return .string(string) } - } - - public static func construct(from value: JSValue) -> Self? { - if let trustedHTML: TrustedHTML = value.fromJSValue() { return .trustedHTML(trustedHTML) } - if let trustedScript: TrustedScript = value.fromJSValue() { return .trustedScript(trustedScript) } - if let trustedScriptURL: TrustedScriptURL = value.fromJSValue() { return .trustedScriptURL(trustedScriptURL) } return nil } public var jsValue: JSValue { switch self { - case let .trustedHTML(trustedHTML): return trustedHTML.jsValue - case let .trustedScript(trustedScript): return trustedScript.jsValue - case let .trustedScriptURL(trustedScriptURL): return trustedScriptURL.jsValue + case let .jsFunction(jsFunction): + return jsFunction.jsValue + case let .string(string): + return string.jsValue } } } -public protocol Any_URLPatternInput: ConvertibleToJSValue {} -extension String: Any_URLPatternInput {} -extension URLPatternInit: Any_URLPatternInput {} - -public enum URLPatternInput: JSValueCompatible, Any_URLPatternInput { - case string(String) - case urlPatternInit(URLPatternInit) - - public init(_ string: String) { - let val: URLPatternInput = .string(string) - self = val - } - public init(_ urlPatternInit: URLPatternInit) { - let val: URLPatternInput = .urlPatternInit(urlPatternInit) - self = val - } - - public var string: String? { - switch self { - case let .string(string): return string - default: return nil - } - } - public var urlPatternInit: URLPatternInit? { - switch self { - case let .urlPatternInit(urlPatternInit): return urlPatternInit - default: return nil - } - } - public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { return .string(string) } - if let urlPatternInit: URLPatternInit = value.fromJSValue() { return .urlPatternInit(urlPatternInit) } - return nil - } - - public var jsValue: JSValue { - switch self { - case let .string(string): return string.jsValue - case let .urlPatternInit(urlPatternInit): return urlPatternInit.jsValue - } - } -} public protocol Any_XMLHttpRequestBodyInit: ConvertibleToJSValue {} extension Blob: Any_XMLHttpRequestBodyInit {} extension BufferSource: Any_XMLHttpRequestBodyInit {} @@ -24890,26 +23427,32 @@ public enum XMLHttpRequestBodyInit: JSValueCompatible, Any_XMLHttpRequestBodyIni let val: XMLHttpRequestBodyInit = .blob(blob) self = val } + public init(_ bufferSource: BufferSource) { let val: XMLHttpRequestBodyInit = .bufferSource(bufferSource) self = val } + public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } + public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } + public init(_ formData: FormData) { let val: XMLHttpRequestBodyInit = .formData(formData) self = val } + public init(_ string: String) { let val: XMLHttpRequestBodyInit = .string(string) self = val } + public init(_ urlSearchParams: URLSearchParams) { let val: XMLHttpRequestBodyInit = .urlSearchParams(urlSearchParams) self = val @@ -24921,24 +23464,28 @@ public enum XMLHttpRequestBodyInit: JSValueCompatible, Any_XMLHttpRequestBodyIni default: return nil } } + public var bufferSource: BufferSource? { switch self { case let .bufferSource(bufferSource): return bufferSource default: return nil } } + public var formData: FormData? { switch self { case let .formData(formData): return formData default: return nil } } + public var string: String? { switch self { case let .string(string): return string default: return nil } } + public var urlSearchParams: URLSearchParams? { switch self { case let .urlSearchParams(urlSearchParams): return urlSearchParams @@ -24947,21 +23494,36 @@ public enum XMLHttpRequestBodyInit: JSValueCompatible, Any_XMLHttpRequestBodyIni } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { return .blob(blob) } - if let bufferSource: BufferSource = value.fromJSValue() { return .bufferSource(bufferSource) } - if let formData: FormData = value.fromJSValue() { return .formData(formData) } - if let string: String = value.fromJSValue() { return .string(string) } - if let urlSearchParams: URLSearchParams = value.fromJSValue() { return .urlSearchParams(urlSearchParams) } + if let blob: Blob = value.fromJSValue() { + return .blob(blob) + } + if let bufferSource: BufferSource = value.fromJSValue() { + return .bufferSource(bufferSource) + } + if let formData: FormData = value.fromJSValue() { + return .formData(formData) + } + if let string: String = value.fromJSValue() { + return .string(string) + } + if let urlSearchParams: URLSearchParams = value.fromJSValue() { + return .urlSearchParams(urlSearchParams) + } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): return blob.jsValue - case let .bufferSource(bufferSource): return bufferSource.jsValue - case let .formData(formData): return formData.jsValue - case let .string(string): return string.jsValue - case let .urlSearchParams(urlSearchParams): return urlSearchParams.jsValue + case let .blob(blob): + return blob.jsValue + case let .bufferSource(bufferSource): + return bufferSource.jsValue + case let .formData(formData): + return formData.jsValue + case let .string(string): + return string.jsValue + case let .urlSearchParams(urlSearchParams): + return urlSearchParams.jsValue } } } diff --git a/Sources/DOM/Support.swift b/Sources/DOM/Support.swift index f0f2cc80..eb1290af 100644 --- a/Sources/DOM/Support.swift +++ b/Sources/DOM/Support.swift @@ -6,12 +6,6 @@ public typealias __UNSUPPORTED_BIGINT__ = JSValue public typealias WindowProxy = Window -public extension HTMLElement { - convenience init?(from element: Element) { - self.init(from: .object(element.jsObject)) - } -} - public let globalThis = Window(from: JSObject.global.jsValue)! public typealias Uint8ClampedArray = JSUInt8ClampedArray diff --git a/Sources/ECMAScript/ArrayBuffer.swift b/Sources/ECMAScript/ArrayBuffer.swift index 6696f30f..e1cd0a0e 100644 --- a/Sources/ECMAScript/ArrayBuffer.swift +++ b/Sources/ECMAScript/ArrayBuffer.swift @@ -2,8 +2,8 @@ // Created by Manuel Burghard. Licensed unter MIT. // -import _CJavaScriptKit import JavaScriptKit +import _CJavaScriptKit public typealias Int8Array = JSTypedArray public typealias Int16Array = JSTypedArray @@ -30,7 +30,7 @@ public class ArrayBuffer: JSBridgedClass { } @inlinable - public static func isView(_ object: JSValueCompatible) -> Bool { + public static func isView(_ object: some JSValueCompatible) -> Bool { JSObject.global.ArrayBuffer.object!.isView!(object).fromJSValue()! } } @@ -52,7 +52,9 @@ public class SharedArrayBuffer: JSBridgedClass { @inlinable public convenience init(length: Int, maxByteLength: Int) { - self.init(unsafelyWrapping: Self.constructor!.new(length, ["maxByteLength": maxByteLength])) + self.init( + unsafelyWrapping: Self.constructor!.new( + length, ["maxByteLength": maxByteLength.jsValue] as JSObject)) } @inlinable @@ -79,29 +81,30 @@ public class SharedArrayBuffer: JSBridgedClass { public func slice(begin: Int) -> SharedArrayBuffer { jsObject.slice!(begin).fromJSValue()! } + @inlinable public func slice(begin: Int, end: Int) -> SharedArrayBuffer { jsObject.slice!(begin, end).fromJSValue()! } } -public extension JSTypedArray { - convenience init(_ arrayBuffer: ArrayBuffer) { +extension JSTypedArray { + public convenience init(_ arrayBuffer: ArrayBuffer) { self.init(unsafelyWrapping: Self.constructor!.new(arrayBuffer)) } - convenience init(_ sharedArrayBuffer: SharedArrayBuffer) { + public convenience init(_ sharedArrayBuffer: SharedArrayBuffer) { self.init(unsafelyWrapping: Self.constructor!.new(sharedArrayBuffer)) } // Exactly one of these two properties will be non-nil. @inlinable - var arrayBuffer: ArrayBuffer! { + public var arrayBuffer: ArrayBuffer! { ArrayBuffer(from: jsObject.buffer) } @inlinable - var sharedArrayBuffer: SharedArrayBuffer! { + public var sharedArrayBuffer: SharedArrayBuffer! { SharedArrayBuffer(from: jsObject.buffer) } } @@ -109,14 +112,14 @@ public extension JSTypedArray { #if canImport(Foundation) import Foundation - public extension Data { - init(_ arrayBuffer: ArrayBuffer) { + extension Data { + public init(_ arrayBuffer: ArrayBuffer) { self = JSTypedArray(arrayBuffer).withUnsafeBytes { Data(buffer: $0) } } - init(_ sharedArrayBuffer: SharedArrayBuffer) { + public init(_ sharedArrayBuffer: SharedArrayBuffer) { self = JSTypedArray(sharedArrayBuffer).withUnsafeBytes { Data(buffer: $0) } diff --git a/Sources/ECMAScript/BridgedDictionary.swift b/Sources/ECMAScript/BridgedDictionary.swift index 02040929..36ebf033 100644 --- a/Sources/ECMAScript/BridgedDictionary.swift +++ b/Sources/ECMAScript/BridgedDictionary.swift @@ -1,24 +1,21 @@ import JavaScriptKit -open class BridgedDictionary: JSValueCompatible { - public let jsObject: JSObject - - @inlinable public var jsValue: JSValue { - jsObject.jsValue - } - - @inlinable public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } +public protocol JSDictionaryCompatible: JSValueCompatible { + var jsObject: JSObject { get } + init(unsafelyWrapping: JSObject) +} - @inlinable public static func construct(from value: JSValue) -> Self? { +public extension JSDictionaryCompatible { + static func construct(from value: JSValue) -> Self? { if let object = value.object { - return Self.construct(from: object) + return self.init(unsafelyWrapping: object) + } else { + return nil } - return nil } - @inlinable public static func construct(from object: JSObject) -> Self? { - Self(unsafelyWrapping: object) + var jsValue: JSValue { + .object(jsObject) } } + diff --git a/Sources/ECMAScript/Iterators.swift b/Sources/ECMAScript/Iterators.swift index 9fe63e15..1c1c2b7d 100644 --- a/Sources/ECMAScript/Iterators.swift +++ b/Sources/ECMAScript/Iterators.swift @@ -1,7 +1,7 @@ -import JavaScriptEventLoop import JavaScriptKit +import _Concurrency -public class ValueIterableIterator: IteratorProtocol +public struct ValueIterableIterator: IteratorProtocol where SequenceType.Element: ConstructibleFromJSValue { private let iterator: JSObject @@ -19,8 +19,11 @@ public class ValueIterableIterator: Ite } } +#if canImport(JavaScriptEventLoop) +import JavaScriptEventLoop + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) -public class ValueIterableAsyncIterator: AsyncIteratorProtocol +public struct ValueIterableAsyncIterator: AsyncIteratorProtocol where SequenceType.Element: ConstructibleFromJSValue { private var index: Int = 0 @@ -30,7 +33,7 @@ public class ValueIterableAsyncIterator SequenceType.Element? { + public func next() async throws(JSException) -> SequenceType.Element? { let promise = JSPromise(from: iterator.next!())! let result = try await promise.value let done = result.done.boolean! @@ -39,3 +42,5 @@ public class ValueIterableAsyncIterator Date: Fri, 6 Jun 2025 17:22:32 +0000 Subject: [PATCH 9/9] Regenerate with @webref/idl 3.60.3 --- Sources/CSSOM/Generated.swift | 185 +- Sources/DOM/Generated.swift | 28238 +++++++++++++----------- Sources/Gamepad/Generated.swift | 135 +- Sources/WebAPIBase/Generated.swift | 6 + Sources/WebAnimations/Generated.swift | 7 +- Sources/WebAudio/Generated.swift | 216 +- Sources/WebGL1/Generated.swift | 39 +- Sources/WebGL2/Generated.swift | 90 +- Sources/WebGPU/Generated.swift | 645 +- parse-idl/package-lock.json | 26 +- parse-idl/package.json | 2 +- 11 files changed, 16343 insertions(+), 13246 deletions(-) diff --git a/Sources/CSSOM/Generated.swift b/Sources/CSSOM/Generated.swift index b201b976..7aec5a82 100644 --- a/Sources/CSSOM/Generated.swift +++ b/Sources/CSSOM/Generated.swift @@ -53,6 +53,16 @@ public enum CSS { return this[Strings.percent].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } + @inlinable public static func cap(value: Double) -> CSSUnitValue { + let this = JSObject.global[Strings.CSS].object! + return this[Strings.cap].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + } + + @inlinable public static func ch(value: Double) -> CSSUnitValue { + let this = JSObject.global[Strings.CSS].object! + return this[Strings.ch].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + } + @inlinable public static func em(value: Double) -> CSSUnitValue { let this = JSObject.global[Strings.CSS].object! return this[Strings.em].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! @@ -63,14 +73,24 @@ public enum CSS { return this[Strings.ex].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } - @inlinable public static func ch(value: Double) -> CSSUnitValue { + @inlinable public static func ic(value: Double) -> CSSUnitValue { let this = JSObject.global[Strings.CSS].object! - return this[Strings.ch].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + return this[Strings.ic].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } - @inlinable public static func ic(value: Double) -> CSSUnitValue { + @inlinable public static func lh(value: Double) -> CSSUnitValue { let this = JSObject.global[Strings.CSS].object! - return this[Strings.ic].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + return this[Strings.lh].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + } + + @inlinable public static func rcap(value: Double) -> CSSUnitValue { + let this = JSObject.global[Strings.CSS].object! + return this[Strings.rcap].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + } + + @inlinable public static func rch(value: Double) -> CSSUnitValue { + let this = JSObject.global[Strings.CSS].object! + return this[Strings.rch].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } @inlinable public static func rem(value: Double) -> CSSUnitValue { @@ -78,9 +98,14 @@ public enum CSS { return this[Strings.rem].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } - @inlinable public static func lh(value: Double) -> CSSUnitValue { + @inlinable public static func rex(value: Double) -> CSSUnitValue { let this = JSObject.global[Strings.CSS].object! - return this[Strings.lh].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + return this[Strings.rex].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + } + + @inlinable public static func ric(value: Double) -> CSSUnitValue { + let this = JSObject.global[Strings.CSS].object! + return this[Strings.ric].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } @inlinable public static func rlh(value: Double) -> CSSUnitValue { @@ -1006,6 +1031,59 @@ public class CSSOKLab: CSSColorValue { } } +public class CSSPageDescriptors: CSSStyleDeclaration { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.CSSPageDescriptors].function + } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var margin: String { + get { jsObject[Strings.margin].fromJSValue()! } + set { jsObject[Strings.margin] = _toJSValue(newValue) } + } + + @inlinable public var marginTop: String { + get { jsObject[Strings.marginTop].fromJSValue()! } + set { jsObject[Strings.marginTop] = _toJSValue(newValue) } + } + + @inlinable public var marginRight: String { + get { jsObject[Strings.marginRight].fromJSValue()! } + set { jsObject[Strings.marginRight] = _toJSValue(newValue) } + } + + @inlinable public var marginBottom: String { + get { jsObject[Strings.marginBottom].fromJSValue()! } + set { jsObject[Strings.marginBottom] = _toJSValue(newValue) } + } + + @inlinable public var marginLeft: String { + get { jsObject[Strings.marginLeft].fromJSValue()! } + set { jsObject[Strings.marginLeft] = _toJSValue(newValue) } + } + + @inlinable public var size: String { + get { jsObject[Strings.size].fromJSValue()! } + set { jsObject[Strings.size] = _toJSValue(newValue) } + } + + @inlinable public var pageOrientation: String { + get { jsObject[Strings.pageOrientation].fromJSValue()! } + set { jsObject[Strings.pageOrientation] = _toJSValue(newValue) } + } + + @inlinable public var marks: String { + get { jsObject[Strings.marks].fromJSValue()! } + set { jsObject[Strings.marks] = _toJSValue(newValue) } + } + + @inlinable public var bleed: String { + get { jsObject[Strings.bleed].fromJSValue()! } + set { jsObject[Strings.bleed] = _toJSValue(newValue) } + } +} + public class CSSPageRule: CSSGroupingRule { @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSPageRule].function } @@ -1016,7 +1094,7 @@ public class CSSPageRule: CSSGroupingRule { set { jsObject[Strings.selectorText] = _toJSValue(newValue) } } - @inlinable public var style: CSSStyleDeclaration { jsObject[Strings.style].fromJSValue()! } + @inlinable public var style: CSSPageDescriptors { jsObject[Strings.style].fromJSValue()! } } public class CSSPerspective: CSSTransformComponent { @@ -1283,6 +1361,14 @@ public class CSSStyleDeclaration: JSBridgedClass { } @inlinable public var parentRule: CSSRule? { jsObject[Strings.parentRule].fromJSValue() } +} + +public class CSSStyleProperties: CSSStyleDeclaration { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.CSSStyleProperties].function + } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public var cssFloat: String { get { jsObject[Strings.cssFloat].fromJSValue()! } @@ -1290,7 +1376,7 @@ public class CSSStyleDeclaration: JSBridgedClass { } } -public class CSSStyleRule: CSSRule { +public class CSSStyleRule: CSSGroupingRule { @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSStyleRule].function } public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @@ -1300,7 +1386,7 @@ public class CSSStyleRule: CSSRule { set { jsObject[Strings.selectorText] = _toJSValue(newValue) } } - @inlinable public var style: CSSStyleDeclaration { jsObject[Strings.style].fromJSValue()! } + @inlinable public var style: CSSStyleProperties { jsObject[Strings.style].fromJSValue()! } @inlinable public var styleMap: StylePropertyMap { jsObject[Strings.styleMap].fromJSValue()! } } @@ -1562,13 +1648,39 @@ public class CaretPosition: JSBridgedClass { } } +open class CaretPositionFromPointOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(shadowRoots: [ShadowRoot]? = nil) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.shadowRoots] = _toJSValue(shadowRoots) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var shadowRoots: [ShadowRoot] { + get { jsObject[Strings.shadowRoots].fromJSValue()! } + set { jsObject[Strings.shadowRoots] = _toJSValue(newValue) } + } +} open class CheckVisibilityOptions: JSDictionaryCompatible { public let jsObject: JSObject - public convenience init(checkOpacity: Bool? = nil, checkVisibilityCSS: Bool? = nil) { + public convenience init( + checkOpacity: Bool? = nil, + checkVisibilityCSS: Bool? = nil, + contentVisibilityAuto: Bool? = nil, + opacityProperty: Bool? = nil, + visibilityProperty: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.checkOpacity] = _toJSValue(checkOpacity) object[Strings.checkVisibilityCSS] = _toJSValue(checkVisibilityCSS) + object[Strings.contentVisibilityAuto] = _toJSValue(contentVisibilityAuto) + object[Strings.opacityProperty] = _toJSValue(opacityProperty) + object[Strings.visibilityProperty] = _toJSValue(visibilityProperty) self.init(unsafelyWrapping: object) } @@ -1583,6 +1695,18 @@ open class CheckVisibilityOptions: JSDictionaryCompatible { get { jsObject[Strings.checkVisibilityCSS].fromJSValue()! } set { jsObject[Strings.checkVisibilityCSS] = _toJSValue(newValue) } } + @inlinable public var contentVisibilityAuto: Bool { + get { jsObject[Strings.contentVisibilityAuto].fromJSValue()! } + set { jsObject[Strings.contentVisibilityAuto] = _toJSValue(newValue) } + } + @inlinable public var opacityProperty: Bool { + get { jsObject[Strings.opacityProperty].fromJSValue()! } + set { jsObject[Strings.opacityProperty] = _toJSValue(newValue) } + } + @inlinable public var visibilityProperty: Bool { + get { jsObject[Strings.visibilityProperty].fromJSValue()! } + set { jsObject[Strings.visibilityProperty] = _toJSValue(newValue) } + } } open class ConvertCoordinateOptions: JSDictionaryCompatible { public let jsObject: JSObject @@ -1811,17 +1935,32 @@ public enum ScrollBehavior: JSString, JSValueCompatible { @inlinable public var jsValue: JSValue { rawValue.jsValue } } +public enum ScrollIntoViewContainer: JSString, JSValueCompatible { + case all = "all" + case nearest = "nearest" + + @inlinable public static func construct(from jsValue: JSValue) -> Self? { + if let string = jsValue.jsString { return Self(rawValue: string) } + return nil + } + + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + + @inlinable public var jsValue: JSValue { rawValue.jsValue } +} open class ScrollIntoViewOptions: ScrollOptions { public convenience init( behavior: ScrollBehavior? = nil, block: ScrollLogicalPosition? = nil, - inline: ScrollLogicalPosition? = nil + inline: ScrollLogicalPosition? = nil, + container: ScrollIntoViewContainer? = nil ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.behavior] = _toJSValue(behavior) object[Strings.block] = _toJSValue(block) object[Strings.inline] = _toJSValue(inline) + object[Strings.container] = _toJSValue(container) self.init(unsafelyWrapping: object) } @@ -1836,6 +1975,10 @@ open class ScrollIntoViewOptions: ScrollOptions { get { jsObject[Strings.inline].fromJSValue()! } set { jsObject[Strings.inline] = _toJSValue(newValue) } } + @inlinable public var container: ScrollIntoViewContainer { + get { jsObject[Strings.container].fromJSValue()! } + set { jsObject[Strings.container] = _toJSValue(newValue) } + } } public enum ScrollLogicalPosition: JSString, JSValueCompatible { case start = "start" @@ -2083,6 +2226,7 @@ public class VisualViewport: EventTarget { @usableFromInline static let `CSSNumericValue`: JSString = "CSSNumericValue" @usableFromInline static let `CSSOKLCH`: JSString = "CSSOKLCH" @usableFromInline static let `CSSOKLab`: JSString = "CSSOKLab" + @usableFromInline static let `CSSPageDescriptors`: JSString = "CSSPageDescriptors" @usableFromInline static let `CSSPageRule`: JSString = "CSSPageRule" @usableFromInline static let `CSSPerspective`: JSString = "CSSPerspective" @usableFromInline static let `CSSRGB`: JSString = "CSSRGB" @@ -2094,6 +2238,7 @@ public class VisualViewport: EventTarget { @usableFromInline static let `CSSSkewX`: JSString = "CSSSkewX" @usableFromInline static let `CSSSkewY`: JSString = "CSSSkewY" @usableFromInline static let `CSSStyleDeclaration`: JSString = "CSSStyleDeclaration" + @usableFromInline static let `CSSStyleProperties`: JSString = "CSSStyleProperties" @usableFromInline static let `CSSStyleRule`: JSString = "CSSStyleRule" @usableFromInline static let `CSSStyleSheet`: JSString = "CSSStyleSheet" @usableFromInline static let `CSSStyleValue`: JSString = "CSSStyleValue" @@ -2133,9 +2278,11 @@ public class VisualViewport: EventTarget { @usableFromInline static let `b`: JSString = "b" @usableFromInline static let `baseURL`: JSString = "baseURL" @usableFromInline static let `behavior`: JSString = "behavior" + @usableFromInline static let `bleed`: JSString = "bleed" @usableFromInline static let `block`: JSString = "block" @usableFromInline static let `box`: JSString = "box" @usableFromInline static let `c`: JSString = "c" + @usableFromInline static let `cap`: JSString = "cap" @usableFromInline static let `ch`: JSString = "ch" @usableFromInline static let `channels`: JSString = "channels" @usableFromInline static let `checkOpacity`: JSString = "checkOpacity" @@ -2144,6 +2291,8 @@ public class VisualViewport: EventTarget { @usableFromInline static let `cm`: JSString = "cm" @usableFromInline static let `colorDepth`: JSString = "colorDepth" @usableFromInline static let `colorSpace`: JSString = "colorSpace" + @usableFromInline static let `container`: JSString = "container" + @usableFromInline static let `contentVisibilityAuto`: JSString = "contentVisibilityAuto" @usableFromInline static let `convertPointFromNode`: JSString = "convertPointFromNode" @usableFromInline static let `convertQuadFromNode`: JSString = "convertQuadFromNode" @usableFromInline static let `convertRectFromNode`: JSString = "convertRectFromNode" @@ -2211,6 +2360,12 @@ public class VisualViewport: EventTarget { @usableFromInline static let `lvmax`: JSString = "lvmax" @usableFromInline static let `lvmin`: JSString = "lvmin" @usableFromInline static let `lvw`: JSString = "lvw" + @usableFromInline static let `margin`: JSString = "margin" + @usableFromInline static let `marginBottom`: JSString = "marginBottom" + @usableFromInline static let `marginLeft`: JSString = "marginLeft" + @usableFromInline static let `marginRight`: JSString = "marginRight" + @usableFromInline static let `marginTop`: JSString = "marginTop" + @usableFromInline static let `marks`: JSString = "marks" @usableFromInline static let `matches`: JSString = "matches" @usableFromInline static let `matrix`: JSString = "matrix" @usableFromInline static let `max`: JSString = "max" @@ -2231,10 +2386,12 @@ public class VisualViewport: EventTarget { @usableFromInline static let `onresize`: JSString = "onresize" @usableFromInline static let `onscroll`: JSString = "onscroll" @usableFromInline static let `onscrollend`: JSString = "onscrollend" + @usableFromInline static let `opacityProperty`: JSString = "opacityProperty" @usableFromInline static let `operator`: JSString = "operator" @usableFromInline static let `ownerNode`: JSString = "ownerNode" @usableFromInline static let `ownerRule`: JSString = "ownerRule" @usableFromInline static let `pageLeft`: JSString = "pageLeft" + @usableFromInline static let `pageOrientation`: JSString = "pageOrientation" @usableFromInline static let `pageTop`: JSString = "pageTop" @usableFromInline static let `parentRule`: JSString = "parentRule" @usableFromInline static let `parentStyleSheet`: JSString = "parentStyleSheet" @@ -2249,6 +2406,8 @@ public class VisualViewport: EventTarget { @usableFromInline static let `px`: JSString = "px" @usableFromInline static let `r`: JSString = "r" @usableFromInline static let `rad`: JSString = "rad" + @usableFromInline static let `rcap`: JSString = "rcap" + @usableFromInline static let `rch`: JSString = "rch" @usableFromInline static let `relativeTo`: JSString = "relativeTo" @usableFromInline static let `rem`: JSString = "rem" @usableFromInline static let `removeListener`: JSString = "removeListener" @@ -2257,6 +2416,8 @@ public class VisualViewport: EventTarget { @usableFromInline static let `replace`: JSString = "replace" @usableFromInline static let `replaceSync`: JSString = "replaceSync" @usableFromInline static let `resolution`: JSString = "resolution" + @usableFromInline static let `rex`: JSString = "rex" + @usableFromInline static let `ric`: JSString = "ric" @usableFromInline static let `rlh`: JSString = "rlh" @usableFromInline static let `rules`: JSString = "rules" @usableFromInline static let `s`: JSString = "s" @@ -2264,6 +2425,7 @@ public class VisualViewport: EventTarget { @usableFromInline static let `selectorText`: JSString = "selectorText" @usableFromInline static let `set`: JSString = "set" @usableFromInline static let `setProperty`: JSString = "setProperty" + @usableFromInline static let `shadowRoots`: JSString = "shadowRoots" @usableFromInline static let `sheet`: JSString = "sheet" @usableFromInline static let `size`: JSString = "size" @usableFromInline static let `style`: JSString = "style" @@ -2296,6 +2458,7 @@ public class VisualViewport: EventTarget { @usableFromInline static let `vb`: JSString = "vb" @usableFromInline static let `vh`: JSString = "vh" @usableFromInline static let `vi`: JSString = "vi" + @usableFromInline static let `visibilityProperty`: JSString = "visibilityProperty" @usableFromInline static let `vmax`: JSString = "vmax" @usableFromInline static let `vmin`: JSString = "vmin" @usableFromInline static let `vw`: JSString = "vw" diff --git a/Sources/DOM/Generated.swift b/Sources/DOM/Generated.swift index 883e1b8e..03395687 100644 --- a/Sources/DOM/Generated.swift +++ b/Sources/DOM/Generated.swift @@ -1,323 +1,338 @@ // This file was auto-generated by WebIDLToSwift. DO NOT EDIT! -#if canImportJavaScriptEventLoop - import JavaScriptEventLoop -#endif import ECMAScript import JavaScriptBigIntSupport -import JavaScriptEventLoop import JavaScriptKit import WebAPIBase +#if canImport(JavaScriptEventLoop) + import JavaScriptEventLoop +#endif +#if canImport(_Concurrency) + import _Concurrency +#endif + public protocol ARIAMixin: JSBridgedClass {} -public extension ARIAMixin { - @inlinable var role: String? { +extension ARIAMixin { + @inlinable public var role: String? { get { jsObject[Strings.role].fromJSValue() } - nonmutating set { jsObject[Strings.role] = _toJSValue(newValue) } + set { jsObject[Strings.role] = _toJSValue(newValue) } } - @inlinable var ariaActiveDescendantElement: Element? { + @inlinable public var ariaActiveDescendantElement: Element? { get { jsObject[Strings.ariaActiveDescendantElement].fromJSValue() } - nonmutating set { jsObject[Strings.ariaActiveDescendantElement] = _toJSValue(newValue) } + set { jsObject[Strings.ariaActiveDescendantElement] = _toJSValue(newValue) } } - @inlinable var ariaAtomic: String? { + @inlinable public var ariaAtomic: String? { get { jsObject[Strings.ariaAtomic].fromJSValue() } - nonmutating set { jsObject[Strings.ariaAtomic] = _toJSValue(newValue) } + set { jsObject[Strings.ariaAtomic] = _toJSValue(newValue) } } - @inlinable var ariaAutoComplete: String? { + @inlinable public var ariaAutoComplete: String? { get { jsObject[Strings.ariaAutoComplete].fromJSValue() } - nonmutating set { jsObject[Strings.ariaAutoComplete] = _toJSValue(newValue) } + set { jsObject[Strings.ariaAutoComplete] = _toJSValue(newValue) } + } + + @inlinable public var ariaBrailleLabel: String? { + get { jsObject[Strings.ariaBrailleLabel].fromJSValue() } + set { jsObject[Strings.ariaBrailleLabel] = _toJSValue(newValue) } } - @inlinable var ariaBusy: String? { + @inlinable public var ariaBrailleRoleDescription: String? { + get { jsObject[Strings.ariaBrailleRoleDescription].fromJSValue() } + set { jsObject[Strings.ariaBrailleRoleDescription] = _toJSValue(newValue) } + } + + @inlinable public var ariaBusy: String? { get { jsObject[Strings.ariaBusy].fromJSValue() } - nonmutating set { jsObject[Strings.ariaBusy] = _toJSValue(newValue) } + set { jsObject[Strings.ariaBusy] = _toJSValue(newValue) } } - @inlinable var ariaChecked: String? { + @inlinable public var ariaChecked: String? { get { jsObject[Strings.ariaChecked].fromJSValue() } - nonmutating set { jsObject[Strings.ariaChecked] = _toJSValue(newValue) } + set { jsObject[Strings.ariaChecked] = _toJSValue(newValue) } } - @inlinable var ariaColCount: String? { + @inlinable public var ariaColCount: String? { get { jsObject[Strings.ariaColCount].fromJSValue() } - nonmutating set { jsObject[Strings.ariaColCount] = _toJSValue(newValue) } + set { jsObject[Strings.ariaColCount] = _toJSValue(newValue) } } - @inlinable var ariaColIndex: String? { + @inlinable public var ariaColIndex: String? { get { jsObject[Strings.ariaColIndex].fromJSValue() } - nonmutating set { jsObject[Strings.ariaColIndex] = _toJSValue(newValue) } + set { jsObject[Strings.ariaColIndex] = _toJSValue(newValue) } } - @inlinable var ariaColIndexText: String? { + @inlinable public var ariaColIndexText: String? { get { jsObject[Strings.ariaColIndexText].fromJSValue() } - nonmutating set { jsObject[Strings.ariaColIndexText] = _toJSValue(newValue) } + set { jsObject[Strings.ariaColIndexText] = _toJSValue(newValue) } } - @inlinable var ariaColSpan: String? { + @inlinable public var ariaColSpan: String? { get { jsObject[Strings.ariaColSpan].fromJSValue() } - nonmutating set { jsObject[Strings.ariaColSpan] = _toJSValue(newValue) } + set { jsObject[Strings.ariaColSpan] = _toJSValue(newValue) } } - @inlinable var ariaControlsElements: [Element]? { + @inlinable public var ariaControlsElements: [Element]? { get { jsObject[Strings.ariaControlsElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaControlsElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaControlsElements] = _toJSValue(newValue) } } - @inlinable var ariaCurrent: String? { + @inlinable public var ariaCurrent: String? { get { jsObject[Strings.ariaCurrent].fromJSValue() } - nonmutating set { jsObject[Strings.ariaCurrent] = _toJSValue(newValue) } + set { jsObject[Strings.ariaCurrent] = _toJSValue(newValue) } } - @inlinable var ariaDescribedByElements: [Element]? { + @inlinable public var ariaDescribedByElements: [Element]? { get { jsObject[Strings.ariaDescribedByElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaDescribedByElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaDescribedByElements] = _toJSValue(newValue) } } - @inlinable var ariaDescription: String? { + @inlinable public var ariaDescription: String? { get { jsObject[Strings.ariaDescription].fromJSValue() } - nonmutating set { jsObject[Strings.ariaDescription] = _toJSValue(newValue) } + set { jsObject[Strings.ariaDescription] = _toJSValue(newValue) } } - @inlinable var ariaDetailsElements: [Element]? { + @inlinable public var ariaDetailsElements: [Element]? { get { jsObject[Strings.ariaDetailsElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaDetailsElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaDetailsElements] = _toJSValue(newValue) } } - @inlinable var ariaDisabled: String? { + @inlinable public var ariaDisabled: String? { get { jsObject[Strings.ariaDisabled].fromJSValue() } - nonmutating set { jsObject[Strings.ariaDisabled] = _toJSValue(newValue) } + set { jsObject[Strings.ariaDisabled] = _toJSValue(newValue) } } - @inlinable var ariaErrorMessageElements: [Element]? { + @inlinable public var ariaErrorMessageElements: [Element]? { get { jsObject[Strings.ariaErrorMessageElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaErrorMessageElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaErrorMessageElements] = _toJSValue(newValue) } } - @inlinable var ariaExpanded: String? { + @inlinable public var ariaExpanded: String? { get { jsObject[Strings.ariaExpanded].fromJSValue() } - nonmutating set { jsObject[Strings.ariaExpanded] = _toJSValue(newValue) } + set { jsObject[Strings.ariaExpanded] = _toJSValue(newValue) } } - @inlinable var ariaFlowToElements: [Element]? { + @inlinable public var ariaFlowToElements: [Element]? { get { jsObject[Strings.ariaFlowToElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaFlowToElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaFlowToElements] = _toJSValue(newValue) } } - @inlinable var ariaHasPopup: String? { + @inlinable public var ariaHasPopup: String? { get { jsObject[Strings.ariaHasPopup].fromJSValue() } - nonmutating set { jsObject[Strings.ariaHasPopup] = _toJSValue(newValue) } + set { jsObject[Strings.ariaHasPopup] = _toJSValue(newValue) } } - @inlinable var ariaHidden: String? { + @inlinable public var ariaHidden: String? { get { jsObject[Strings.ariaHidden].fromJSValue() } - nonmutating set { jsObject[Strings.ariaHidden] = _toJSValue(newValue) } + set { jsObject[Strings.ariaHidden] = _toJSValue(newValue) } } - @inlinable var ariaInvalid: String? { + @inlinable public var ariaInvalid: String? { get { jsObject[Strings.ariaInvalid].fromJSValue() } - nonmutating set { jsObject[Strings.ariaInvalid] = _toJSValue(newValue) } + set { jsObject[Strings.ariaInvalid] = _toJSValue(newValue) } } - @inlinable var ariaKeyShortcuts: String? { + @inlinable public var ariaKeyShortcuts: String? { get { jsObject[Strings.ariaKeyShortcuts].fromJSValue() } - nonmutating set { jsObject[Strings.ariaKeyShortcuts] = _toJSValue(newValue) } + set { jsObject[Strings.ariaKeyShortcuts] = _toJSValue(newValue) } } - @inlinable var ariaLabel: String? { + @inlinable public var ariaLabel: String? { get { jsObject[Strings.ariaLabel].fromJSValue() } - nonmutating set { jsObject[Strings.ariaLabel] = _toJSValue(newValue) } + set { jsObject[Strings.ariaLabel] = _toJSValue(newValue) } } - @inlinable var ariaLabelledByElements: [Element]? { + @inlinable public var ariaLabelledByElements: [Element]? { get { jsObject[Strings.ariaLabelledByElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaLabelledByElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaLabelledByElements] = _toJSValue(newValue) } } - @inlinable var ariaLevel: String? { + @inlinable public var ariaLevel: String? { get { jsObject[Strings.ariaLevel].fromJSValue() } - nonmutating set { jsObject[Strings.ariaLevel] = _toJSValue(newValue) } + set { jsObject[Strings.ariaLevel] = _toJSValue(newValue) } } - @inlinable var ariaLive: String? { + @inlinable public var ariaLive: String? { get { jsObject[Strings.ariaLive].fromJSValue() } - nonmutating set { jsObject[Strings.ariaLive] = _toJSValue(newValue) } + set { jsObject[Strings.ariaLive] = _toJSValue(newValue) } } - @inlinable var ariaModal: String? { + @inlinable public var ariaModal: String? { get { jsObject[Strings.ariaModal].fromJSValue() } - nonmutating set { jsObject[Strings.ariaModal] = _toJSValue(newValue) } + set { jsObject[Strings.ariaModal] = _toJSValue(newValue) } } - @inlinable var ariaMultiLine: String? { + @inlinable public var ariaMultiLine: String? { get { jsObject[Strings.ariaMultiLine].fromJSValue() } - nonmutating set { jsObject[Strings.ariaMultiLine] = _toJSValue(newValue) } + set { jsObject[Strings.ariaMultiLine] = _toJSValue(newValue) } } - @inlinable var ariaMultiSelectable: String? { + @inlinable public var ariaMultiSelectable: String? { get { jsObject[Strings.ariaMultiSelectable].fromJSValue() } - nonmutating set { jsObject[Strings.ariaMultiSelectable] = _toJSValue(newValue) } + set { jsObject[Strings.ariaMultiSelectable] = _toJSValue(newValue) } } - @inlinable var ariaOrientation: String? { + @inlinable public var ariaOrientation: String? { get { jsObject[Strings.ariaOrientation].fromJSValue() } - nonmutating set { jsObject[Strings.ariaOrientation] = _toJSValue(newValue) } + set { jsObject[Strings.ariaOrientation] = _toJSValue(newValue) } } - @inlinable var ariaOwnsElements: [Element]? { + @inlinable public var ariaOwnsElements: [Element]? { get { jsObject[Strings.ariaOwnsElements].fromJSValue() } - nonmutating set { jsObject[Strings.ariaOwnsElements] = _toJSValue(newValue) } + set { jsObject[Strings.ariaOwnsElements] = _toJSValue(newValue) } } - @inlinable var ariaPlaceholder: String? { + @inlinable public var ariaPlaceholder: String? { get { jsObject[Strings.ariaPlaceholder].fromJSValue() } - nonmutating set { jsObject[Strings.ariaPlaceholder] = _toJSValue(newValue) } + set { jsObject[Strings.ariaPlaceholder] = _toJSValue(newValue) } } - @inlinable var ariaPosInSet: String? { + @inlinable public var ariaPosInSet: String? { get { jsObject[Strings.ariaPosInSet].fromJSValue() } - nonmutating set { jsObject[Strings.ariaPosInSet] = _toJSValue(newValue) } + set { jsObject[Strings.ariaPosInSet] = _toJSValue(newValue) } } - @inlinable var ariaPressed: String? { + @inlinable public var ariaPressed: String? { get { jsObject[Strings.ariaPressed].fromJSValue() } - nonmutating set { jsObject[Strings.ariaPressed] = _toJSValue(newValue) } + set { jsObject[Strings.ariaPressed] = _toJSValue(newValue) } } - @inlinable var ariaReadOnly: String? { + @inlinable public var ariaReadOnly: String? { get { jsObject[Strings.ariaReadOnly].fromJSValue() } - nonmutating set { jsObject[Strings.ariaReadOnly] = _toJSValue(newValue) } + set { jsObject[Strings.ariaReadOnly] = _toJSValue(newValue) } + } + + @inlinable public var ariaRelevant: String? { + get { jsObject[Strings.ariaRelevant].fromJSValue() } + set { jsObject[Strings.ariaRelevant] = _toJSValue(newValue) } } - @inlinable var ariaRequired: String? { + @inlinable public var ariaRequired: String? { get { jsObject[Strings.ariaRequired].fromJSValue() } - nonmutating set { jsObject[Strings.ariaRequired] = _toJSValue(newValue) } + set { jsObject[Strings.ariaRequired] = _toJSValue(newValue) } } - @inlinable var ariaRoleDescription: String? { + @inlinable public var ariaRoleDescription: String? { get { jsObject[Strings.ariaRoleDescription].fromJSValue() } - nonmutating set { jsObject[Strings.ariaRoleDescription] = _toJSValue(newValue) } + set { jsObject[Strings.ariaRoleDescription] = _toJSValue(newValue) } } - @inlinable var ariaRowCount: String? { + @inlinable public var ariaRowCount: String? { get { jsObject[Strings.ariaRowCount].fromJSValue() } - nonmutating set { jsObject[Strings.ariaRowCount] = _toJSValue(newValue) } + set { jsObject[Strings.ariaRowCount] = _toJSValue(newValue) } } - @inlinable var ariaRowIndex: String? { + @inlinable public var ariaRowIndex: String? { get { jsObject[Strings.ariaRowIndex].fromJSValue() } - nonmutating set { jsObject[Strings.ariaRowIndex] = _toJSValue(newValue) } + set { jsObject[Strings.ariaRowIndex] = _toJSValue(newValue) } } - @inlinable var ariaRowIndexText: String? { + @inlinable public var ariaRowIndexText: String? { get { jsObject[Strings.ariaRowIndexText].fromJSValue() } - nonmutating set { jsObject[Strings.ariaRowIndexText] = _toJSValue(newValue) } + set { jsObject[Strings.ariaRowIndexText] = _toJSValue(newValue) } } - @inlinable var ariaRowSpan: String? { + @inlinable public var ariaRowSpan: String? { get { jsObject[Strings.ariaRowSpan].fromJSValue() } - nonmutating set { jsObject[Strings.ariaRowSpan] = _toJSValue(newValue) } + set { jsObject[Strings.ariaRowSpan] = _toJSValue(newValue) } } - @inlinable var ariaSelected: String? { + @inlinable public var ariaSelected: String? { get { jsObject[Strings.ariaSelected].fromJSValue() } - nonmutating set { jsObject[Strings.ariaSelected] = _toJSValue(newValue) } + set { jsObject[Strings.ariaSelected] = _toJSValue(newValue) } } - @inlinable var ariaSetSize: String? { + @inlinable public var ariaSetSize: String? { get { jsObject[Strings.ariaSetSize].fromJSValue() } - nonmutating set { jsObject[Strings.ariaSetSize] = _toJSValue(newValue) } + set { jsObject[Strings.ariaSetSize] = _toJSValue(newValue) } } - @inlinable var ariaSort: String? { + @inlinable public var ariaSort: String? { get { jsObject[Strings.ariaSort].fromJSValue() } - nonmutating set { jsObject[Strings.ariaSort] = _toJSValue(newValue) } + set { jsObject[Strings.ariaSort] = _toJSValue(newValue) } } - @inlinable var ariaValueMax: String? { + @inlinable public var ariaValueMax: String? { get { jsObject[Strings.ariaValueMax].fromJSValue() } - nonmutating set { jsObject[Strings.ariaValueMax] = _toJSValue(newValue) } + set { jsObject[Strings.ariaValueMax] = _toJSValue(newValue) } } - @inlinable var ariaValueMin: String? { + @inlinable public var ariaValueMin: String? { get { jsObject[Strings.ariaValueMin].fromJSValue() } - nonmutating set { jsObject[Strings.ariaValueMin] = _toJSValue(newValue) } + set { jsObject[Strings.ariaValueMin] = _toJSValue(newValue) } } - @inlinable var ariaValueNow: String? { + @inlinable public var ariaValueNow: String? { get { jsObject[Strings.ariaValueNow].fromJSValue() } - nonmutating set { jsObject[Strings.ariaValueNow] = _toJSValue(newValue) } + set { jsObject[Strings.ariaValueNow] = _toJSValue(newValue) } } - @inlinable var ariaValueText: String? { + @inlinable public var ariaValueText: String? { get { jsObject[Strings.ariaValueText].fromJSValue() } - nonmutating set { jsObject[Strings.ariaValueText] = _toJSValue(newValue) } + set { jsObject[Strings.ariaValueText] = _toJSValue(newValue) } } } - public class AbortController: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.AbortController].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _signal = ReadonlyAttribute(jsObject: jsObject, name: Strings.signal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var signal: AbortSignal + @inlinable public var signal: AbortSignal { jsObject[Strings.signal].fromJSValue()! } - @inlinable public func abort(reason: JSValue? = nil) { + @inlinable final public func abort(reason: JSValue? = nil) { let this = jsObject _ = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]) } } public class AbortSignal: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AbortSignal].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AbortSignal].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _aborted = ReadonlyAttribute(jsObject: jsObject, name: Strings.aborted) - _reason = ReadonlyAttribute(jsObject: jsObject, name: Strings.reason) - _onabort = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onabort) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public class func abort(reason: JSValue? = nil) -> Self { + @inlinable public class func abort(reason: JSValue? = nil) -> AbortSignal { let this = constructor! return this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - @inlinable public class func timeout(milliseconds: UInt64) -> Self { + @inlinable public class func timeout(milliseconds: UInt64) -> AbortSignal { let this = constructor! return this[Strings.timeout].function!(this: this, arguments: [_toJSValue(milliseconds)]).fromJSValue()! } - @inlinable public class func any(signals: [AbortSignal]) -> Self { + @inlinable public class func any(signals: [AbortSignal]) -> AbortSignal { let this = constructor! return this[Strings.any].function!(this: this, arguments: [_toJSValue(signals)]).fromJSValue()! } - @ReadonlyAttribute - public var aborted: Bool + @inlinable public var aborted: Bool { jsObject[Strings.aborted].fromJSValue()! } - @ReadonlyAttribute - public var reason: JSValue + @inlinable public var reason: JSValue { jsObject[Strings.reason].fromJSValue()! } - @inlinable public func throwIfAborted() { + @inlinable final public func throwIfAborted() { let this = jsObject _ = this[Strings.throwIfAborted].function!(this: this, arguments: []) } - @ClosureAttribute1Optional - public var onabort: EventHandler + @inlinable public var onabort: EventHandler { + get { + guard let function = jsObject[Strings.onabort].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onabort] = .null + } + } + } } public class AbstractRange: JSBridgedClass { @@ -325,164 +340,139 @@ public class AbstractRange: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _startContainer = ReadonlyAttribute(jsObject: jsObject, name: Strings.startContainer) - _startOffset = ReadonlyAttribute(jsObject: jsObject, name: Strings.startOffset) - _endContainer = ReadonlyAttribute(jsObject: jsObject, name: Strings.endContainer) - _endOffset = ReadonlyAttribute(jsObject: jsObject, name: Strings.endOffset) - _collapsed = ReadonlyAttribute(jsObject: jsObject, name: Strings.collapsed) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var startContainer: Node + @inlinable public var startContainer: Node { jsObject[Strings.startContainer].fromJSValue()! } - @ReadonlyAttribute - public var startOffset: UInt32 + @inlinable public var startOffset: UInt32 { jsObject[Strings.startOffset].fromJSValue()! } - @ReadonlyAttribute - public var endContainer: Node + @inlinable public var endContainer: Node { jsObject[Strings.endContainer].fromJSValue()! } - @ReadonlyAttribute - public var endOffset: UInt32 + @inlinable public var endOffset: UInt32 { jsObject[Strings.endOffset].fromJSValue()! } - @ReadonlyAttribute - public var collapsed: Bool + @inlinable public var collapsed: Bool { jsObject[Strings.collapsed].fromJSValue()! } } public protocol AbstractWorker: JSBridgedClass {} -public extension AbstractWorker { - @inlinable var onerror: EventHandler { - get { ClosureAttribute1Optional[Strings.onerror, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onerror, in: jsObject] = newValue } +extension AbstractWorker { + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } } } +open class AddEventListenerOptions: EventListenerOptions { -public class AddEventListenerOptions: BridgedDictionary { - public convenience init(passive: Bool, once: Bool, signal: AbortSignal) { + public convenience init(capture: Bool? = nil, passive: Bool? = nil, once: Bool? = nil, signal: AbortSignal? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.capture] = _toJSValue(capture) object[Strings.passive] = _toJSValue(passive) object[Strings.once] = _toJSValue(once) object[Strings.signal] = _toJSValue(signal) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _passive = ReadWriteAttribute(jsObject: object, name: Strings.passive) - _once = ReadWriteAttribute(jsObject: object, name: Strings.once) - _signal = ReadWriteAttribute(jsObject: object, name: Strings.signal) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var passive: Bool? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var once: Bool? - - @ReadWriteAttribute - public var signal: AbortSignal? + @inlinable public var passive: Bool { + get { jsObject[Strings.passive].fromJSValue()! } + set { jsObject[Strings.passive] = _toJSValue(newValue) } + } + @inlinable public var once: Bool { + get { jsObject[Strings.once].fromJSValue()! } + set { jsObject[Strings.once] = _toJSValue(newValue) } + } + @inlinable public var signal: AbortSignal { + get { jsObject[Strings.signal].fromJSValue()! } + set { jsObject[Strings.signal] = _toJSValue(newValue) } + } } - public enum AlphaOption: JSString, JSValueCompatible { case keep = "keep" case discard = "discard" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol AnimationFrameProvider: JSBridgedClass {} -public extension AnimationFrameProvider { - @inlinable func requestAnimationFrame(callback: @escaping FrameRequestCallback) -> UInt32 { +extension AnimationFrameProvider { + @inlinable public func requestAnimationFrame(callback: @escaping FrameRequestCallback) -> UInt32 { let this = jsObject - return this[Strings.requestAnimationFrame].function!(this: this, arguments: [_toJSValue(callback)]).fromJSValue()! + return this[Strings.requestAnimationFrame].function!(this: this, arguments: [_toJSValue(callback)]) + .fromJSValue()! } - @inlinable func cancelAnimationFrame(handle: UInt32) { + @inlinable public func cancelAnimationFrame(handle: UInt32) { let this = jsObject _ = this[Strings.cancelAnimationFrame].function!(this: this, arguments: [_toJSValue(handle)]) } } - public enum AppendMode: JSString, JSValueCompatible { case segments = "segments" case sequence = "sequence" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class AssignedNodesOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class AssignedNodesOptions: BridgedDictionary { - public convenience init(flatten: Bool) { + public convenience init(flatten: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.flatten] = _toJSValue(flatten) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _flatten = ReadWriteAttribute(jsObject: object, name: Strings.flatten) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var flatten: Bool? + @inlinable public var flatten: Bool { + get { jsObject[Strings.flatten].fromJSValue()! } + set { jsObject[Strings.flatten] = _toJSValue(newValue) } + } } - public class Attr: Node { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Attr].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Attr].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _namespaceURI = ReadonlyAttribute(jsObject: jsObject, name: Strings.namespaceURI) - _prefix = ReadonlyAttribute(jsObject: jsObject, name: Strings.prefix) - _localName = ReadonlyAttribute(jsObject: jsObject, name: Strings.localName) - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _ownerElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.ownerElement) - _specified = ReadonlyAttribute(jsObject: jsObject, name: Strings.specified) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var namespaceURI: String? + @inlinable public var namespaceURI: String? { jsObject[Strings.namespaceURI].fromJSValue() } - @ReadonlyAttribute - public var prefix: String? + @inlinable public var prefix: String? { jsObject[Strings.prefix].fromJSValue() } - @ReadonlyAttribute - public var localName: String + @inlinable public var localName: String { jsObject[Strings.localName].fromJSValue()! } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var ownerElement: Element? + @inlinable public var ownerElement: Element? { jsObject[Strings.ownerElement].fromJSValue() } - @ReadonlyAttribute - public var specified: Bool + @inlinable public var specified: Bool { jsObject[Strings.specified].fromJSValue()! } } public class AudioData: JSBridgedClass { @@ -490,92 +480,94 @@ public class AudioData: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _format = ReadonlyAttribute(jsObject: jsObject, name: Strings.format) - _sampleRate = ReadonlyAttribute(jsObject: jsObject, name: Strings.sampleRate) - _numberOfFrames = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfFrames) - _numberOfChannels = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberOfChannels) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: AudioDataInit) { + @inlinable public convenience init(`init`: AudioDataInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var format: AudioSampleFormat? + @inlinable public var format: AudioSampleFormat? { jsObject[Strings.format].fromJSValue() } - @ReadonlyAttribute - public var sampleRate: Float + @inlinable public var sampleRate: Float { jsObject[Strings.sampleRate].fromJSValue()! } - @ReadonlyAttribute - public var numberOfFrames: UInt32 + @inlinable public var numberOfFrames: UInt32 { jsObject[Strings.numberOfFrames].fromJSValue()! } - @ReadonlyAttribute - public var numberOfChannels: UInt32 + @inlinable public var numberOfChannels: UInt32 { jsObject[Strings.numberOfChannels].fromJSValue()! } - @ReadonlyAttribute - public var duration: UInt64 + @inlinable public var duration: UInt64 { jsObject[Strings.duration].fromJSValue()! } - @ReadonlyAttribute - public var timestamp: Int64 + @inlinable public var timestamp: Int64 { jsObject[Strings.timestamp].fromJSValue()! } - @inlinable public func allocationSize(options: AudioDataCopyToOptions) -> UInt32 { + @inlinable final public func allocationSize(options: AudioDataCopyToOptions) -> UInt32 { let this = jsObject return this[Strings.allocationSize].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func copyTo(destination: AllowSharedBufferSource, options: AudioDataCopyToOptions) { + @inlinable final public func copyTo(destination: AllowSharedBufferSource, options: AudioDataCopyToOptions) { let this = jsObject _ = this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]) } - @inlinable public func clone() -> Self { + @inlinable final public func clone() -> AudioData { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } } -public class AudioDataCopyToOptions: BridgedDictionary { - public convenience init(planeIndex: UInt32, frameOffset: UInt32, frameCount: UInt32, format: AudioSampleFormat) { +open class AudioDataCopyToOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + planeIndex: UInt32, + frameOffset: UInt32? = nil, + frameCount: UInt32? = nil, + format: AudioSampleFormat? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.planeIndex] = _toJSValue(planeIndex) object[Strings.frameOffset] = _toJSValue(frameOffset) object[Strings.frameCount] = _toJSValue(frameCount) object[Strings.format] = _toJSValue(format) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _planeIndex = ReadWriteAttribute(jsObject: object, name: Strings.planeIndex) - _frameOffset = ReadWriteAttribute(jsObject: object, name: Strings.frameOffset) - _frameCount = ReadWriteAttribute(jsObject: object, name: Strings.frameCount) - _format = ReadWriteAttribute(jsObject: object, name: Strings.format) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var planeIndex: UInt32 - - @ReadWriteAttribute - public var frameOffset: UInt32? - - @ReadWriteAttribute - public var frameCount: UInt32? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var format: AudioSampleFormat? + @inlinable public var planeIndex: UInt32 { + get { jsObject[Strings.planeIndex].fromJSValue()! } + set { jsObject[Strings.planeIndex] = _toJSValue(newValue) } + } + @inlinable public var frameOffset: UInt32 { + get { jsObject[Strings.frameOffset].fromJSValue()! } + set { jsObject[Strings.frameOffset] = _toJSValue(newValue) } + } + @inlinable public var frameCount: UInt32 { + get { jsObject[Strings.frameCount].fromJSValue()! } + set { jsObject[Strings.frameCount] = _toJSValue(newValue) } + } + @inlinable public var format: AudioSampleFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } } +open class AudioDataInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class AudioDataInit: BridgedDictionary { - public convenience init(format: AudioSampleFormat, sampleRate: Float, numberOfFrames: UInt32, numberOfChannels: UInt32, timestamp: Int64, data: BufferSource, transfer: [ArrayBuffer]) { + public convenience init( + format: AudioSampleFormat, + sampleRate: Float, + numberOfFrames: UInt32, + numberOfChannels: UInt32, + timestamp: Int64, + data: BufferSource, + transfer: [ArrayBuffer]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.format] = _toJSValue(format) object[Strings.sampleRate] = _toJSValue(sampleRate) @@ -584,93 +576,99 @@ public class AudioDataInit: BridgedDictionary { object[Strings.timestamp] = _toJSValue(timestamp) object[Strings.data] = _toJSValue(data) object[Strings.transfer] = _toJSValue(transfer) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _format = ReadWriteAttribute(jsObject: object, name: Strings.format) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _numberOfFrames = ReadWriteAttribute(jsObject: object, name: Strings.numberOfFrames) - _numberOfChannels = ReadWriteAttribute(jsObject: object, name: Strings.numberOfChannels) - _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var format: AudioSampleFormat + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var sampleRate: Float - - @ReadWriteAttribute - public var numberOfFrames: UInt32 - - @ReadWriteAttribute - public var numberOfChannels: UInt32 - - @ReadWriteAttribute - public var timestamp: Int64 - - @ReadWriteAttribute - public var data: BufferSource - - @ReadWriteAttribute - public var transfer: [ArrayBuffer]? + @inlinable public var format: AudioSampleFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: Float { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var numberOfFrames: UInt32 { + get { jsObject[Strings.numberOfFrames].fromJSValue()! } + set { jsObject[Strings.numberOfFrames] = _toJSValue(newValue) } + } + @inlinable public var numberOfChannels: UInt32 { + get { jsObject[Strings.numberOfChannels].fromJSValue()! } + set { jsObject[Strings.numberOfChannels] = _toJSValue(newValue) } + } + @inlinable public var timestamp: Int64 { + get { jsObject[Strings.timestamp].fromJSValue()! } + set { jsObject[Strings.timestamp] = _toJSValue(newValue) } + } + @inlinable public var data: BufferSource { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } + @inlinable public var transfer: [ArrayBuffer] { + get { jsObject[Strings.transfer].fromJSValue()! } + set { jsObject[Strings.transfer] = _toJSValue(newValue) } + } } - public class AudioDecoder: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioDecoder].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioDecoder].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _decodeQueueSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.decodeQueueSize) - _ondequeue = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondequeue) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(init: AudioDecoderInit) { + @inlinable public convenience init(`init`: AudioDecoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var state: CodecState + @inlinable public var state: CodecState { jsObject[Strings.state].fromJSValue()! } - @ReadonlyAttribute - public var decodeQueueSize: UInt32 + @inlinable public var decodeQueueSize: UInt32 { jsObject[Strings.decodeQueueSize].fromJSValue()! } - @ClosureAttribute1Optional - public var ondequeue: EventHandler + @inlinable public var ondequeue: EventHandler { + get { + guard let function = jsObject[Strings.ondequeue].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondequeue] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondequeue] = .null + } + } + } - @inlinable public func configure(config: AudioDecoderConfig) { + @inlinable final public func configure(config: AudioDecoderConfig) { let this = jsObject _ = this[Strings.configure].function!(this: this, arguments: [_toJSValue(config)]) } - @inlinable public func decode(chunk: EncodedAudioChunk) { + @inlinable final public func decode(chunk: EncodedAudioChunk) { let this = jsObject _ = this[Strings.decode].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable public func flush() -> JSPromise { + @inlinable final public func flush() -> JSPromise { let this = jsObject return this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func flush() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func flush() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -680,138 +678,177 @@ public class AudioDecoder: EventTarget { return this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public class func isConfigSupported(config: AudioDecoderConfig) async throws -> AudioDecoderSupport { - let this = constructor! - let _promise: JSPromise = this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isConfigSupported( + config: AudioDecoderConfig + ) async throws(JSException) -> AudioDecoderSupport { + let this = constructor! + let _promise: JSPromise = this[Strings.isConfigSupported].function!( + this: this, + arguments: [_toJSValue(config)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class AudioDecoderConfig: BridgedDictionary { - public convenience init(codec: String, sampleRate: UInt32, numberOfChannels: UInt32, description: BufferSource) { +open class AudioDecoderConfig: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + codec: String, + sampleRate: UInt32, + numberOfChannels: UInt32, + description: BufferSource? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.codec] = _toJSValue(codec) object[Strings.sampleRate] = _toJSValue(sampleRate) object[Strings.numberOfChannels] = _toJSValue(numberOfChannels) object[Strings.description] = _toJSValue(description) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _codec = ReadWriteAttribute(jsObject: object, name: Strings.codec) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _numberOfChannels = ReadWriteAttribute(jsObject: object, name: Strings.numberOfChannels) - _description = ReadWriteAttribute(jsObject: object, name: Strings.description) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var codec: String - - @ReadWriteAttribute - public var sampleRate: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var numberOfChannels: UInt32 - - @ReadWriteAttribute - public var description: BufferSource? + @inlinable public var codec: String { + get { jsObject[Strings.codec].fromJSValue()! } + set { jsObject[Strings.codec] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: UInt32 { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var numberOfChannels: UInt32 { + get { jsObject[Strings.numberOfChannels].fromJSValue()! } + set { jsObject[Strings.numberOfChannels] = _toJSValue(newValue) } + } + @inlinable public var description: BufferSource { + get { jsObject[Strings.description].fromJSValue()! } + set { jsObject[Strings.description] = _toJSValue(newValue) } + } } +open class AudioDecoderInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class AudioDecoderInit: BridgedDictionary { public convenience init(output: @escaping AudioDataOutputCallback, error: @escaping WebCodecsErrorCallback) { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute1Void[Strings.output, in: object] = output - ClosureAttribute1Void[Strings.error, in: object] = error - self.init(unsafelyWrapping: object) - } + object[Strings.output] = _toJSValue(output) + object[Strings.error] = _toJSValue(error) - public required init(unsafelyWrapping object: JSObject) { - _output = ClosureAttribute1Void(jsObject: object, name: Strings.output) - _error = ClosureAttribute1Void(jsObject: object, name: Strings.error) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ClosureAttribute1Void - public var output: AudioDataOutputCallback + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ClosureAttribute1Void - public var error: WebCodecsErrorCallback + @inlinable public var output: AudioDataOutputCallback { + get { + let function = jsObject[Strings.output].function! + return { function(_toJSValue($0)) } + } + set { + jsObject[Strings.output] = + JSClosure { + newValue($0[0].fromJSValue()!) + return .undefined + }.jsValue + } + } + @inlinable public var error: WebCodecsErrorCallback { + get { + let function = jsObject[Strings.error].function! + return { function(_toJSValue($0)) } + } + set { + jsObject[Strings.error] = + JSClosure { + newValue($0[0].fromJSValue()!) + return .undefined + }.jsValue + } + } } +open class AudioDecoderSupport: JSDictionaryCompatible { + public let jsObject: JSObject -public class AudioDecoderSupport: BridgedDictionary { - public convenience init(supported: Bool, config: AudioDecoderConfig) { + public convenience init(supported: Bool? = nil, config: AudioDecoderConfig? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.supported] = _toJSValue(supported) object[Strings.config] = _toJSValue(config) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _supported = ReadWriteAttribute(jsObject: object, name: Strings.supported) - _config = ReadWriteAttribute(jsObject: object, name: Strings.config) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var supported: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var config: AudioDecoderConfig? + @inlinable public var supported: Bool { + get { jsObject[Strings.supported].fromJSValue()! } + set { jsObject[Strings.supported] = _toJSValue(newValue) } + } + @inlinable public var config: AudioDecoderConfig { + get { jsObject[Strings.config].fromJSValue()! } + set { jsObject[Strings.config] = _toJSValue(newValue) } + } } - public class AudioEncoder: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioEncoder].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioEncoder].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _encodeQueueSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.encodeQueueSize) - _ondequeue = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondequeue) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(init: AudioEncoderInit) { + @inlinable public convenience init(`init`: AudioEncoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var state: CodecState + @inlinable public var state: CodecState { jsObject[Strings.state].fromJSValue()! } - @ReadonlyAttribute - public var encodeQueueSize: UInt32 + @inlinable public var encodeQueueSize: UInt32 { jsObject[Strings.encodeQueueSize].fromJSValue()! } - @ClosureAttribute1Optional - public var ondequeue: EventHandler + @inlinable public var ondequeue: EventHandler { + get { + guard let function = jsObject[Strings.ondequeue].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondequeue] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondequeue] = .null + } + } + } - @inlinable public func configure(config: AudioEncoderConfig) { + @inlinable final public func configure(config: AudioEncoderConfig) { let this = jsObject _ = this[Strings.configure].function!(this: this, arguments: [_toJSValue(config)]) } - @inlinable public func encode(data: AudioData) { + @inlinable final public func encode(data: AudioData) { let this = jsObject _ = this[Strings.encode].function!(this: this, arguments: [_toJSValue(data)]) } - @inlinable public func flush() -> JSPromise { + @inlinable final public func flush() -> JSPromise { let this = jsObject return this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func flush() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func flush() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -821,92 +858,126 @@ public class AudioEncoder: EventTarget { return this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public class func isConfigSupported(config: AudioEncoderConfig) async throws -> AudioEncoderSupport { - let this = constructor! - let _promise: JSPromise = this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isConfigSupported( + config: AudioEncoderConfig + ) async throws(JSException) -> AudioEncoderSupport { + let this = constructor! + let _promise: JSPromise = this[Strings.isConfigSupported].function!( + this: this, + arguments: [_toJSValue(config)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class AudioEncoderConfig: BridgedDictionary { - public convenience init(codec: String, sampleRate: UInt32, numberOfChannels: UInt32, bitrate: UInt64, bitrateMode: BitrateMode) { +open class AudioEncoderConfig: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + codec: String, + sampleRate: UInt32, + numberOfChannels: UInt32, + bitrate: UInt64? = nil, + bitrateMode: BitrateMode? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.codec] = _toJSValue(codec) object[Strings.sampleRate] = _toJSValue(sampleRate) object[Strings.numberOfChannels] = _toJSValue(numberOfChannels) object[Strings.bitrate] = _toJSValue(bitrate) object[Strings.bitrateMode] = _toJSValue(bitrateMode) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _codec = ReadWriteAttribute(jsObject: object, name: Strings.codec) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _numberOfChannels = ReadWriteAttribute(jsObject: object, name: Strings.numberOfChannels) - _bitrate = ReadWriteAttribute(jsObject: object, name: Strings.bitrate) - _bitrateMode = ReadWriteAttribute(jsObject: object, name: Strings.bitrateMode) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var codec: String - - @ReadWriteAttribute - public var sampleRate: UInt32? - - @ReadWriteAttribute - public var numberOfChannels: UInt32? - - @ReadWriteAttribute - public var bitrate: UInt64? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var bitrateMode: BitrateMode? + @inlinable public var codec: String { + get { jsObject[Strings.codec].fromJSValue()! } + set { jsObject[Strings.codec] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: UInt32 { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var numberOfChannels: UInt32 { + get { jsObject[Strings.numberOfChannels].fromJSValue()! } + set { jsObject[Strings.numberOfChannels] = _toJSValue(newValue) } + } + @inlinable public var bitrate: UInt64 { + get { jsObject[Strings.bitrate].fromJSValue()! } + set { jsObject[Strings.bitrate] = _toJSValue(newValue) } + } + @inlinable public var bitrateMode: BitrateMode { + get { jsObject[Strings.bitrateMode].fromJSValue()! } + set { jsObject[Strings.bitrateMode] = _toJSValue(newValue) } + } } +open class AudioEncoderInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class AudioEncoderInit: BridgedDictionary { - public convenience init(output: @escaping EncodedAudioChunkOutputCallback, error: @escaping WebCodecsErrorCallback) { + public convenience init(output: @escaping EncodedAudioChunkOutputCallback, error: @escaping WebCodecsErrorCallback) + { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute2Void[Strings.output, in: object] = output - ClosureAttribute1Void[Strings.error, in: object] = error - self.init(unsafelyWrapping: object) - } + object[Strings.output] = _toJSValue(output) + object[Strings.error] = _toJSValue(error) - public required init(unsafelyWrapping object: JSObject) { - _output = ClosureAttribute2Void(jsObject: object, name: Strings.output) - _error = ClosureAttribute1Void(jsObject: object, name: Strings.error) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ClosureAttribute2Void - public var output: EncodedAudioChunkOutputCallback + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ClosureAttribute1Void - public var error: WebCodecsErrorCallback + @inlinable public var output: EncodedAudioChunkOutputCallback { + get { + let function = jsObject[Strings.output].function! + return { function(_toJSValue($0), _toJSValue($1)) } + } + set { + jsObject[Strings.output] = + JSClosure { + newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!) + return .undefined + }.jsValue + } + } + @inlinable public var error: WebCodecsErrorCallback { + get { + let function = jsObject[Strings.error].function! + return { function(_toJSValue($0)) } + } + set { + jsObject[Strings.error] = + JSClosure { + newValue($0[0].fromJSValue()!) + return .undefined + }.jsValue + } + } } +open class AudioEncoderSupport: JSDictionaryCompatible { + public let jsObject: JSObject -public class AudioEncoderSupport: BridgedDictionary { - public convenience init(supported: Bool, config: AudioEncoderConfig) { + public convenience init(supported: Bool? = nil, config: AudioEncoderConfig? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.supported] = _toJSValue(supported) object[Strings.config] = _toJSValue(config) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _supported = ReadWriteAttribute(jsObject: object, name: Strings.supported) - _config = ReadWriteAttribute(jsObject: object, name: Strings.config) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var supported: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var config: AudioEncoderConfig? + @inlinable public var supported: Bool { + get { jsObject[Strings.supported].fromJSValue()! } + set { jsObject[Strings.supported] = _toJSValue(newValue) } + } + @inlinable public var config: AudioEncoderConfig { + get { jsObject[Strings.config].fromJSValue()! } + set { jsObject[Strings.config] = _toJSValue(newValue) } + } } - public enum AudioSampleFormat: JSString, JSValueCompatible { case u8 = "u8" case s16 = "s16" @@ -918,84 +989,92 @@ public enum AudioSampleFormat: JSString, JSValueCompatible { case f32Planar = "f32-planar" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class AudioTrack: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.AudioTrack].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) - _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) - _language = ReadonlyAttribute(jsObject: jsObject, name: Strings.language) - _enabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.enabled) - _sourceBuffer = ReadonlyAttribute(jsObject: jsObject, name: Strings.sourceBuffer) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var kind: String + @inlinable public var kind: String { jsObject[Strings.kind].fromJSValue()! } - @ReadonlyAttribute - public var label: String + @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } - @ReadonlyAttribute - public var language: String + @inlinable public var language: String { jsObject[Strings.language].fromJSValue()! } - @ReadWriteAttribute - public var enabled: Bool + @inlinable public var enabled: Bool { + get { jsObject[Strings.enabled].fromJSValue()! } + set { jsObject[Strings.enabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var sourceBuffer: SourceBuffer? + @inlinable public var sourceBuffer: SourceBuffer? { jsObject[Strings.sourceBuffer].fromJSValue() } } public class AudioTrackList: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.AudioTrackList].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioTrackList].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) - _onaddtrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddtrack) - _onremovetrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovetrack) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> AudioTrack { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> AudioTrack { jsObject[key].fromJSValue()! } - @inlinable public func getTrackById(id: String) -> AudioTrack? { + @inlinable final public func getTrackById(id: String) -> AudioTrack? { let this = jsObject return this[Strings.getTrackById].function!(this: this, arguments: [_toJSValue(id)]).fromJSValue() } - @ClosureAttribute1Optional - public var onchange: EventHandler + @inlinable public var onchange: EventHandler { + get { + guard let function = jsObject[Strings.onchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onchange] = .null + } + } + } - @ClosureAttribute1Optional - public var onaddtrack: EventHandler + @inlinable public var onaddtrack: EventHandler { + get { + guard let function = jsObject[Strings.onaddtrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onaddtrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onaddtrack] = .null + } + } + } - @ClosureAttribute1Optional - public var onremovetrack: EventHandler + @inlinable public var onremovetrack: EventHandler { + get { + guard let function = jsObject[Strings.onremovetrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onremovetrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onremovetrack] = .null + } + } + } } public class BarProp: JSBridgedClass { @@ -1003,27 +1082,28 @@ public class BarProp: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _visible = ReadonlyAttribute(jsObject: jsObject, name: Strings.visible) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var visible: Bool + @inlinable public var visible: Bool { jsObject[Strings.visible].fromJSValue()! } } public class BeforeUnloadEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.BeforeUnloadEvent].function } + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.BeforeUnloadEvent].function + } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - _returnValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.returnValue) - super.init(unsafelyWrapping: jsObject) + @available(*, unavailable) + override public var returnValue: Bool { + get { !self.returnValueAsString.isEmpty } + set {} } - @usableFromInline let _returnValue: ReadWriteAttribute - @inlinable override public var returnValue: String { - get { _returnValue.wrappedValue } - set { _returnValue.wrappedValue = newValue } + // renamed because `String` is not compatible with `Bool` + @inlinable public var returnValueAsString: String { + get { self.jsObject[Strings.returnValue].string! } + set { self.jsObject[Strings.returnValue] = .string(newValue) } } } @@ -1032,287 +1112,381 @@ public enum BitrateMode: JSString, JSValueCompatible { case variable = "variable" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class Blob: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Blob].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(blobParts: [BlobPart]? = nil, options: BlobPropertyBag? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(blobParts), _toJSValue(options)])) } - @ReadonlyAttribute - public var size: UInt64 + @inlinable public var size: UInt64 { jsObject[Strings.size].fromJSValue()! } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @inlinable public func slice(start: Int64? = nil, end: Int64? = nil, contentType: String? = nil) -> Self { + @inlinable final public func slice(start: Int64? = nil, end: Int64? = nil, contentType: String? = nil) -> Blob { let this = jsObject - return this[Strings.slice].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(contentType)]).fromJSValue()! + return this[Strings.slice].function!( + this: this, + arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(contentType)] + ).fromJSValue()! } - @inlinable public func stream() -> ReadableStream { + @inlinable final public func stream() -> ReadableStream { let this = jsObject return this[Strings.stream].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func text() -> JSPromise { + @inlinable final public func text() -> JSPromise { let this = jsObject return this[Strings.text].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func text() async throws -> String { - let this = jsObject - let _promise: JSPromise = this[Strings.text].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func text() + async throws(JSException) -> String + { + let this = jsObject + let _promise: JSPromise = this[Strings.text].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func arrayBuffer() -> JSPromise { + @inlinable final public func arrayBuffer() -> JSPromise { let this = jsObject return this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func arrayBuffer() async throws -> ArrayBuffer { + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func arrayBuffer() + async throws(JSException) -> ArrayBuffer + { + let this = jsObject + let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif + + @inlinable final public func bytes() -> JSPromise { let this = jsObject - let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! + return this[Strings.bytes].function!(this: this, arguments: []).fromJSValue()! } + + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func bytes() + async throws(JSException) -> Uint8Array + { + let this = jsObject + let _promise: JSPromise = this[Strings.bytes].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } public class BlobEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.BlobEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.BlobEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) - _timecode = ReadonlyAttribute(jsObject: jsObject, name: Strings.timecode) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: BlobEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var data: Blob + @inlinable public var data: Blob { jsObject[Strings.data].fromJSValue()! } - @ReadonlyAttribute - public var timecode: DOMHighResTimeStamp + @inlinable public var timecode: DOMHighResTimeStamp { jsObject[Strings.timecode].fromJSValue()! } } -public class BlobEventInit: BridgedDictionary { - public convenience init(data: Blob, timecode: DOMHighResTimeStamp) { +open class BlobEventInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(data: Blob, timecode: DOMHighResTimeStamp? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.data] = _toJSValue(data) object[Strings.timecode] = _toJSValue(timecode) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - _timecode = ReadWriteAttribute(jsObject: object, name: Strings.timecode) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var data: Blob + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var timecode: DOMHighResTimeStamp? + @inlinable public var data: Blob { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } + @inlinable public var timecode: DOMHighResTimeStamp { + get { jsObject[Strings.timecode].fromJSValue()! } + set { jsObject[Strings.timecode] = _toJSValue(newValue) } + } } +open class BlobPropertyBag: JSDictionaryCompatible { + public let jsObject: JSObject -public class BlobPropertyBag: BridgedDictionary { - public convenience init(type: String, endings: EndingType) { + public convenience init(type: String? = nil, endings: EndingType? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.endings] = _toJSValue(endings) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _endings = ReadWriteAttribute(jsObject: object, name: Strings.endings) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: String? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var endings: EndingType? + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var endings: EndingType { + get { jsObject[Strings.endings].fromJSValue()! } + set { jsObject[Strings.endings] = _toJSValue(newValue) } + } } - public protocol Body: JSBridgedClass {} -public extension Body { - @inlinable var body: ReadableStream? { jsObject[Strings.body].fromJSValue() } +extension Body { + @inlinable public var body: ReadableStream? { jsObject[Strings.body].fromJSValue() } - @inlinable var bodyUsed: Bool { jsObject[Strings.bodyUsed].fromJSValue()! } + @inlinable public var bodyUsed: Bool { jsObject[Strings.bodyUsed].fromJSValue()! } - @inlinable func arrayBuffer() -> JSPromise { + @inlinable public func arrayBuffer() -> JSPromise { let this = jsObject return this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func arrayBuffer() async throws -> ArrayBuffer { - let this = jsObject - let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func arrayBuffer() + async throws(JSException) -> ArrayBuffer + { + let this = jsObject + let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable func blob() -> JSPromise { + @inlinable public func blob() -> JSPromise { let this = jsObject return this[Strings.blob].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func blob() async throws -> Blob { + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func blob() + async throws(JSException) -> Blob + { + let this = jsObject + let _promise: JSPromise = this[Strings.blob].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif + + @inlinable public func bytes() -> JSPromise { let this = jsObject - let _promise: JSPromise = this[Strings.blob].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! + return this[Strings.bytes].function!(this: this, arguments: []).fromJSValue()! } - @inlinable func formData() -> JSPromise { + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func bytes() + async throws(JSException) -> Uint8Array + { + let this = jsObject + let _promise: JSPromise = this[Strings.bytes].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif + + @inlinable public func formData() -> JSPromise { let this = jsObject return this[Strings.formData].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func formData() async throws -> FormData { - let this = jsObject - let _promise: JSPromise = this[Strings.formData].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func formData() + async throws(JSException) -> FormData + { + let this = jsObject + let _promise: JSPromise = this[Strings.formData].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable func json() -> JSPromise { + @inlinable public func json() -> JSPromise { let this = jsObject return this[Strings.json].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func json() async throws -> JSValue { - let this = jsObject - let _promise: JSPromise = this[Strings.json].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func json() + async throws(JSException) -> JSValue + { + let this = jsObject + let _promise: JSPromise = this[Strings.json].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable func text() -> JSPromise { + @inlinable public func text() -> JSPromise { let this = jsObject return this[Strings.text].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func text() async throws -> String { - let this = jsObject - let _promise: JSPromise = this[Strings.text].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func text() + async throws(JSException) -> String + { + let this = jsObject + let _promise: JSPromise = this[Strings.text].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } +open class BoxQuadOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class BoxQuadOptions: BridgedDictionary { - public convenience init(box: CSSBoxType, relativeTo: GeometryNode) { + public convenience init(box: CSSBoxType? = nil, relativeTo: GeometryNode? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.box] = _toJSValue(box) object[Strings.relativeTo] = _toJSValue(relativeTo) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _box = ReadWriteAttribute(jsObject: object, name: Strings.box) - _relativeTo = ReadWriteAttribute(jsObject: object, name: Strings.relativeTo) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var box: CSSBoxType? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var relativeTo: GeometryNode? + @inlinable public var box: CSSBoxType { + get { jsObject[Strings.box].fromJSValue()! } + set { jsObject[Strings.box] = _toJSValue(newValue) } + } + @inlinable public var relativeTo: GeometryNode { + get { jsObject[Strings.relativeTo].fromJSValue()! } + set { jsObject[Strings.relativeTo] = _toJSValue(newValue) } + } } - public class BroadcastChannel: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.BroadcastChannel].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.BroadcastChannel].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) - _onmessageerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessageerror) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(name: String) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(name)])) } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @inlinable public func postMessage(message: JSValue) { + @inlinable final public func postMessage(message: JSValue) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message)]) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @ClosureAttribute1Optional - public var onmessage: EventHandler + @inlinable public var onmessage: EventHandler { + get { + guard let function = jsObject[Strings.onmessage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessage] = .null + } + } + } - @ClosureAttribute1Optional - public var onmessageerror: EventHandler -} + @inlinable public var onmessageerror: EventHandler { + get { + guard let function = jsObject[Strings.onmessageerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessageerror] = .null + } + } + } +} + +public class BufferedChangeEvent: Event { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.BufferedChangeEvent].function + } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init(type: String, eventInitDict: BufferedChangeEventInit? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) + } + + @inlinable public var addedRanges: TimeRanges { jsObject[Strings.addedRanges].fromJSValue()! } + + @inlinable public var removedRanges: TimeRanges { jsObject[Strings.removedRanges].fromJSValue()! } +} + +open class BufferedChangeEventInit: EventInit { + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + addedRanges: TimeRanges? = nil, + removedRanges: TimeRanges? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) + object[Strings.addedRanges] = _toJSValue(addedRanges) + object[Strings.removedRanges] = _toJSValue(removedRanges) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + + @inlinable public var addedRanges: TimeRanges { + get { jsObject[Strings.addedRanges].fromJSValue()! } + set { jsObject[Strings.addedRanges] = _toJSValue(newValue) } + } + @inlinable public var removedRanges: TimeRanges { + get { jsObject[Strings.removedRanges].fromJSValue()! } + set { jsObject[Strings.removedRanges] = _toJSValue(newValue) } + } +} public class ByteLengthQueuingStrategy: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ByteLengthQueuingStrategy].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _highWaterMark = ReadonlyAttribute(jsObject: jsObject, name: Strings.highWaterMark) - _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: QueuingStrategyInit) { + @inlinable public convenience init(`init`: QueuingStrategyInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var highWaterMark: Double + @inlinable public var highWaterMark: Double { jsObject[Strings.highWaterMark].fromJSValue()! } - @ReadonlyAttribute - public var size: JSFunction + @inlinable public var size: JSFunction { jsObject[Strings.size].fromJSValue()! } } public class CDATASection: Text { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CDATASection].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CDATASection].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public enum CSSBoxType: JSString, JSValueCompatible { @@ -1322,39 +1496,26 @@ public enum CSSBoxType: JSString, JSValueCompatible { case content = "content" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class CSSPseudoElement: EventTarget, GeometryUtils { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CSSPseudoElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CSSPseudoElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _element = ReadonlyAttribute(jsObject: jsObject, name: Strings.element) - _parent = ReadonlyAttribute(jsObject: jsObject, name: Strings.parent) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var element: Element + @inlinable public var element: Element { jsObject[Strings.element].fromJSValue()! } - @ReadonlyAttribute - public var parent: CSSPseudoElement_or_Element + @inlinable public var parent: CSSPseudoElement_or_Element { jsObject[Strings.parent].fromJSValue()! } - @inlinable public func pseudo(type: String) -> CSSPseudoElement? { + @inlinable final public func pseudo(type: String) -> CSSPseudoElement? { let this = jsObject return this[Strings.pseudo].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue() } @@ -1365,412 +1526,520 @@ public class Cache: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func match(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable final public func match(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func match(request: RequestInfo, options: CacheQueryOptions? = nil) async throws -> Response? { - let this = jsObject - let _promise: JSPromise = this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func match( + request: RequestInfo, + options: CacheQueryOptions? = nil + ) async throws(JSException) -> Response? { + let this = jsObject + let _promise: JSPromise = this[Strings.match].function!( + this: this, + arguments: [_toJSValue(request), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func matchAll(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable final public func matchAll(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.matchAll].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return this[Strings.matchAll].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func matchAll(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) async throws -> [Response] { - let this = jsObject - let _promise: JSPromise = this[Strings.matchAll].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func matchAll( + request: RequestInfo? = nil, + options: CacheQueryOptions? = nil + ) async throws(JSException) -> [Response] { + let this = jsObject + let _promise: JSPromise = this[Strings.matchAll].function!( + this: this, + arguments: [_toJSValue(request), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func add(request: RequestInfo) -> JSPromise { + @inlinable final public func add(request: RequestInfo) -> JSPromise { let this = jsObject return this[Strings.add].function!(this: this, arguments: [_toJSValue(request)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func add(request: RequestInfo) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.add].function!(this: this, arguments: [_toJSValue(request)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func add( + request: RequestInfo + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.add].function!(this: this, arguments: [_toJSValue(request)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func addAll(requests: [RequestInfo]) -> JSPromise { + @inlinable final public func addAll(requests: [RequestInfo]) -> JSPromise { let this = jsObject return this[Strings.addAll].function!(this: this, arguments: [_toJSValue(requests)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func addAll(requests: [RequestInfo]) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.addAll].function!(this: this, arguments: [_toJSValue(requests)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func addAll( + requests: [RequestInfo] + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.addAll].function!(this: this, arguments: [_toJSValue(requests)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func put(request: RequestInfo, response: Response) -> JSPromise { + @inlinable final public func put(request: RequestInfo, response: Response) -> JSPromise { let this = jsObject - return this[Strings.put].function!(this: this, arguments: [_toJSValue(request), _toJSValue(response)]).fromJSValue()! + return this[Strings.put].function!(this: this, arguments: [_toJSValue(request), _toJSValue(response)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func put(request: RequestInfo, response: Response) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.put].function!(this: this, arguments: [_toJSValue(request), _toJSValue(response)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func put( + request: RequestInfo, + response: Response + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.put].function!( + this: this, + arguments: [_toJSValue(request), _toJSValue(response)] + ).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func delete(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable final public func delete(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.delete].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return this[Strings.delete].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func delete(request: RequestInfo, options: CacheQueryOptions? = nil) async throws -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.delete].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func delete( + request: RequestInfo, + options: CacheQueryOptions? = nil + ) async throws(JSException) -> Bool { + let this = jsObject + let _promise: JSPromise = this[Strings.delete].function!( + this: this, + arguments: [_toJSValue(request), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func keys(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable final public func keys(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.keys].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return this[Strings.keys].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func keys(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) async throws -> [Request] { - let this = jsObject - let _promise: JSPromise = this[Strings.keys].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func keys( + request: RequestInfo? = nil, + options: CacheQueryOptions? = nil + ) async throws(JSException) -> [Request] { + let this = jsObject + let _promise: JSPromise = this[Strings.keys].function!( + this: this, + arguments: [_toJSValue(request), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class CacheQueryOptions: BridgedDictionary { - public convenience init(ignoreSearch: Bool, ignoreMethod: Bool, ignoreVary: Bool) { +open class CacheQueryOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(ignoreSearch: Bool? = nil, ignoreMethod: Bool? = nil, ignoreVary: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.ignoreSearch] = _toJSValue(ignoreSearch) object[Strings.ignoreMethod] = _toJSValue(ignoreMethod) object[Strings.ignoreVary] = _toJSValue(ignoreVary) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _ignoreSearch = ReadWriteAttribute(jsObject: object, name: Strings.ignoreSearch) - _ignoreMethod = ReadWriteAttribute(jsObject: object, name: Strings.ignoreMethod) - _ignoreVary = ReadWriteAttribute(jsObject: object, name: Strings.ignoreVary) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var ignoreSearch: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var ignoreMethod: Bool? - - @ReadWriteAttribute - public var ignoreVary: Bool? + @inlinable public var ignoreSearch: Bool { + get { jsObject[Strings.ignoreSearch].fromJSValue()! } + set { jsObject[Strings.ignoreSearch] = _toJSValue(newValue) } + } + @inlinable public var ignoreMethod: Bool { + get { jsObject[Strings.ignoreMethod].fromJSValue()! } + set { jsObject[Strings.ignoreMethod] = _toJSValue(newValue) } + } + @inlinable public var ignoreVary: Bool { + get { jsObject[Strings.ignoreVary].fromJSValue()! } + set { jsObject[Strings.ignoreVary] = _toJSValue(newValue) } + } } - public class CacheStorage: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CacheStorage].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func match(request: RequestInfo, options: MultiCacheQueryOptions? = nil) -> JSPromise { + @inlinable final public func match(request: RequestInfo, options: MultiCacheQueryOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! + return this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func match(request: RequestInfo, options: MultiCacheQueryOptions? = nil) async throws -> Response? { - let this = jsObject - let _promise: JSPromise = this[Strings.match].function!(this: this, arguments: [_toJSValue(request), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func match( + request: RequestInfo, + options: MultiCacheQueryOptions? = nil + ) async throws(JSException) -> Response? { + let this = jsObject + let _promise: JSPromise = this[Strings.match].function!( + this: this, + arguments: [_toJSValue(request), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func has(cacheName: String) -> JSPromise { + @inlinable final public func has(cacheName: String) -> JSPromise { let this = jsObject return this[Strings.has].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func has(cacheName: String) async throws -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.has].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func has( + cacheName: String + ) async throws(JSException) -> Bool { + let this = jsObject + let _promise: JSPromise = this[Strings.has].function!(this: this, arguments: [_toJSValue(cacheName)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func open(cacheName: String) -> JSPromise { + @inlinable final public func open(cacheName: String) -> JSPromise { let this = jsObject return this[Strings.open].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func open(cacheName: String) async throws -> Cache { - let this = jsObject - let _promise: JSPromise = this[Strings.open].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func open( + cacheName: String + ) async throws(JSException) -> Cache { + let this = jsObject + let _promise: JSPromise = this[Strings.open].function!(this: this, arguments: [_toJSValue(cacheName)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func delete(cacheName: String) -> JSPromise { + @inlinable final public func delete(cacheName: String) -> JSPromise { let this = jsObject return this[Strings.delete].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func delete(cacheName: String) async throws -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.delete].function!(this: this, arguments: [_toJSValue(cacheName)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func delete( + cacheName: String + ) async throws(JSException) -> Bool { + let this = jsObject + let _promise: JSPromise = this[Strings.delete].function!(this: this, arguments: [_toJSValue(cacheName)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func keys() -> JSPromise { + @inlinable final public func keys() -> JSPromise { let this = jsObject return this[Strings.keys].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func keys() async throws -> [String] { - let this = jsObject - let _promise: JSPromise = this[Strings.keys].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func keys() + async throws(JSException) -> [String] + { + let this = jsObject + let _promise: JSPromise = this[Strings.keys].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class CameraDevicePermissionDescriptor: BridgedDictionary { - public convenience init(panTiltZoom: Bool) { +open class CameraDevicePermissionDescriptor: PermissionDescriptor { + + public convenience init(name: String, panTiltZoom: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.name] = _toJSValue(name) object[Strings.panTiltZoom] = _toJSValue(panTiltZoom) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _panTiltZoom = ReadWriteAttribute(jsObject: object, name: Strings.panTiltZoom) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var panTiltZoom: Bool? + @inlinable public var panTiltZoom: Bool { + get { jsObject[Strings.panTiltZoom].fromJSValue()! } + set { jsObject[Strings.panTiltZoom] = _toJSValue(newValue) } + } } - public enum CanPlayTypeResult: JSString, JSValueCompatible { case _empty = "" case maybe = "maybe" case probably = "probably" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +public enum CanvasColorType: JSString, JSValueCompatible { + case unorm8 = "unorm8" + case float16 = "float16" + + @inlinable public static func construct(from jsValue: JSValue) -> Self? { + if let string = jsValue.jsString { return Self(rawValue: string) } + return nil + } + + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public var jsValue: JSValue { rawValue.jsValue } +} public protocol CanvasCompositing: JSBridgedClass {} -public extension CanvasCompositing { - @inlinable var globalAlpha: Double { +extension CanvasCompositing { + @inlinable public var globalAlpha: Double { get { jsObject[Strings.globalAlpha].fromJSValue()! } - nonmutating set { jsObject[Strings.globalAlpha] = _toJSValue(newValue) } + set { jsObject[Strings.globalAlpha] = _toJSValue(newValue) } } - @inlinable var globalCompositeOperation: String { + @inlinable public var globalCompositeOperation: String { get { jsObject[Strings.globalCompositeOperation].fromJSValue()! } - nonmutating set { jsObject[Strings.globalCompositeOperation] = _toJSValue(newValue) } + set { jsObject[Strings.globalCompositeOperation] = _toJSValue(newValue) } } } - public enum CanvasDirection: JSString, JSValueCompatible { case ltr = "ltr" case rtl = "rtl" case inherit = "inherit" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol CanvasDrawImage: JSBridgedClass {} -public extension CanvasDrawImage { - @inlinable func drawImage(image: CanvasImageSource, dx: Double, dy: Double) { +extension CanvasDrawImage { + @inlinable public func drawImage(image: CanvasImageSource, dx: Double, dy: Double) { let this = jsObject - _ = this[Strings.drawImage].function!(this: this, arguments: [_toJSValue(image), _toJSValue(dx), _toJSValue(dy)]) + _ = this[Strings.drawImage].function!( + this: this, + arguments: [_toJSValue(image), _toJSValue(dx), _toJSValue(dy)] + ) } - @inlinable func drawImage(image: CanvasImageSource, dx: Double, dy: Double, dw: Double, dh: Double) { + @inlinable public func drawImage(image: CanvasImageSource, dx: Double, dy: Double, dw: Double, dh: Double) { let this = jsObject - _ = this[Strings.drawImage].function!(this: this, arguments: [_toJSValue(image), _toJSValue(dx), _toJSValue(dy), _toJSValue(dw), _toJSValue(dh)]) + _ = this[Strings.drawImage].function!( + this: this, + arguments: [_toJSValue(image), _toJSValue(dx), _toJSValue(dy), _toJSValue(dw), _toJSValue(dh)] + ) } - @inlinable func drawImage(image: CanvasImageSource, sx: Double, sy: Double, sw: Double, sh: Double, dx: Double, dy: Double, dw: Double, dh: Double) { + @inlinable public func drawImage( + image: CanvasImageSource, + sx: Double, + sy: Double, + sw: Double, + sh: Double, + dx: Double, + dy: Double, + dw: Double, + dh: Double + ) { let this = jsObject - _ = this[Strings.drawImage].function!(this: this, arguments: [_toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(dx), _toJSValue(dy), _toJSValue(dw), _toJSValue(dh)]) + _ = this[Strings.drawImage].function!( + this: this, + arguments: [ + _toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(dx), + _toJSValue(dy), _toJSValue(dw), _toJSValue(dh), + ] + ) } } - public protocol CanvasDrawPath: JSBridgedClass {} -public extension CanvasDrawPath { - @inlinable func beginPath() { +extension CanvasDrawPath { + @inlinable public func beginPath() { let this = jsObject _ = this[Strings.beginPath].function!(this: this, arguments: []) } - @inlinable func fill(fillRule: CanvasFillRule? = nil) { + @inlinable public func fill(fillRule: CanvasFillRule? = nil) { let this = jsObject _ = this[Strings.fill].function!(this: this, arguments: [_toJSValue(fillRule)]) } - @inlinable func fill(path: Path2D, fillRule: CanvasFillRule? = nil) { + @inlinable public func fill(path: Path2D, fillRule: CanvasFillRule? = nil) { let this = jsObject _ = this[Strings.fill].function!(this: this, arguments: [_toJSValue(path), _toJSValue(fillRule)]) } - @inlinable func stroke() { + @inlinable public func stroke() { let this = jsObject _ = this[Strings.stroke].function!(this: this, arguments: []) } - @inlinable func stroke(path: Path2D) { + @inlinable public func stroke(path: Path2D) { let this = jsObject _ = this[Strings.stroke].function!(this: this, arguments: [_toJSValue(path)]) } - @inlinable func clip(fillRule: CanvasFillRule? = nil) { + @inlinable public func clip(fillRule: CanvasFillRule? = nil) { let this = jsObject _ = this[Strings.clip].function!(this: this, arguments: [_toJSValue(fillRule)]) } - @inlinable func clip(path: Path2D, fillRule: CanvasFillRule? = nil) { + @inlinable public func clip(path: Path2D, fillRule: CanvasFillRule? = nil) { let this = jsObject _ = this[Strings.clip].function!(this: this, arguments: [_toJSValue(path), _toJSValue(fillRule)]) } - @inlinable func isPointInPath(x: Double, y: Double, fillRule: CanvasFillRule? = nil) -> Bool { + @inlinable public func isPointInPath(x: Double, y: Double, fillRule: CanvasFillRule? = nil) -> Bool { let this = jsObject - return this[Strings.isPointInPath].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(fillRule)]).fromJSValue()! + return this[Strings.isPointInPath].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(fillRule)] + ).fromJSValue()! } - @inlinable func isPointInPath(path: Path2D, x: Double, y: Double, fillRule: CanvasFillRule? = nil) -> Bool { + @inlinable public func isPointInPath(path: Path2D, x: Double, y: Double, fillRule: CanvasFillRule? = nil) -> Bool { let this = jsObject - return this[Strings.isPointInPath].function!(this: this, arguments: [_toJSValue(path), _toJSValue(x), _toJSValue(y), _toJSValue(fillRule)]).fromJSValue()! + return this[Strings.isPointInPath].function!( + this: this, + arguments: [_toJSValue(path), _toJSValue(x), _toJSValue(y), _toJSValue(fillRule)] + ).fromJSValue()! } - @inlinable func isPointInStroke(x: Double, y: Double) -> Bool { + @inlinable public func isPointInStroke(x: Double, y: Double) -> Bool { let this = jsObject - return this[Strings.isPointInStroke].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue()! + return this[Strings.isPointInStroke].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) + .fromJSValue()! } - @inlinable func isPointInStroke(path: Path2D, x: Double, y: Double) -> Bool { + @inlinable public func isPointInStroke(path: Path2D, x: Double, y: Double) -> Bool { let this = jsObject - return this[Strings.isPointInStroke].function!(this: this, arguments: [_toJSValue(path), _toJSValue(x), _toJSValue(y)]).fromJSValue()! + return this[Strings.isPointInStroke].function!( + this: this, + arguments: [_toJSValue(path), _toJSValue(x), _toJSValue(y)] + ).fromJSValue()! } } - public enum CanvasFillRule: JSString, JSValueCompatible { case nonzero = "nonzero" case evenodd = "evenodd" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol CanvasFillStrokeStyles: JSBridgedClass {} -public extension CanvasFillStrokeStyles { - @inlinable var strokeStyle: CanvasGradient_or_CanvasPattern_or_String { +extension CanvasFillStrokeStyles { + @inlinable public var strokeStyle: CanvasGradient_or_CanvasPattern_or_String { get { jsObject[Strings.strokeStyle].fromJSValue()! } - nonmutating set { jsObject[Strings.strokeStyle] = _toJSValue(newValue) } + set { jsObject[Strings.strokeStyle] = _toJSValue(newValue) } } - @inlinable var fillStyle: CanvasGradient_or_CanvasPattern_or_String { + @inlinable public var fillStyle: CanvasGradient_or_CanvasPattern_or_String { get { jsObject[Strings.fillStyle].fromJSValue()! } - nonmutating set { jsObject[Strings.fillStyle] = _toJSValue(newValue) } + set { jsObject[Strings.fillStyle] = _toJSValue(newValue) } } - @inlinable func createLinearGradient(x0: Double, y0: Double, x1: Double, y1: Double) -> CanvasGradient { + @inlinable public func createLinearGradient(x0: Double, y0: Double, x1: Double, y1: Double) -> CanvasGradient { let this = jsObject - return this[Strings.createLinearGradient].function!(this: this, arguments: [_toJSValue(x0), _toJSValue(y0), _toJSValue(x1), _toJSValue(y1)]).fromJSValue()! + return this[Strings.createLinearGradient].function!( + this: this, + arguments: [_toJSValue(x0), _toJSValue(y0), _toJSValue(x1), _toJSValue(y1)] + ).fromJSValue()! } - @inlinable func createRadialGradient(x0: Double, y0: Double, r0: Double, x1: Double, y1: Double, r1: Double) -> CanvasGradient { + @inlinable public func createRadialGradient( + x0: Double, + y0: Double, + r0: Double, + x1: Double, + y1: Double, + r1: Double + ) -> CanvasGradient { let this = jsObject - return this[Strings.createRadialGradient].function!(this: this, arguments: [_toJSValue(x0), _toJSValue(y0), _toJSValue(r0), _toJSValue(x1), _toJSValue(y1), _toJSValue(r1)]).fromJSValue()! + return this[Strings.createRadialGradient].function!( + this: this, + arguments: [_toJSValue(x0), _toJSValue(y0), _toJSValue(r0), _toJSValue(x1), _toJSValue(y1), _toJSValue(r1)] + ).fromJSValue()! } - @inlinable func createConicGradient(startAngle: Double, x: Double, y: Double) -> CanvasGradient { + @inlinable public func createConicGradient(startAngle: Double, x: Double, y: Double) -> CanvasGradient { let this = jsObject - return this[Strings.createConicGradient].function!(this: this, arguments: [_toJSValue(startAngle), _toJSValue(x), _toJSValue(y)]).fromJSValue()! + return this[Strings.createConicGradient].function!( + this: this, + arguments: [_toJSValue(startAngle), _toJSValue(x), _toJSValue(y)] + ).fromJSValue()! } - @inlinable func createPattern(image: CanvasImageSource, repetition: String) -> CanvasPattern? { + @inlinable public func createPattern(image: CanvasImageSource, repetition: String) -> CanvasPattern? { let this = jsObject - return this[Strings.createPattern].function!(this: this, arguments: [_toJSValue(image), _toJSValue(repetition)]).fromJSValue() + return this[Strings.createPattern].function!( + this: this, + arguments: [_toJSValue(image), _toJSValue(repetition)] + ).fromJSValue() } } - public protocol CanvasFilters: JSBridgedClass {} -public extension CanvasFilters { - @inlinable var filter: String { +extension CanvasFilters { + @inlinable public var filter: String { get { jsObject[Strings.filter].fromJSValue()! } - nonmutating set { jsObject[Strings.filter] = _toJSValue(newValue) } + set { jsObject[Strings.filter] = _toJSValue(newValue) } } } - public enum CanvasFontKerning: JSString, JSValueCompatible { case auto = "auto" case normal = "normal" case none = "none" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum CanvasFontStretch: JSString, JSValueCompatible { case ultraCondensed = "ultra-condensed" case extraCondensed = "extra-condensed" @@ -1783,19 +2052,14 @@ public enum CanvasFontStretch: JSString, JSValueCompatible { case ultraExpanded = "ultra-expanded" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum CanvasFontVariantCaps: JSString, JSValueCompatible { case normal = "normal" case smallCaps = "small-caps" @@ -1806,351 +2070,433 @@ public enum CanvasFontVariantCaps: JSString, JSValueCompatible { case titlingCaps = "titling-caps" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class CanvasGradient: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CanvasGradient].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func addColorStop(offset: Double, color: String) { + @inlinable final public func addColorStop(offset: Double, color: String) { let this = jsObject _ = this[Strings.addColorStop].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(color)]) } } public protocol CanvasImageData: JSBridgedClass {} -public extension CanvasImageData { - @inlinable func createImageData(sw: Int32, sh: Int32, settings: ImageDataSettings? = nil) -> ImageData { +extension CanvasImageData { + @inlinable public func createImageData(sw: Int32, sh: Int32, settings: ImageDataSettings? = nil) -> ImageData { let this = jsObject - return this[Strings.createImageData].function!(this: this, arguments: [_toJSValue(sw), _toJSValue(sh), _toJSValue(settings)]).fromJSValue()! + return this[Strings.createImageData].function!( + this: this, + arguments: [_toJSValue(sw), _toJSValue(sh), _toJSValue(settings)] + ).fromJSValue()! } - @inlinable func createImageData(imagedata: ImageData) -> ImageData { + @inlinable public func createImageData(imageData: ImageData) -> ImageData { let this = jsObject - return this[Strings.createImageData].function!(this: this, arguments: [_toJSValue(imagedata)]).fromJSValue()! + return this[Strings.createImageData].function!(this: this, arguments: [_toJSValue(imageData)]).fromJSValue()! } - @inlinable func getImageData(sx: Int32, sy: Int32, sw: Int32, sh: Int32, settings: ImageDataSettings? = nil) -> ImageData { + @inlinable public func getImageData( + sx: Int32, + sy: Int32, + sw: Int32, + sh: Int32, + settings: ImageDataSettings? = nil + ) -> ImageData { let this = jsObject - return this[Strings.getImageData].function!(this: this, arguments: [_toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(settings)]).fromJSValue()! + return this[Strings.getImageData].function!( + this: this, + arguments: [_toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(settings)] + ).fromJSValue()! } - @inlinable func putImageData(imagedata: ImageData, dx: Int32, dy: Int32) { + @inlinable public func putImageData(imageData: ImageData, dx: Int32, dy: Int32) { let this = jsObject - _ = this[Strings.putImageData].function!(this: this, arguments: [_toJSValue(imagedata), _toJSValue(dx), _toJSValue(dy)]) + _ = this[Strings.putImageData].function!( + this: this, + arguments: [_toJSValue(imageData), _toJSValue(dx), _toJSValue(dy)] + ) } - @inlinable func putImageData(imagedata: ImageData, dx: Int32, dy: Int32, dirtyX: Int32, dirtyY: Int32, dirtyWidth: Int32, dirtyHeight: Int32) { + @inlinable public func putImageData( + imageData: ImageData, + dx: Int32, + dy: Int32, + dirtyX: Int32, + dirtyY: Int32, + dirtyWidth: Int32, + dirtyHeight: Int32 + ) { let this = jsObject - _ = this[Strings.putImageData].function!(this: this, arguments: [_toJSValue(imagedata), _toJSValue(dx), _toJSValue(dy), _toJSValue(dirtyX), _toJSValue(dirtyY), _toJSValue(dirtyWidth), _toJSValue(dirtyHeight)]) + _ = this[Strings.putImageData].function!( + this: this, + arguments: [ + _toJSValue(imageData), _toJSValue(dx), _toJSValue(dy), _toJSValue(dirtyX), _toJSValue(dirtyY), + _toJSValue(dirtyWidth), _toJSValue(dirtyHeight), + ] + ) } } - public protocol CanvasImageSmoothing: JSBridgedClass {} -public extension CanvasImageSmoothing { - @inlinable var imageSmoothingEnabled: Bool { +extension CanvasImageSmoothing { + @inlinable public var imageSmoothingEnabled: Bool { get { jsObject[Strings.imageSmoothingEnabled].fromJSValue()! } - nonmutating set { jsObject[Strings.imageSmoothingEnabled] = _toJSValue(newValue) } + set { jsObject[Strings.imageSmoothingEnabled] = _toJSValue(newValue) } } - @inlinable var imageSmoothingQuality: ImageSmoothingQuality { + @inlinable public var imageSmoothingQuality: ImageSmoothingQuality { get { jsObject[Strings.imageSmoothingQuality].fromJSValue()! } - nonmutating set { jsObject[Strings.imageSmoothingQuality] = _toJSValue(newValue) } + set { jsObject[Strings.imageSmoothingQuality] = _toJSValue(newValue) } } } - public enum CanvasLineCap: JSString, JSValueCompatible { case butt = "butt" case round = "round" case square = "square" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum CanvasLineJoin: JSString, JSValueCompatible { case round = "round" case bevel = "bevel" case miter = "miter" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol CanvasPath: JSBridgedClass {} -public extension CanvasPath { - @inlinable func closePath() { +extension CanvasPath { + @inlinable public func closePath() { let this = jsObject _ = this[Strings.closePath].function!(this: this, arguments: []) } - @inlinable func moveTo(x: Double, y: Double) { + @inlinable public func moveTo(x: Double, y: Double) { let this = jsObject _ = this[Strings.moveTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable func lineTo(x: Double, y: Double) { + @inlinable public func lineTo(x: Double, y: Double) { let this = jsObject _ = this[Strings.lineTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable func quadraticCurveTo(cpx: Double, cpy: Double, x: Double, y: Double) { + @inlinable public func quadraticCurveTo(cpx: Double, cpy: Double, x: Double, y: Double) { let this = jsObject - _ = this[Strings.quadraticCurveTo].function!(this: this, arguments: [_toJSValue(cpx), _toJSValue(cpy), _toJSValue(x), _toJSValue(y)]) + _ = this[Strings.quadraticCurveTo].function!( + this: this, + arguments: [_toJSValue(cpx), _toJSValue(cpy), _toJSValue(x), _toJSValue(y)] + ) } - @inlinable func bezierCurveTo(cp1x: Double, cp1y: Double, cp2x: Double, cp2y: Double, x: Double, y: Double) { + @inlinable public func bezierCurveTo(cp1x: Double, cp1y: Double, cp2x: Double, cp2y: Double, x: Double, y: Double) { let this = jsObject - _ = this[Strings.bezierCurveTo].function!(this: this, arguments: [_toJSValue(cp1x), _toJSValue(cp1y), _toJSValue(cp2x), _toJSValue(cp2y), _toJSValue(x), _toJSValue(y)]) + _ = this[Strings.bezierCurveTo].function!( + this: this, + arguments: [ + _toJSValue(cp1x), _toJSValue(cp1y), _toJSValue(cp2x), _toJSValue(cp2y), _toJSValue(x), _toJSValue(y), + ] + ) } - @inlinable func arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radius: Double) { + @inlinable public func arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radius: Double) { let this = jsObject - _ = this[Strings.arcTo].function!(this: this, arguments: [_toJSValue(x1), _toJSValue(y1), _toJSValue(x2), _toJSValue(y2), _toJSValue(radius)]) + _ = this[Strings.arcTo].function!( + this: this, + arguments: [_toJSValue(x1), _toJSValue(y1), _toJSValue(x2), _toJSValue(y2), _toJSValue(radius)] + ) } - @inlinable func rect(x: Double, y: Double, w: Double, h: Double) { + @inlinable public func rect(x: Double, y: Double, w: Double, h: Double) { let this = jsObject - _ = this[Strings.rect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)]) + _ = this[Strings.rect].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)] + ) } - @inlinable func roundRect(x: Double, y: Double, w: Double, h: Double, radii: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double? = nil) { + @inlinable public func roundRect( + x: Double, + y: Double, + w: Double, + h: Double, + radii: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double? = nil + ) { let this = jsObject - _ = this[Strings.roundRect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h), _toJSValue(radii)]) + _ = this[Strings.roundRect].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h), _toJSValue(radii)] + ) } - @inlinable func arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double, counterclockwise: Bool? = nil) { + @inlinable public func arc( + x: Double, + y: Double, + radius: Double, + startAngle: Double, + endAngle: Double, + counterclockwise: Bool? = nil + ) { let this = jsObject - _ = this[Strings.arc].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(radius), _toJSValue(startAngle), _toJSValue(endAngle), _toJSValue(counterclockwise)]) + _ = this[Strings.arc].function!( + this: this, + arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(radius), _toJSValue(startAngle), _toJSValue(endAngle), + _toJSValue(counterclockwise), + ] + ) } - @inlinable func ellipse(x: Double, y: Double, radiusX: Double, radiusY: Double, rotation: Double, startAngle: Double, endAngle: Double, counterclockwise: Bool? = nil) { + @inlinable public func ellipse( + x: Double, + y: Double, + radiusX: Double, + radiusY: Double, + rotation: Double, + startAngle: Double, + endAngle: Double, + counterclockwise: Bool? = nil + ) { let this = jsObject - _ = this[Strings.ellipse].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(radiusX), _toJSValue(radiusY), _toJSValue(rotation), _toJSValue(startAngle), _toJSValue(endAngle), _toJSValue(counterclockwise)]) + _ = this[Strings.ellipse].function!( + this: this, + arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(radiusX), _toJSValue(radiusY), _toJSValue(rotation), + _toJSValue(startAngle), _toJSValue(endAngle), _toJSValue(counterclockwise), + ] + ) } } - public protocol CanvasPathDrawingStyles: JSBridgedClass {} -public extension CanvasPathDrawingStyles { - @inlinable var lineWidth: Double { +extension CanvasPathDrawingStyles { + @inlinable public var lineWidth: Double { get { jsObject[Strings.lineWidth].fromJSValue()! } - nonmutating set { jsObject[Strings.lineWidth] = _toJSValue(newValue) } + set { jsObject[Strings.lineWidth] = _toJSValue(newValue) } } - @inlinable var lineCap: CanvasLineCap { + @inlinable public var lineCap: CanvasLineCap { get { jsObject[Strings.lineCap].fromJSValue()! } - nonmutating set { jsObject[Strings.lineCap] = _toJSValue(newValue) } + set { jsObject[Strings.lineCap] = _toJSValue(newValue) } } - @inlinable var lineJoin: CanvasLineJoin { + @inlinable public var lineJoin: CanvasLineJoin { get { jsObject[Strings.lineJoin].fromJSValue()! } - nonmutating set { jsObject[Strings.lineJoin] = _toJSValue(newValue) } + set { jsObject[Strings.lineJoin] = _toJSValue(newValue) } } - @inlinable var miterLimit: Double { + @inlinable public var miterLimit: Double { get { jsObject[Strings.miterLimit].fromJSValue()! } - nonmutating set { jsObject[Strings.miterLimit] = _toJSValue(newValue) } + set { jsObject[Strings.miterLimit] = _toJSValue(newValue) } } - @inlinable func setLineDash(segments: [Double]) { + @inlinable public func setLineDash(segments: [Double]) { let this = jsObject _ = this[Strings.setLineDash].function!(this: this, arguments: [_toJSValue(segments)]) } - @inlinable func getLineDash() -> [Double] { + @inlinable public func getLineDash() -> [Double] { let this = jsObject return this[Strings.getLineDash].function!(this: this, arguments: []).fromJSValue()! } - @inlinable var lineDashOffset: Double { + @inlinable public var lineDashOffset: Double { get { jsObject[Strings.lineDashOffset].fromJSValue()! } - nonmutating set { jsObject[Strings.lineDashOffset] = _toJSValue(newValue) } + set { jsObject[Strings.lineDashOffset] = _toJSValue(newValue) } } } - public class CanvasPattern: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CanvasPattern].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func setTransform(transform: DOMMatrix2DInit? = nil) { + @inlinable final public func setTransform(transform: DOMMatrix2DInit? = nil) { let this = jsObject _ = this[Strings.setTransform].function!(this: this, arguments: [_toJSValue(transform)]) } } public protocol CanvasRect: JSBridgedClass {} -public extension CanvasRect { - @inlinable func clearRect(x: Double, y: Double, w: Double, h: Double) { +extension CanvasRect { + @inlinable public func clearRect(x: Double, y: Double, w: Double, h: Double) { let this = jsObject - _ = this[Strings.clearRect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)]) + _ = this[Strings.clearRect].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)] + ) } - @inlinable func fillRect(x: Double, y: Double, w: Double, h: Double) { + @inlinable public func fillRect(x: Double, y: Double, w: Double, h: Double) { let this = jsObject - _ = this[Strings.fillRect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)]) + _ = this[Strings.fillRect].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)] + ) } - @inlinable func strokeRect(x: Double, y: Double, w: Double, h: Double) { + @inlinable public func strokeRect(x: Double, y: Double, w: Double, h: Double) { let this = jsObject - _ = this[Strings.strokeRect].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)]) + _ = this[Strings.strokeRect].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(w), _toJSValue(h)] + ) } } - -public class CanvasRenderingContext2D: JSBridgedClass, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath { +public class CanvasRenderingContext2D: JSBridgedClass, CanvasSettings, CanvasState, CanvasTransform, CanvasCompositing, + CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, + CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, + CanvasPath +{ @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CanvasRenderingContext2D].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _canvas = ReadonlyAttribute(jsObject: jsObject, name: Strings.canvas) - self.jsObject = jsObject - } - - @ReadonlyAttribute - public var canvas: HTMLCanvasElement + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func getContextAttributes() -> CanvasRenderingContext2DSettings { - let this = jsObject - return this[Strings.getContextAttributes].function!(this: this, arguments: []).fromJSValue()! - } + @inlinable public var canvas: HTMLCanvasElement { jsObject[Strings.canvas].fromJSValue()! } } -public class CanvasRenderingContext2DSettings: BridgedDictionary { - public convenience init(alpha: Bool, desynchronized: Bool, colorSpace: PredefinedColorSpace, willReadFrequently: Bool) { +open class CanvasRenderingContext2DSettings: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + alpha: Bool? = nil, + desynchronized: Bool? = nil, + colorSpace: PredefinedColorSpace? = nil, + colorType: CanvasColorType? = nil, + willReadFrequently: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.alpha] = _toJSValue(alpha) object[Strings.desynchronized] = _toJSValue(desynchronized) object[Strings.colorSpace] = _toJSValue(colorSpace) + object[Strings.colorType] = _toJSValue(colorType) object[Strings.willReadFrequently] = _toJSValue(willReadFrequently) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) - _desynchronized = ReadWriteAttribute(jsObject: object, name: Strings.desynchronized) - _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) - _willReadFrequently = ReadWriteAttribute(jsObject: object, name: Strings.willReadFrequently) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var alpha: Bool? - - @ReadWriteAttribute - public var desynchronized: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var colorSpace: PredefinedColorSpace? - - @ReadWriteAttribute - public var willReadFrequently: Bool? + @inlinable public var alpha: Bool { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } + @inlinable public var desynchronized: Bool { + get { jsObject[Strings.desynchronized].fromJSValue()! } + set { jsObject[Strings.desynchronized] = _toJSValue(newValue) } + } + @inlinable public var colorSpace: PredefinedColorSpace { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } + @inlinable public var colorType: CanvasColorType { + get { jsObject[Strings.colorType].fromJSValue()! } + set { jsObject[Strings.colorType] = _toJSValue(newValue) } + } + @inlinable public var willReadFrequently: Bool { + get { jsObject[Strings.willReadFrequently].fromJSValue()! } + set { jsObject[Strings.willReadFrequently] = _toJSValue(newValue) } + } +} +public protocol CanvasSettings: JSBridgedClass {} +extension CanvasSettings { + @inlinable public func getContextAttributes() -> CanvasRenderingContext2DSettings { + let this = jsObject + return this[Strings.getContextAttributes].function!(this: this, arguments: []).fromJSValue()! + } } - public protocol CanvasShadowStyles: JSBridgedClass {} -public extension CanvasShadowStyles { - @inlinable var shadowOffsetX: Double { +extension CanvasShadowStyles { + @inlinable public var shadowOffsetX: Double { get { jsObject[Strings.shadowOffsetX].fromJSValue()! } - nonmutating set { jsObject[Strings.shadowOffsetX] = _toJSValue(newValue) } + set { jsObject[Strings.shadowOffsetX] = _toJSValue(newValue) } } - @inlinable var shadowOffsetY: Double { + @inlinable public var shadowOffsetY: Double { get { jsObject[Strings.shadowOffsetY].fromJSValue()! } - nonmutating set { jsObject[Strings.shadowOffsetY] = _toJSValue(newValue) } + set { jsObject[Strings.shadowOffsetY] = _toJSValue(newValue) } } - @inlinable var shadowBlur: Double { + @inlinable public var shadowBlur: Double { get { jsObject[Strings.shadowBlur].fromJSValue()! } - nonmutating set { jsObject[Strings.shadowBlur] = _toJSValue(newValue) } + set { jsObject[Strings.shadowBlur] = _toJSValue(newValue) } } - @inlinable var shadowColor: String { + @inlinable public var shadowColor: String { get { jsObject[Strings.shadowColor].fromJSValue()! } - nonmutating set { jsObject[Strings.shadowColor] = _toJSValue(newValue) } + set { jsObject[Strings.shadowColor] = _toJSValue(newValue) } } } - public protocol CanvasState: JSBridgedClass {} -public extension CanvasState { - @inlinable func save() { +extension CanvasState { + @inlinable public func save() { let this = jsObject _ = this[Strings.save].function!(this: this, arguments: []) } - @inlinable func restore() { + @inlinable public func restore() { let this = jsObject _ = this[Strings.restore].function!(this: this, arguments: []) } - @inlinable func reset() { + @inlinable public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable func isContextLost() -> Bool { + @inlinable public func isContextLost() -> Bool { let this = jsObject return this[Strings.isContextLost].function!(this: this, arguments: []).fromJSValue()! } } - public protocol CanvasText: JSBridgedClass {} -public extension CanvasText { - @inlinable func fillText(text: String, x: Double, y: Double, maxWidth: Double? = nil) { +extension CanvasText { + @inlinable public func fillText(text: String, x: Double, y: Double, maxWidth: Double? = nil) { let this = jsObject - _ = this[Strings.fillText].function!(this: this, arguments: [_toJSValue(text), _toJSValue(x), _toJSValue(y), _toJSValue(maxWidth)]) + _ = this[Strings.fillText].function!( + this: this, + arguments: [_toJSValue(text), _toJSValue(x), _toJSValue(y), _toJSValue(maxWidth)] + ) } - @inlinable func strokeText(text: String, x: Double, y: Double, maxWidth: Double? = nil) { + @inlinable public func strokeText(text: String, x: Double, y: Double, maxWidth: Double? = nil) { let this = jsObject - _ = this[Strings.strokeText].function!(this: this, arguments: [_toJSValue(text), _toJSValue(x), _toJSValue(y), _toJSValue(maxWidth)]) + _ = this[Strings.strokeText].function!( + this: this, + arguments: [_toJSValue(text), _toJSValue(x), _toJSValue(y), _toJSValue(maxWidth)] + ) } - @inlinable func measureText(text: String) -> TextMetrics { + @inlinable public func measureText(text: String) -> TextMetrics { let this = jsObject return this[Strings.measureText].function!(this: this, arguments: [_toJSValue(text)]).fromJSValue()! } } - public enum CanvasTextAlign: JSString, JSValueCompatible { case start = "start" case end = "end" @@ -2159,19 +2505,14 @@ public enum CanvasTextAlign: JSString, JSValueCompatible { case center = "center" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum CanvasTextBaseline: JSString, JSValueCompatible { case top = "top" case hanging = "hanging" @@ -2181,72 +2522,71 @@ public enum CanvasTextBaseline: JSString, JSValueCompatible { case bottom = "bottom" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol CanvasTextDrawingStyles: JSBridgedClass {} -public extension CanvasTextDrawingStyles { - @inlinable var font: String { +extension CanvasTextDrawingStyles { + @inlinable public var lang: String { + get { jsObject[Strings.lang].fromJSValue()! } + set { jsObject[Strings.lang] = _toJSValue(newValue) } + } + + @inlinable public var font: String { get { jsObject[Strings.font].fromJSValue()! } - nonmutating set { jsObject[Strings.font] = _toJSValue(newValue) } + set { jsObject[Strings.font] = _toJSValue(newValue) } } - @inlinable var textAlign: CanvasTextAlign { + @inlinable public var textAlign: CanvasTextAlign { get { jsObject[Strings.textAlign].fromJSValue()! } - nonmutating set { jsObject[Strings.textAlign] = _toJSValue(newValue) } + set { jsObject[Strings.textAlign] = _toJSValue(newValue) } } - @inlinable var textBaseline: CanvasTextBaseline { + @inlinable public var textBaseline: CanvasTextBaseline { get { jsObject[Strings.textBaseline].fromJSValue()! } - nonmutating set { jsObject[Strings.textBaseline] = _toJSValue(newValue) } + set { jsObject[Strings.textBaseline] = _toJSValue(newValue) } } - @inlinable var direction: CanvasDirection { + @inlinable public var direction: CanvasDirection { get { jsObject[Strings.direction].fromJSValue()! } - nonmutating set { jsObject[Strings.direction] = _toJSValue(newValue) } + set { jsObject[Strings.direction] = _toJSValue(newValue) } } - @inlinable var letterSpacing: String { + @inlinable public var letterSpacing: String { get { jsObject[Strings.letterSpacing].fromJSValue()! } - nonmutating set { jsObject[Strings.letterSpacing] = _toJSValue(newValue) } + set { jsObject[Strings.letterSpacing] = _toJSValue(newValue) } } - @inlinable var fontKerning: CanvasFontKerning { + @inlinable public var fontKerning: CanvasFontKerning { get { jsObject[Strings.fontKerning].fromJSValue()! } - nonmutating set { jsObject[Strings.fontKerning] = _toJSValue(newValue) } + set { jsObject[Strings.fontKerning] = _toJSValue(newValue) } } - @inlinable var fontStretch: CanvasFontStretch { + @inlinable public var fontStretch: CanvasFontStretch { get { jsObject[Strings.fontStretch].fromJSValue()! } - nonmutating set { jsObject[Strings.fontStretch] = _toJSValue(newValue) } + set { jsObject[Strings.fontStretch] = _toJSValue(newValue) } } - @inlinable var fontVariantCaps: CanvasFontVariantCaps { + @inlinable public var fontVariantCaps: CanvasFontVariantCaps { get { jsObject[Strings.fontVariantCaps].fromJSValue()! } - nonmutating set { jsObject[Strings.fontVariantCaps] = _toJSValue(newValue) } + set { jsObject[Strings.fontVariantCaps] = _toJSValue(newValue) } } - @inlinable var textRendering: CanvasTextRendering { + @inlinable public var textRendering: CanvasTextRendering { get { jsObject[Strings.textRendering].fromJSValue()! } - nonmutating set { jsObject[Strings.textRendering] = _toJSValue(newValue) } + set { jsObject[Strings.textRendering] = _toJSValue(newValue) } } - @inlinable var wordSpacing: String { + @inlinable public var wordSpacing: String { get { jsObject[Strings.wordSpacing].fromJSValue()! } - nonmutating set { jsObject[Strings.wordSpacing] = _toJSValue(newValue) } + set { jsObject[Strings.wordSpacing] = _toJSValue(newValue) } } } - public enum CanvasTextRendering: JSString, JSValueCompatible { case auto = "auto" case optimizeSpeed = "optimizeSpeed" @@ -2254,214 +2594,237 @@ public enum CanvasTextRendering: JSString, JSValueCompatible { case geometricPrecision = "geometricPrecision" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol CanvasTransform: JSBridgedClass {} -public extension CanvasTransform { - @inlinable func scale(x: Double, y: Double) { +extension CanvasTransform { + @inlinable public func scale(x: Double, y: Double) { let this = jsObject _ = this[Strings.scale].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable func rotate(angle: Double) { + @inlinable public func rotate(angle: Double) { let this = jsObject _ = this[Strings.rotate].function!(this: this, arguments: [_toJSValue(angle)]) } - @inlinable func translate(x: Double, y: Double) { + @inlinable public func translate(x: Double, y: Double) { let this = jsObject _ = this[Strings.translate].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable func transform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) { + @inlinable public func transform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) { let this = jsObject - _ = this[Strings.transform].function!(this: this, arguments: [_toJSValue(a), _toJSValue(b), _toJSValue(c), _toJSValue(d), _toJSValue(e), _toJSValue(f)]) + _ = this[Strings.transform].function!( + this: this, + arguments: [_toJSValue(a), _toJSValue(b), _toJSValue(c), _toJSValue(d), _toJSValue(e), _toJSValue(f)] + ) } - @inlinable func getTransform() -> DOMMatrix { + @inlinable public func getTransform() -> DOMMatrix { let this = jsObject return this[Strings.getTransform].function!(this: this, arguments: []).fromJSValue()! } - @inlinable func setTransform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) { + @inlinable public func setTransform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) { let this = jsObject - _ = this[Strings.setTransform].function!(this: this, arguments: [_toJSValue(a), _toJSValue(b), _toJSValue(c), _toJSValue(d), _toJSValue(e), _toJSValue(f)]) + _ = this[Strings.setTransform].function!( + this: this, + arguments: [_toJSValue(a), _toJSValue(b), _toJSValue(c), _toJSValue(d), _toJSValue(e), _toJSValue(f)] + ) } - @inlinable func setTransform(transform: DOMMatrix2DInit? = nil) { + @inlinable public func setTransform(transform: DOMMatrix2DInit? = nil) { let this = jsObject _ = this[Strings.setTransform].function!(this: this, arguments: [_toJSValue(transform)]) } - @inlinable func resetTransform() { + @inlinable public func resetTransform() { let this = jsObject _ = this[Strings.resetTransform].function!(this: this, arguments: []) } } - public protocol CanvasUserInterface: JSBridgedClass {} -public extension CanvasUserInterface { - @inlinable func drawFocusIfNeeded(element: Element) { +extension CanvasUserInterface { + @inlinable public func drawFocusIfNeeded(element: Element) { let this = jsObject _ = this[Strings.drawFocusIfNeeded].function!(this: this, arguments: [_toJSValue(element)]) } - @inlinable func drawFocusIfNeeded(path: Path2D, element: Element) { + @inlinable public func drawFocusIfNeeded(path: Path2D, element: Element) { let this = jsObject _ = this[Strings.drawFocusIfNeeded].function!(this: this, arguments: [_toJSValue(path), _toJSValue(element)]) } - - @inlinable func scrollPathIntoView() { - let this = jsObject - _ = this[Strings.scrollPathIntoView].function!(this: this, arguments: []) - } - - @inlinable func scrollPathIntoView(path: Path2D) { - let this = jsObject - _ = this[Strings.scrollPathIntoView].function!(this: this, arguments: [_toJSValue(path)]) - } } - public class CaretPosition: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CaretPosition].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _offsetNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetNode) - _offset = ReadonlyAttribute(jsObject: jsObject, name: Strings.offset) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var offsetNode: Node + @inlinable public var offsetNode: Node { jsObject[Strings.offsetNode].fromJSValue()! } - @ReadonlyAttribute - public var offset: UInt32 + @inlinable public var offset: UInt32 { jsObject[Strings.offset].fromJSValue()! } - @inlinable public func getClientRect() -> DOMRect? { + @inlinable final public func getClientRect() -> DOMRect? { let this = jsObject return this[Strings.getClientRect].function!(this: this, arguments: []).fromJSValue() } } -public class CharacterData: Node, NonDocumentTypeChildNode, ChildNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CharacterData].function } +open class CaretPositionFromPointOptions: JSDictionaryCompatible { + public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _data = ReadWriteAttribute(jsObject: jsObject, name: Strings.data) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - super.init(unsafelyWrapping: jsObject) + public convenience init(shadowRoots: [ShadowRoot]? = nil) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.shadowRoots] = _toJSValue(shadowRoots) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var shadowRoots: [ShadowRoot] { + get { jsObject[Strings.shadowRoots].fromJSValue()! } + set { jsObject[Strings.shadowRoots] = _toJSValue(newValue) } } +} +public class CharacterData: Node, NonDocumentTypeChildNode, ChildNode { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CharacterData].function } - @ReadWriteAttribute - public var data: String + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var data: String { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } + + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public func substringData(offset: UInt32, count: UInt32) -> String { + @inlinable final public func substringData(offset: UInt32, count: UInt32) -> String { let this = jsObject - return this[Strings.substringData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(count)]).fromJSValue()! + return this[Strings.substringData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(count)]) + .fromJSValue()! } - @inlinable public func appendData(data: String) { + @inlinable final public func appendData(data: String) { let this = jsObject _ = this[Strings.appendData].function!(this: this, arguments: [_toJSValue(data)]) } - @inlinable public func insertData(offset: UInt32, data: String) { + @inlinable final public func insertData(offset: UInt32, data: String) { let this = jsObject _ = this[Strings.insertData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(data)]) } - @inlinable public func deleteData(offset: UInt32, count: UInt32) { + @inlinable final public func deleteData(offset: UInt32, count: UInt32) { let this = jsObject _ = this[Strings.deleteData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(count)]) } - @inlinable public func replaceData(offset: UInt32, count: UInt32, data: String) { + @inlinable final public func replaceData(offset: UInt32, count: UInt32, data: String) { let this = jsObject - _ = this[Strings.replaceData].function!(this: this, arguments: [_toJSValue(offset), _toJSValue(count), _toJSValue(data)]) + _ = this[Strings.replaceData].function!( + this: this, + arguments: [_toJSValue(offset), _toJSValue(count), _toJSValue(data)] + ) } } -public class CheckVisibilityOptions: BridgedDictionary { - public convenience init(checkOpacity: Bool, checkVisibilityCSS: Bool) { +open class CheckVisibilityOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + checkOpacity: Bool? = nil, + checkVisibilityCSS: Bool? = nil, + contentVisibilityAuto: Bool? = nil, + opacityProperty: Bool? = nil, + visibilityProperty: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.checkOpacity] = _toJSValue(checkOpacity) object[Strings.checkVisibilityCSS] = _toJSValue(checkVisibilityCSS) - self.init(unsafelyWrapping: object) - } + object[Strings.contentVisibilityAuto] = _toJSValue(contentVisibilityAuto) + object[Strings.opacityProperty] = _toJSValue(opacityProperty) + object[Strings.visibilityProperty] = _toJSValue(visibilityProperty) - public required init(unsafelyWrapping object: JSObject) { - _checkOpacity = ReadWriteAttribute(jsObject: object, name: Strings.checkOpacity) - _checkVisibilityCSS = ReadWriteAttribute(jsObject: object, name: Strings.checkVisibilityCSS) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var checkOpacity: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var checkVisibilityCSS: Bool? + @inlinable public var checkOpacity: Bool { + get { jsObject[Strings.checkOpacity].fromJSValue()! } + set { jsObject[Strings.checkOpacity] = _toJSValue(newValue) } + } + @inlinable public var checkVisibilityCSS: Bool { + get { jsObject[Strings.checkVisibilityCSS].fromJSValue()! } + set { jsObject[Strings.checkVisibilityCSS] = _toJSValue(newValue) } + } + @inlinable public var contentVisibilityAuto: Bool { + get { jsObject[Strings.contentVisibilityAuto].fromJSValue()! } + set { jsObject[Strings.contentVisibilityAuto] = _toJSValue(newValue) } + } + @inlinable public var opacityProperty: Bool { + get { jsObject[Strings.opacityProperty].fromJSValue()! } + set { jsObject[Strings.opacityProperty] = _toJSValue(newValue) } + } + @inlinable public var visibilityProperty: Bool { + get { jsObject[Strings.visibilityProperty].fromJSValue()! } + set { jsObject[Strings.visibilityProperty] = _toJSValue(newValue) } + } } - public protocol ChildNode: JSBridgedClass {} -public extension ChildNode { - @inlinable func before(nodes: Node_or_String...) { +extension ChildNode { + @inlinable public func before(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.before].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable func after(nodes: Node_or_String...) { + @inlinable public func after(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.after].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable func replaceWith(nodes: Node_or_String...) { + @inlinable public func replaceWith(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.replaceWith].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable func remove() { + @inlinable public func remove() { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: []) } } +open class ClientQueryOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ClientQueryOptions: BridgedDictionary { - public convenience init(includeUncontrolled: Bool, type: ClientType) { + public convenience init(includeUncontrolled: Bool? = nil, type: ClientType? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.includeUncontrolled] = _toJSValue(includeUncontrolled) object[Strings.type] = _toJSValue(type) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _includeUncontrolled = ReadWriteAttribute(jsObject: object, name: Strings.includeUncontrolled) - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var includeUncontrolled: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var type: ClientType? + @inlinable public var includeUncontrolled: Bool { + get { jsObject[Strings.includeUncontrolled].fromJSValue()! } + set { jsObject[Strings.includeUncontrolled] = _toJSValue(newValue) } + } + @inlinable public var type: ClientType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } } - public enum ClientType: JSString, JSValueCompatible { case window = "window" case worker = "worker" @@ -2469,62 +2832,159 @@ public enum ClientType: JSString, JSValueCompatible { case all = "all" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +public class CloseWatcher: EventTarget { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CloseWatcher].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init(options: CloseWatcherOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(options)])) + } + + @inlinable final public func requestClose() { + let this = jsObject + _ = this[Strings.requestClose].function!(this: this, arguments: []) + } + + @inlinable final public func close() { + let this = jsObject + _ = this[Strings.close].function!(this: this, arguments: []) + } + + @inlinable final public func destroy() { + let this = jsObject + _ = this[Strings.destroy].function!(this: this, arguments: []) + } + + @inlinable public var oncancel: EventHandler { + get { + guard let function = jsObject[Strings.oncancel].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncancel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncancel] = .null + } + } + } + + @inlinable public var onclose: EventHandler { + get { + guard let function = jsObject[Strings.onclose].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onclose] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onclose] = .null + } + } + } +} + +open class CloseWatcherOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(signal: AbortSignal? = nil) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.signal] = _toJSValue(signal) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + @inlinable public var signal: AbortSignal { + get { jsObject[Strings.signal].fromJSValue()! } + set { jsObject[Strings.signal] = _toJSValue(newValue) } + } +} public enum CodecState: JSString, JSValueCompatible { case unconfigured = "unconfigured" case configured = "configured" case closed = "closed" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ColorSpaceConversion: JSString, JSValueCompatible { case none = "none" case `default` = "default" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +public class CommandEvent: Event { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CommandEvent].function } -public class Comment: CharacterData { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Comment].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init(type: String, eventInitDict: CommandEventInit? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) + } + + @inlinable public var source: Element? { jsObject[Strings.source].fromJSValue() } + + @inlinable public var command: String { jsObject[Strings.command].fromJSValue()! } +} + +open class CommandEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + source: Element?, + command: String? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) + object[Strings.source] = _toJSValue(source) + object[Strings.command] = _toJSValue(command) + + self.init(unsafelyWrapping: object) + } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + + @inlinable public var source: Element? { + get { jsObject[Strings.source].fromJSValue() } + set { jsObject[Strings.source] = _toJSValue(newValue) } + } + @inlinable public var command: String { + get { jsObject[Strings.command].fromJSValue()! } + set { jsObject[Strings.command] = _toJSValue(newValue) } } +} +public class Comment: CharacterData { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Comment].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(data: String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(data)])) @@ -2532,167 +2992,179 @@ public class Comment: CharacterData { } public class CompositionEvent: UIEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CompositionEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CompositionEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: CompositionEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var data: String + @inlinable public var data: String { jsObject[Strings.data].fromJSValue()! } - @inlinable public func initCompositionEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, viewArg: WindowProxy? = nil, dataArg: String? = nil) { + @inlinable final public func initCompositionEvent( + typeArg: String, + bubblesArg: Bool? = nil, + cancelableArg: Bool? = nil, + viewArg: WindowProxy? = nil, + dataArg: String? = nil + ) { let this = jsObject - _ = this[Strings.initCompositionEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), _toJSValue(dataArg)]) + _ = this[Strings.initCompositionEvent].function!( + this: this, + arguments: [ + _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), + _toJSValue(dataArg), + ] + ) } } -public class CompositionEventInit: BridgedDictionary { - public convenience init(data: String) { +open class CompositionEventInit: UIEventInit { + + public convenience init(view: Window?, detail: Int32? = nil, which: UInt32? = nil, data: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.view] = _toJSValue(view) + object[Strings.detail] = _toJSValue(detail) + object[Strings.which] = _toJSValue(which) object[Strings.data] = _toJSValue(data) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var data: String? + @inlinable public var data: String { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } } +open class ConstrainBooleanParameters: JSDictionaryCompatible { + public let jsObject: JSObject -public class ConstrainBooleanParameters: BridgedDictionary { - public convenience init(exact: Bool, ideal: Bool) { + public convenience init(exact: Bool? = nil, ideal: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.exact] = _toJSValue(exact) object[Strings.ideal] = _toJSValue(ideal) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _exact = ReadWriteAttribute(jsObject: object, name: Strings.exact) - _ideal = ReadWriteAttribute(jsObject: object, name: Strings.ideal) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var exact: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var ideal: Bool? + @inlinable public var exact: Bool { + get { jsObject[Strings.exact].fromJSValue()! } + set { jsObject[Strings.exact] = _toJSValue(newValue) } + } + @inlinable public var ideal: Bool { + get { jsObject[Strings.ideal].fromJSValue()! } + set { jsObject[Strings.ideal] = _toJSValue(newValue) } + } } +open class ConstrainDOMStringParameters: JSDictionaryCompatible { + public let jsObject: JSObject -public class ConstrainDOMStringParameters: BridgedDictionary { - public convenience init(exact: String_or_seq_of_String, ideal: String_or_seq_of_String) { + public convenience init(exact: String_or_seq_of_String? = nil, ideal: String_or_seq_of_String? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.exact] = _toJSValue(exact) object[Strings.ideal] = _toJSValue(ideal) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _exact = ReadWriteAttribute(jsObject: object, name: Strings.exact) - _ideal = ReadWriteAttribute(jsObject: object, name: Strings.ideal) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var exact: String_or_seq_of_String? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var ideal: String_or_seq_of_String? + @inlinable public var exact: String_or_seq_of_String { + get { jsObject[Strings.exact].fromJSValue()! } + set { jsObject[Strings.exact] = _toJSValue(newValue) } + } + @inlinable public var ideal: String_or_seq_of_String { + get { jsObject[Strings.ideal].fromJSValue()! } + set { jsObject[Strings.ideal] = _toJSValue(newValue) } + } } +open class ConstrainDoubleRange: DoubleRange { -public class ConstrainDoubleRange: BridgedDictionary { - public convenience init(exact: Double, ideal: Double) { + public convenience init(max: Double? = nil, min: Double? = nil, exact: Double? = nil, ideal: Double? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.max] = _toJSValue(max) + object[Strings.min] = _toJSValue(min) object[Strings.exact] = _toJSValue(exact) object[Strings.ideal] = _toJSValue(ideal) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _exact = ReadWriteAttribute(jsObject: object, name: Strings.exact) - _ideal = ReadWriteAttribute(jsObject: object, name: Strings.ideal) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var exact: Double? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var ideal: Double? + @inlinable public var exact: Double { + get { jsObject[Strings.exact].fromJSValue()! } + set { jsObject[Strings.exact] = _toJSValue(newValue) } + } + @inlinable public var ideal: Double { + get { jsObject[Strings.ideal].fromJSValue()! } + set { jsObject[Strings.ideal] = _toJSValue(newValue) } + } } +open class ConstrainULongRange: ULongRange { -public class ConstrainULongRange: BridgedDictionary { - public convenience init(exact: UInt32, ideal: UInt32) { + public convenience init(max: UInt32? = nil, min: UInt32? = nil, exact: UInt32? = nil, ideal: UInt32? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.max] = _toJSValue(max) + object[Strings.min] = _toJSValue(min) object[Strings.exact] = _toJSValue(exact) object[Strings.ideal] = _toJSValue(ideal) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _exact = ReadWriteAttribute(jsObject: object, name: Strings.exact) - _ideal = ReadWriteAttribute(jsObject: object, name: Strings.ideal) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var exact: UInt32? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var ideal: UInt32? + @inlinable public var exact: UInt32 { + get { jsObject[Strings.exact].fromJSValue()! } + set { jsObject[Strings.exact] = _toJSValue(newValue) } + } + @inlinable public var ideal: UInt32 { + get { jsObject[Strings.ideal].fromJSValue()! } + set { jsObject[Strings.ideal] = _toJSValue(newValue) } + } } +open class ConvertCoordinateOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ConvertCoordinateOptions: BridgedDictionary { - public convenience init(fromBox: CSSBoxType, toBox: CSSBoxType) { + public convenience init(fromBox: CSSBoxType? = nil, toBox: CSSBoxType? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.fromBox] = _toJSValue(fromBox) object[Strings.toBox] = _toJSValue(toBox) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _fromBox = ReadWriteAttribute(jsObject: object, name: Strings.fromBox) - _toBox = ReadWriteAttribute(jsObject: object, name: Strings.toBox) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var fromBox: CSSBoxType? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var toBox: CSSBoxType? + @inlinable public var fromBox: CSSBoxType { + get { jsObject[Strings.fromBox].fromJSValue()! } + set { jsObject[Strings.fromBox] = _toJSValue(newValue) } + } + @inlinable public var toBox: CSSBoxType { + get { jsObject[Strings.toBox].fromJSValue()! } + set { jsObject[Strings.toBox] = _toJSValue(newValue) } + } } - public class CountQueuingStrategy: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CountQueuingStrategy].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _highWaterMark = ReadonlyAttribute(jsObject: jsObject, name: Strings.highWaterMark) - _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: QueuingStrategyInit) { + @inlinable public convenience init(`init`: QueuingStrategyInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var highWaterMark: Double + @inlinable public var highWaterMark: Double { jsObject[Strings.highWaterMark].fromJSValue()! } - @ReadonlyAttribute - public var size: JSFunction + @inlinable public var size: JSFunction { jsObject[Strings.size].fromJSValue()! } } public class CustomElementRegistry: JSBridgedClass { @@ -2700,78 +3172,109 @@ public class CustomElementRegistry: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func define(name: String, constructor: CustomElementConstructor, options: ElementDefinitionOptions? = nil) { + @inlinable final public func define( + name: String, + constructor: CustomElementConstructor, + options: ElementDefinitionOptions? = nil + ) { let this = jsObject - _ = this[Strings.define].function!(this: this, arguments: [_toJSValue(name), _toJSValue(constructor), _toJSValue(options)]) + _ = this[Strings.define].function!( + this: this, + arguments: [_toJSValue(name), _toJSValue(constructor), _toJSValue(options)] + ) } - @inlinable public func get(name: String) -> CustomElementConstructor? { + @inlinable final public func get(name: String) -> CustomElementConstructor? { let this = jsObject return this[Strings.get].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @inlinable public func getName(constructor: CustomElementConstructor) -> String? { + @inlinable final public func getName(constructor: CustomElementConstructor) -> String? { let this = jsObject return this[Strings.getName].function!(this: this, arguments: [_toJSValue(constructor)]).fromJSValue() } - @inlinable public func whenDefined(name: String) -> JSPromise { + @inlinable final public func whenDefined(name: String) -> JSPromise { let this = jsObject return this[Strings.whenDefined].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func whenDefined(name: String) async throws -> CustomElementConstructor { - let this = jsObject - let _promise: JSPromise = this[Strings.whenDefined].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func whenDefined( + name: String + ) async throws(JSException) -> CustomElementConstructor { + let this = jsObject + let _promise: JSPromise = this[Strings.whenDefined].function!(this: this, arguments: [_toJSValue(name)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func upgrade(root: Node) { + @inlinable final public func upgrade(root: Node) { let this = jsObject _ = this[Strings.upgrade].function!(this: this, arguments: [_toJSValue(root)]) } } public class CustomEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.CustomEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.CustomEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _detail = ReadonlyAttribute(jsObject: jsObject, name: Strings.detail) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: CustomEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var detail: JSValue + @inlinable public var detail: JSValue { jsObject[Strings.detail].fromJSValue()! } - @inlinable public func initCustomEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil, detail: JSValue? = nil) { + @inlinable final public func initCustomEvent( + type: String, + bubbles: Bool? = nil, + cancelable: Bool? = nil, + detail: JSValue? = nil + ) { let this = jsObject - _ = this[Strings.initCustomEvent].function!(this: this, arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(detail)]) + _ = this[Strings.initCustomEvent].function!( + this: this, + arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(detail)] + ) } } -public class CustomEventInit: BridgedDictionary { - public convenience init(detail: JSValue) { +open class CustomEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + detail: JSValue? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.detail] = _toJSValue(detail) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _detail = ReadWriteAttribute(jsObject: object, name: Strings.detail) - super.init(unsafelyWrapping: object) + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + + @inlinable public var detail: JSValue { + get { jsObject[Strings.detail].fromJSValue()! } + set { jsObject[Strings.detail] = _toJSValue(newValue) } } +} +public class CustomStateSet: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.CustomStateSet].function } + + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var detail: JSValue? + // XXX: make me Set-like! } public class DOMImplementation: JSBridgedClass { @@ -2779,274 +3282,182 @@ public class DOMImplementation: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func createDocumentType(qualifiedName: String, publicId: String, systemId: String) -> DocumentType { + @inlinable final public func createDocumentType( + qualifiedName: String, + publicId: String, + systemId: String + ) -> DocumentType { let this = jsObject - return this[Strings.createDocumentType].function!(this: this, arguments: [_toJSValue(qualifiedName), _toJSValue(publicId), _toJSValue(systemId)]).fromJSValue()! + return this[Strings.createDocumentType].function!( + this: this, + arguments: [_toJSValue(qualifiedName), _toJSValue(publicId), _toJSValue(systemId)] + ).fromJSValue()! } - @inlinable public func createDocument(namespace: String?, qualifiedName: String, doctype: DocumentType? = nil) -> XMLDocument { + @inlinable final public func createDocument( + namespace: String?, + qualifiedName: String, + doctype: DocumentType? = nil + ) -> XMLDocument { let this = jsObject - return this[Strings.createDocument].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(doctype)]).fromJSValue()! + return this[Strings.createDocument].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(doctype)] + ).fromJSValue()! } - @inlinable public func createHTMLDocument(title: String? = nil) -> Document { + @inlinable final public func createHTMLDocument(title: String? = nil) -> Document { let this = jsObject return this[Strings.createHTMLDocument].function!(this: this, arguments: [_toJSValue(title)]).fromJSValue()! } - @inlinable public func hasFeature() -> Bool { + @inlinable final public func hasFeature() -> Bool { let this = jsObject return this[Strings.hasFeature].function!(this: this, arguments: []).fromJSValue()! } } public class DOMMatrix: DOMMatrixReadOnly { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DOMMatrix].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _a = ReadWriteAttribute(jsObject: jsObject, name: Strings.a) - _b = ReadWriteAttribute(jsObject: jsObject, name: Strings.b) - _c = ReadWriteAttribute(jsObject: jsObject, name: Strings.c) - _d = ReadWriteAttribute(jsObject: jsObject, name: Strings.d) - _e = ReadWriteAttribute(jsObject: jsObject, name: Strings.e) - _f = ReadWriteAttribute(jsObject: jsObject, name: Strings.f) - _m11 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m11) - _m12 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m12) - _m13 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m13) - _m14 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m14) - _m21 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m21) - _m22 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m22) - _m23 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m23) - _m24 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m24) - _m31 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m31) - _m32 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m32) - _m33 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m33) - _m34 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m34) - _m41 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m41) - _m42 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m42) - _m43 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m43) - _m44 = ReadWriteAttribute(jsObject: jsObject, name: Strings.m44) - super.init(unsafelyWrapping: jsObject) - } - - @inlinable public convenience init(init: String_or_seq_of_Double? = nil) { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DOMMatrix].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init(`init`: String_or_seq_of_Double? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable override public class func fromMatrix(other: DOMMatrixInit? = nil) -> Self { + @inlinable override public class func fromMatrix(other: DOMMatrixInit? = nil) -> DOMMatrix { let this = constructor! return this[Strings.fromMatrix].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable override public class func fromFloat32Array(array32: Float32Array) -> Self { + @inlinable override public class func fromFloat32Array(array32: Float32Array) -> DOMMatrix { let this = constructor! return this[Strings.fromFloat32Array].function!(this: this, arguments: [_toJSValue(array32)]).fromJSValue()! } - @inlinable override public class func fromFloat64Array(array64: Float64Array) -> Self { + @inlinable override public class func fromFloat64Array(array64: Float64Array) -> DOMMatrix { let this = constructor! return this[Strings.fromFloat64Array].function!(this: this, arguments: [_toJSValue(array64)]).fromJSValue()! } - @usableFromInline let _a: ReadWriteAttribute - @inlinable override public var a: Double { - get { _a.wrappedValue } - set { _a.wrappedValue = newValue } - } - - @usableFromInline let _b: ReadWriteAttribute - @inlinable override public var b: Double { - get { _b.wrappedValue } - set { _b.wrappedValue = newValue } - } - - @usableFromInline let _c: ReadWriteAttribute - @inlinable override public var c: Double { - get { _c.wrappedValue } - set { _c.wrappedValue = newValue } - } - - @usableFromInline let _d: ReadWriteAttribute - @inlinable override public var d: Double { - get { _d.wrappedValue } - set { _d.wrappedValue = newValue } - } - - @usableFromInline let _e: ReadWriteAttribute - @inlinable override public var e: Double { - get { _e.wrappedValue } - set { _e.wrappedValue = newValue } - } - - @usableFromInline let _f: ReadWriteAttribute - @inlinable override public var f: Double { - get { _f.wrappedValue } - set { _f.wrappedValue = newValue } - } - - @usableFromInline let _m11: ReadWriteAttribute - @inlinable override public var m11: Double { - get { _m11.wrappedValue } - set { _m11.wrappedValue = newValue } - } - - @usableFromInline let _m12: ReadWriteAttribute - @inlinable override public var m12: Double { - get { _m12.wrappedValue } - set { _m12.wrappedValue = newValue } - } - - @usableFromInline let _m13: ReadWriteAttribute - @inlinable override public var m13: Double { - get { _m13.wrappedValue } - set { _m13.wrappedValue = newValue } - } - - @usableFromInline let _m14: ReadWriteAttribute - @inlinable override public var m14: Double { - get { _m14.wrappedValue } - set { _m14.wrappedValue = newValue } - } - - @usableFromInline let _m21: ReadWriteAttribute - @inlinable override public var m21: Double { - get { _m21.wrappedValue } - set { _m21.wrappedValue = newValue } - } - - @usableFromInline let _m22: ReadWriteAttribute - @inlinable override public var m22: Double { - get { _m22.wrappedValue } - set { _m22.wrappedValue = newValue } - } - - @usableFromInline let _m23: ReadWriteAttribute - @inlinable override public var m23: Double { - get { _m23.wrappedValue } - set { _m23.wrappedValue = newValue } - } - - @usableFromInline let _m24: ReadWriteAttribute - @inlinable override public var m24: Double { - get { _m24.wrappedValue } - set { _m24.wrappedValue = newValue } - } - - @usableFromInline let _m31: ReadWriteAttribute - @inlinable override public var m31: Double { - get { _m31.wrappedValue } - set { _m31.wrappedValue = newValue } - } - - @usableFromInline let _m32: ReadWriteAttribute - @inlinable override public var m32: Double { - get { _m32.wrappedValue } - set { _m32.wrappedValue = newValue } - } - - @usableFromInline let _m33: ReadWriteAttribute - @inlinable override public var m33: Double { - get { _m33.wrappedValue } - set { _m33.wrappedValue = newValue } - } - - @usableFromInline let _m34: ReadWriteAttribute - @inlinable override public var m34: Double { - get { _m34.wrappedValue } - set { _m34.wrappedValue = newValue } - } - - @usableFromInline let _m41: ReadWriteAttribute - @inlinable override public var m41: Double { - get { _m41.wrappedValue } - set { _m41.wrappedValue = newValue } - } - - @usableFromInline let _m42: ReadWriteAttribute - @inlinable override public var m42: Double { - get { _m42.wrappedValue } - set { _m42.wrappedValue = newValue } - } - - @usableFromInline let _m43: ReadWriteAttribute - @inlinable override public var m43: Double { - get { _m43.wrappedValue } - set { _m43.wrappedValue = newValue } - } - - @usableFromInline let _m44: ReadWriteAttribute - @inlinable override public var m44: Double { - get { _m44.wrappedValue } - set { _m44.wrappedValue = newValue } - } - - @inlinable public func multiplySelf(other: DOMMatrixInit? = nil) -> Self { + @inlinable final public func multiplySelf(other: DOMMatrixInit? = nil) -> DOMMatrix { let this = jsObject return this[Strings.multiplySelf].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public func preMultiplySelf(other: DOMMatrixInit? = nil) -> Self { + @inlinable final public func preMultiplySelf(other: DOMMatrixInit? = nil) -> DOMMatrix { let this = jsObject return this[Strings.preMultiplySelf].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public func translateSelf(tx: Double? = nil, ty: Double? = nil, tz: Double? = nil) -> Self { + @inlinable final public func translateSelf(tx: Double? = nil, ty: Double? = nil, tz: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.translateSelf].function!(this: this, arguments: [_toJSValue(tx), _toJSValue(ty), _toJSValue(tz)]).fromJSValue()! + return this[Strings.translateSelf].function!( + this: this, + arguments: [_toJSValue(tx), _toJSValue(ty), _toJSValue(tz)] + ).fromJSValue()! } - @inlinable public func scaleSelf(scaleX: Double? = nil, scaleY: Double? = nil, scaleZ: Double? = nil, originX: Double? = nil, originY: Double? = nil, originZ: Double? = nil) -> Self { + @inlinable final public func scaleSelf( + scaleX: Double? = nil, + scaleY: Double? = nil, + scaleZ: Double? = nil, + originX: Double? = nil, + originY: Double? = nil, + originZ: Double? = nil + ) -> DOMMatrix { let this = jsObject - return this[Strings.scaleSelf].function!(this: this, arguments: [_toJSValue(scaleX), _toJSValue(scaleY), _toJSValue(scaleZ), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)]).fromJSValue()! + return this[Strings.scaleSelf].function!( + this: this, + arguments: [ + _toJSValue(scaleX), _toJSValue(scaleY), _toJSValue(scaleZ), _toJSValue(originX), _toJSValue(originY), + _toJSValue(originZ), + ] + ).fromJSValue()! } - @inlinable public func scale3dSelf(scale: Double? = nil, originX: Double? = nil, originY: Double? = nil, originZ: Double? = nil) -> Self { + @inlinable final public func scale3dSelf( + scale: Double? = nil, + originX: Double? = nil, + originY: Double? = nil, + originZ: Double? = nil + ) -> DOMMatrix { let this = jsObject - return this[Strings.scale3dSelf].function!(this: this, arguments: [_toJSValue(scale), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)]).fromJSValue()! + return this[Strings.scale3dSelf].function!( + this: this, + arguments: [_toJSValue(scale), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)] + ).fromJSValue()! } - @inlinable public func rotateSelf(rotX: Double? = nil, rotY: Double? = nil, rotZ: Double? = nil) -> Self { + @inlinable final public func rotateSelf(rotX: Double? = nil, rotY: Double? = nil, rotZ: Double? = nil) -> DOMMatrix + { let this = jsObject - return this[Strings.rotateSelf].function!(this: this, arguments: [_toJSValue(rotX), _toJSValue(rotY), _toJSValue(rotZ)]).fromJSValue()! + return this[Strings.rotateSelf].function!( + this: this, + arguments: [_toJSValue(rotX), _toJSValue(rotY), _toJSValue(rotZ)] + ).fromJSValue()! } - @inlinable public func rotateFromVectorSelf(x: Double? = nil, y: Double? = nil) -> Self { + @inlinable final public func rotateFromVectorSelf(x: Double? = nil, y: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.rotateFromVectorSelf].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue()! + return this[Strings.rotateFromVectorSelf].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) + .fromJSValue()! } - @inlinable public func rotateAxisAngleSelf(x: Double? = nil, y: Double? = nil, z: Double? = nil, angle: Double? = nil) -> Self { + @inlinable final public func rotateAxisAngleSelf( + x: Double? = nil, + y: Double? = nil, + z: Double? = nil, + angle: Double? = nil + ) -> DOMMatrix { let this = jsObject - return this[Strings.rotateAxisAngleSelf].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle)]).fromJSValue()! + return this[Strings.rotateAxisAngleSelf].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle)] + ).fromJSValue()! } - @inlinable public func skewXSelf(sx: Double? = nil) -> Self { + @inlinable final public func skewXSelf(sx: Double? = nil) -> DOMMatrix { let this = jsObject return this[Strings.skewXSelf].function!(this: this, arguments: [_toJSValue(sx)]).fromJSValue()! } - @inlinable public func skewYSelf(sy: Double? = nil) -> Self { + @inlinable final public func skewYSelf(sy: Double? = nil) -> DOMMatrix { let this = jsObject return this[Strings.skewYSelf].function!(this: this, arguments: [_toJSValue(sy)]).fromJSValue()! } - @inlinable public func invertSelf() -> Self { + @inlinable final public func invertSelf() -> DOMMatrix { let this = jsObject return this[Strings.invertSelf].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setMatrixValue(transformList: String) -> Self { + @inlinable final public func setMatrixValue(transformList: String) -> DOMMatrix { let this = jsObject return this[Strings.setMatrixValue].function!(this: this, arguments: [_toJSValue(transformList)]).fromJSValue()! } } -public class DOMMatrix2DInit: BridgedDictionary { - public convenience init(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double, m11: Double, m12: Double, m21: Double, m22: Double, m41: Double, m42: Double) { +open class DOMMatrix2DInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + a: Double? = nil, + b: Double? = nil, + c: Double? = nil, + d: Double? = nil, + e: Double? = nil, + f: Double? = nil, + m11: Double? = nil, + m12: Double? = nil, + m21: Double? = nil, + m22: Double? = nil, + m41: Double? = nil, + m42: Double? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.a] = _toJSValue(a) object[Strings.b] = _toJSValue(b) @@ -3060,65 +3471,101 @@ public class DOMMatrix2DInit: BridgedDictionary { object[Strings.m22] = _toJSValue(m22) object[Strings.m41] = _toJSValue(m41) object[Strings.m42] = _toJSValue(m42) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _a = ReadWriteAttribute(jsObject: object, name: Strings.a) - _b = ReadWriteAttribute(jsObject: object, name: Strings.b) - _c = ReadWriteAttribute(jsObject: object, name: Strings.c) - _d = ReadWriteAttribute(jsObject: object, name: Strings.d) - _e = ReadWriteAttribute(jsObject: object, name: Strings.e) - _f = ReadWriteAttribute(jsObject: object, name: Strings.f) - _m11 = ReadWriteAttribute(jsObject: object, name: Strings.m11) - _m12 = ReadWriteAttribute(jsObject: object, name: Strings.m12) - _m21 = ReadWriteAttribute(jsObject: object, name: Strings.m21) - _m22 = ReadWriteAttribute(jsObject: object, name: Strings.m22) - _m41 = ReadWriteAttribute(jsObject: object, name: Strings.m41) - _m42 = ReadWriteAttribute(jsObject: object, name: Strings.m42) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var a: Double? - - @ReadWriteAttribute - public var b: Double? - - @ReadWriteAttribute - public var c: Double? - - @ReadWriteAttribute - public var d: Double? - - @ReadWriteAttribute - public var e: Double? - - @ReadWriteAttribute - public var f: Double? - - @ReadWriteAttribute - public var m11: Double? - - @ReadWriteAttribute - public var m12: Double? - - @ReadWriteAttribute - public var m21: Double? - - @ReadWriteAttribute - public var m22: Double? - - @ReadWriteAttribute - public var m41: Double? - - @ReadWriteAttribute - public var m42: Double? -} - -public class DOMMatrixInit: BridgedDictionary { - public convenience init(m13: Double, m14: Double, m23: Double, m24: Double, m31: Double, m32: Double, m33: Double, m34: Double, m43: Double, m44: Double, is2D: Bool) { + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var a: Double { + get { jsObject[Strings.a].fromJSValue()! } + set { jsObject[Strings.a] = _toJSValue(newValue) } + } + @inlinable public var b: Double { + get { jsObject[Strings.b].fromJSValue()! } + set { jsObject[Strings.b] = _toJSValue(newValue) } + } + @inlinable public var c: Double { + get { jsObject[Strings.c].fromJSValue()! } + set { jsObject[Strings.c] = _toJSValue(newValue) } + } + @inlinable public var d: Double { + get { jsObject[Strings.d].fromJSValue()! } + set { jsObject[Strings.d] = _toJSValue(newValue) } + } + @inlinable public var e: Double { + get { jsObject[Strings.e].fromJSValue()! } + set { jsObject[Strings.e] = _toJSValue(newValue) } + } + @inlinable public var f: Double { + get { jsObject[Strings.f].fromJSValue()! } + set { jsObject[Strings.f] = _toJSValue(newValue) } + } + @inlinable public var m11: Double { + get { jsObject[Strings.m11].fromJSValue()! } + set { jsObject[Strings.m11] = _toJSValue(newValue) } + } + @inlinable public var m12: Double { + get { jsObject[Strings.m12].fromJSValue()! } + set { jsObject[Strings.m12] = _toJSValue(newValue) } + } + @inlinable public var m21: Double { + get { jsObject[Strings.m21].fromJSValue()! } + set { jsObject[Strings.m21] = _toJSValue(newValue) } + } + @inlinable public var m22: Double { + get { jsObject[Strings.m22].fromJSValue()! } + set { jsObject[Strings.m22] = _toJSValue(newValue) } + } + @inlinable public var m41: Double { + get { jsObject[Strings.m41].fromJSValue()! } + set { jsObject[Strings.m41] = _toJSValue(newValue) } + } + @inlinable public var m42: Double { + get { jsObject[Strings.m42].fromJSValue()! } + set { jsObject[Strings.m42] = _toJSValue(newValue) } + } +} +open class DOMMatrixInit: DOMMatrix2DInit { + + public convenience init( + a: Double? = nil, + b: Double? = nil, + c: Double? = nil, + d: Double? = nil, + e: Double? = nil, + f: Double? = nil, + m11: Double? = nil, + m12: Double? = nil, + m21: Double? = nil, + m22: Double? = nil, + m41: Double? = nil, + m42: Double? = nil, + m13: Double? = nil, + m14: Double? = nil, + m23: Double? = nil, + m24: Double? = nil, + m31: Double? = nil, + m32: Double? = nil, + m33: Double? = nil, + m34: Double? = nil, + m43: Double? = nil, + m44: Double? = nil, + is2D: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.a] = _toJSValue(a) + object[Strings.b] = _toJSValue(b) + object[Strings.c] = _toJSValue(c) + object[Strings.d] = _toJSValue(d) + object[Strings.e] = _toJSValue(e) + object[Strings.f] = _toJSValue(f) + object[Strings.m11] = _toJSValue(m11) + object[Strings.m12] = _toJSValue(m12) + object[Strings.m21] = _toJSValue(m21) + object[Strings.m22] = _toJSValue(m22) + object[Strings.m41] = _toJSValue(m41) + object[Strings.m42] = _toJSValue(m42) object[Strings.m13] = _toJSValue(m13) object[Strings.m14] = _toJSValue(m14) object[Strings.m23] = _toJSValue(m23) @@ -3130,267 +3577,251 @@ public class DOMMatrixInit: BridgedDictionary { object[Strings.m43] = _toJSValue(m43) object[Strings.m44] = _toJSValue(m44) object[Strings.is2D] = _toJSValue(is2D) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _m13 = ReadWriteAttribute(jsObject: object, name: Strings.m13) - _m14 = ReadWriteAttribute(jsObject: object, name: Strings.m14) - _m23 = ReadWriteAttribute(jsObject: object, name: Strings.m23) - _m24 = ReadWriteAttribute(jsObject: object, name: Strings.m24) - _m31 = ReadWriteAttribute(jsObject: object, name: Strings.m31) - _m32 = ReadWriteAttribute(jsObject: object, name: Strings.m32) - _m33 = ReadWriteAttribute(jsObject: object, name: Strings.m33) - _m34 = ReadWriteAttribute(jsObject: object, name: Strings.m34) - _m43 = ReadWriteAttribute(jsObject: object, name: Strings.m43) - _m44 = ReadWriteAttribute(jsObject: object, name: Strings.m44) - _is2D = ReadWriteAttribute(jsObject: object, name: Strings.is2D) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var m13: Double? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var m14: Double? - - @ReadWriteAttribute - public var m23: Double? - - @ReadWriteAttribute - public var m24: Double? - - @ReadWriteAttribute - public var m31: Double? - - @ReadWriteAttribute - public var m32: Double? - - @ReadWriteAttribute - public var m33: Double? - - @ReadWriteAttribute - public var m34: Double? - - @ReadWriteAttribute - public var m43: Double? - - @ReadWriteAttribute - public var m44: Double? - - @ReadWriteAttribute - public var is2D: Bool? + @inlinable public var m13: Double { + get { jsObject[Strings.m13].fromJSValue()! } + set { jsObject[Strings.m13] = _toJSValue(newValue) } + } + @inlinable public var m14: Double { + get { jsObject[Strings.m14].fromJSValue()! } + set { jsObject[Strings.m14] = _toJSValue(newValue) } + } + @inlinable public var m23: Double { + get { jsObject[Strings.m23].fromJSValue()! } + set { jsObject[Strings.m23] = _toJSValue(newValue) } + } + @inlinable public var m24: Double { + get { jsObject[Strings.m24].fromJSValue()! } + set { jsObject[Strings.m24] = _toJSValue(newValue) } + } + @inlinable public var m31: Double { + get { jsObject[Strings.m31].fromJSValue()! } + set { jsObject[Strings.m31] = _toJSValue(newValue) } + } + @inlinable public var m32: Double { + get { jsObject[Strings.m32].fromJSValue()! } + set { jsObject[Strings.m32] = _toJSValue(newValue) } + } + @inlinable public var m33: Double { + get { jsObject[Strings.m33].fromJSValue()! } + set { jsObject[Strings.m33] = _toJSValue(newValue) } + } + @inlinable public var m34: Double { + get { jsObject[Strings.m34].fromJSValue()! } + set { jsObject[Strings.m34] = _toJSValue(newValue) } + } + @inlinable public var m43: Double { + get { jsObject[Strings.m43].fromJSValue()! } + set { jsObject[Strings.m43] = _toJSValue(newValue) } + } + @inlinable public var m44: Double { + get { jsObject[Strings.m44].fromJSValue()! } + set { jsObject[Strings.m44] = _toJSValue(newValue) } + } + @inlinable public var is2D: Bool { + get { jsObject[Strings.is2D].fromJSValue()! } + set { jsObject[Strings.is2D] = _toJSValue(newValue) } + } } - public class DOMMatrixReadOnly: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.DOMMatrixReadOnly].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _a = ReadonlyAttribute(jsObject: jsObject, name: Strings.a) - _b = ReadonlyAttribute(jsObject: jsObject, name: Strings.b) - _c = ReadonlyAttribute(jsObject: jsObject, name: Strings.c) - _d = ReadonlyAttribute(jsObject: jsObject, name: Strings.d) - _e = ReadonlyAttribute(jsObject: jsObject, name: Strings.e) - _f = ReadonlyAttribute(jsObject: jsObject, name: Strings.f) - _m11 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m11) - _m12 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m12) - _m13 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m13) - _m14 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m14) - _m21 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m21) - _m22 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m22) - _m23 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m23) - _m24 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m24) - _m31 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m31) - _m32 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m32) - _m33 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m33) - _m34 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m34) - _m41 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m41) - _m42 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m42) - _m43 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m43) - _m44 = ReadonlyAttribute(jsObject: jsObject, name: Strings.m44) - _is2D = ReadonlyAttribute(jsObject: jsObject, name: Strings.is2D) - _isIdentity = ReadonlyAttribute(jsObject: jsObject, name: Strings.isIdentity) - self.jsObject = jsObject - } - - @inlinable public convenience init(init: String_or_seq_of_Double? = nil) { + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public convenience init(`init`: String_or_seq_of_Double? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public class func fromMatrix(other: DOMMatrixInit? = nil) -> Self { + @inlinable public class func fromMatrix(other: DOMMatrixInit? = nil) -> DOMMatrixReadOnly { let this = constructor! return this[Strings.fromMatrix].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public class func fromFloat32Array(array32: Float32Array) -> Self { + @inlinable public class func fromFloat32Array(array32: Float32Array) -> DOMMatrixReadOnly { let this = constructor! return this[Strings.fromFloat32Array].function!(this: this, arguments: [_toJSValue(array32)]).fromJSValue()! } - @inlinable public class func fromFloat64Array(array64: Float64Array) -> Self { + @inlinable public class func fromFloat64Array(array64: Float64Array) -> DOMMatrixReadOnly { let this = constructor! return this[Strings.fromFloat64Array].function!(this: this, arguments: [_toJSValue(array64)]).fromJSValue()! } - @ReadonlyAttribute - public var a: Double + @inlinable public var a: Double { jsObject[Strings.a].fromJSValue()! } - @ReadonlyAttribute - public var b: Double + @inlinable public var b: Double { jsObject[Strings.b].fromJSValue()! } - @ReadonlyAttribute - public var c: Double + @inlinable public var c: Double { jsObject[Strings.c].fromJSValue()! } - @ReadonlyAttribute - public var d: Double + @inlinable public var d: Double { jsObject[Strings.d].fromJSValue()! } - @ReadonlyAttribute - public var e: Double + @inlinable public var e: Double { jsObject[Strings.e].fromJSValue()! } - @ReadonlyAttribute - public var f: Double + @inlinable public var f: Double { jsObject[Strings.f].fromJSValue()! } - @ReadonlyAttribute - public var m11: Double + @inlinable public var m11: Double { jsObject[Strings.m11].fromJSValue()! } - @ReadonlyAttribute - public var m12: Double + @inlinable public var m12: Double { jsObject[Strings.m12].fromJSValue()! } - @ReadonlyAttribute - public var m13: Double + @inlinable public var m13: Double { jsObject[Strings.m13].fromJSValue()! } - @ReadonlyAttribute - public var m14: Double + @inlinable public var m14: Double { jsObject[Strings.m14].fromJSValue()! } - @ReadonlyAttribute - public var m21: Double + @inlinable public var m21: Double { jsObject[Strings.m21].fromJSValue()! } - @ReadonlyAttribute - public var m22: Double + @inlinable public var m22: Double { jsObject[Strings.m22].fromJSValue()! } - @ReadonlyAttribute - public var m23: Double + @inlinable public var m23: Double { jsObject[Strings.m23].fromJSValue()! } - @ReadonlyAttribute - public var m24: Double + @inlinable public var m24: Double { jsObject[Strings.m24].fromJSValue()! } - @ReadonlyAttribute - public var m31: Double + @inlinable public var m31: Double { jsObject[Strings.m31].fromJSValue()! } - @ReadonlyAttribute - public var m32: Double + @inlinable public var m32: Double { jsObject[Strings.m32].fromJSValue()! } - @ReadonlyAttribute - public var m33: Double + @inlinable public var m33: Double { jsObject[Strings.m33].fromJSValue()! } - @ReadonlyAttribute - public var m34: Double + @inlinable public var m34: Double { jsObject[Strings.m34].fromJSValue()! } - @ReadonlyAttribute - public var m41: Double + @inlinable public var m41: Double { jsObject[Strings.m41].fromJSValue()! } - @ReadonlyAttribute - public var m42: Double + @inlinable public var m42: Double { jsObject[Strings.m42].fromJSValue()! } - @ReadonlyAttribute - public var m43: Double + @inlinable public var m43: Double { jsObject[Strings.m43].fromJSValue()! } - @ReadonlyAttribute - public var m44: Double + @inlinable public var m44: Double { jsObject[Strings.m44].fromJSValue()! } - @ReadonlyAttribute - public var is2D: Bool + @inlinable public var is2D: Bool { jsObject[Strings.is2D].fromJSValue()! } - @ReadonlyAttribute - public var isIdentity: Bool + @inlinable public var isIdentity: Bool { jsObject[Strings.isIdentity].fromJSValue()! } - @inlinable public func translate(tx: Double? = nil, ty: Double? = nil, tz: Double? = nil) -> DOMMatrix { + @inlinable final public func translate(tx: Double? = nil, ty: Double? = nil, tz: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.translate].function!(this: this, arguments: [_toJSValue(tx), _toJSValue(ty), _toJSValue(tz)]).fromJSValue()! + return this[Strings.translate].function!( + this: this, + arguments: [_toJSValue(tx), _toJSValue(ty), _toJSValue(tz)] + ).fromJSValue()! } - @inlinable public func scale(scaleX: Double? = nil, scaleY: Double? = nil, scaleZ: Double? = nil, originX: Double? = nil, originY: Double? = nil, originZ: Double? = nil) -> DOMMatrix { + @inlinable final public func scale( + scaleX: Double? = nil, + scaleY: Double? = nil, + scaleZ: Double? = nil, + originX: Double? = nil, + originY: Double? = nil, + originZ: Double? = nil + ) -> DOMMatrix { let this = jsObject - return this[Strings.scale].function!(this: this, arguments: [_toJSValue(scaleX), _toJSValue(scaleY), _toJSValue(scaleZ), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)]).fromJSValue()! + return this[Strings.scale].function!( + this: this, + arguments: [ + _toJSValue(scaleX), _toJSValue(scaleY), _toJSValue(scaleZ), _toJSValue(originX), _toJSValue(originY), + _toJSValue(originZ), + ] + ).fromJSValue()! } - @inlinable public func scaleNonUniform(scaleX: Double? = nil, scaleY: Double? = nil) -> DOMMatrix { + @inlinable final public func scaleNonUniform(scaleX: Double? = nil, scaleY: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.scaleNonUniform].function!(this: this, arguments: [_toJSValue(scaleX), _toJSValue(scaleY)]).fromJSValue()! + return this[Strings.scaleNonUniform].function!(this: this, arguments: [_toJSValue(scaleX), _toJSValue(scaleY)]) + .fromJSValue()! } - @inlinable public func scale3d(scale: Double? = nil, originX: Double? = nil, originY: Double? = nil, originZ: Double? = nil) -> DOMMatrix { + @inlinable final public func scale3d( + scale: Double? = nil, + originX: Double? = nil, + originY: Double? = nil, + originZ: Double? = nil + ) -> DOMMatrix { let this = jsObject - return this[Strings.scale3d].function!(this: this, arguments: [_toJSValue(scale), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)]).fromJSValue()! + return this[Strings.scale3d].function!( + this: this, + arguments: [_toJSValue(scale), _toJSValue(originX), _toJSValue(originY), _toJSValue(originZ)] + ).fromJSValue()! } - @inlinable public func rotate(rotX: Double? = nil, rotY: Double? = nil, rotZ: Double? = nil) -> DOMMatrix { + @inlinable final public func rotate(rotX: Double? = nil, rotY: Double? = nil, rotZ: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.rotate].function!(this: this, arguments: [_toJSValue(rotX), _toJSValue(rotY), _toJSValue(rotZ)]).fromJSValue()! + return this[Strings.rotate].function!( + this: this, + arguments: [_toJSValue(rotX), _toJSValue(rotY), _toJSValue(rotZ)] + ).fromJSValue()! } - @inlinable public func rotateFromVector(x: Double? = nil, y: Double? = nil) -> DOMMatrix { + @inlinable final public func rotateFromVector(x: Double? = nil, y: Double? = nil) -> DOMMatrix { let this = jsObject - return this[Strings.rotateFromVector].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue()! + return this[Strings.rotateFromVector].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) + .fromJSValue()! } - @inlinable public func rotateAxisAngle(x: Double? = nil, y: Double? = nil, z: Double? = nil, angle: Double? = nil) -> DOMMatrix { + @inlinable final public func rotateAxisAngle( + x: Double? = nil, + y: Double? = nil, + z: Double? = nil, + angle: Double? = nil + ) -> DOMMatrix { let this = jsObject - return this[Strings.rotateAxisAngle].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle)]).fromJSValue()! + return this[Strings.rotateAxisAngle].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(angle)] + ).fromJSValue()! } - @inlinable public func skewX(sx: Double? = nil) -> DOMMatrix { + @inlinable final public func skewX(sx: Double? = nil) -> DOMMatrix { let this = jsObject return this[Strings.skewX].function!(this: this, arguments: [_toJSValue(sx)]).fromJSValue()! } - @inlinable public func skewY(sy: Double? = nil) -> DOMMatrix { + @inlinable final public func skewY(sy: Double? = nil) -> DOMMatrix { let this = jsObject return this[Strings.skewY].function!(this: this, arguments: [_toJSValue(sy)]).fromJSValue()! } - @inlinable public func multiply(other: DOMMatrixInit? = nil) -> DOMMatrix { + @inlinable final public func multiply(other: DOMMatrixInit? = nil) -> DOMMatrix { let this = jsObject return this[Strings.multiply].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public func flipX() -> DOMMatrix { + @inlinable final public func flipX() -> DOMMatrix { let this = jsObject return this[Strings.flipX].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func flipY() -> DOMMatrix { + @inlinable final public func flipY() -> DOMMatrix { let this = jsObject return this[Strings.flipY].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func inverse() -> DOMMatrix { + @inlinable final public func inverse() -> DOMMatrix { let this = jsObject return this[Strings.inverse].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func transformPoint(point: DOMPointInit? = nil) -> DOMPoint { + @inlinable final public func transformPoint(point: DOMPointInit? = nil) -> DOMPoint { let this = jsObject return this[Strings.transformPoint].function!(this: this, arguments: [_toJSValue(point)]).fromJSValue()! } - @inlinable public func toFloat32Array() -> Float32Array { + @inlinable final public func toFloat32Array() -> Float32Array { let this = jsObject return this[Strings.toFloat32Array].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func toFloat64Array() -> Float64Array { + @inlinable final public func toFloat64Array() -> Float64Array { let this = jsObject return this[Strings.toFloat64Array].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public var description: String { - jsObject[Strings.toString]!().fromJSValue()! - } + @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -3401,17 +3832,17 @@ public class DOMParser: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public func parseFromString(string: String, type: DOMParserSupportedType) -> Document { + @inlinable final public func parseFromString( + string: String_or_TrustedHTML, + type: DOMParserSupportedType + ) -> Document { let this = jsObject - return this[Strings.parseFromString].function!(this: this, arguments: [_toJSValue(string), _toJSValue(type)]).fromJSValue()! + return this[Strings.parseFromString].function!(this: this, arguments: [_toJSValue(string), _toJSValue(type)]) + .fromJSValue()! } } @@ -3423,135 +3854,100 @@ public enum DOMParserSupportedType: JSString, JSValueCompatible { case imageSvgXml = "image/svg+xml" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class DOMPoint: DOMPointReadOnly { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DOMPoint].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DOMPoint].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadWriteAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadWriteAttribute(jsObject: jsObject, name: Strings.y) - _z = ReadWriteAttribute(jsObject: jsObject, name: Strings.z) - _w = ReadWriteAttribute(jsObject: jsObject, name: Strings.w) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(x: Double? = nil, y: Double? = nil, z: Double? = nil, w: Double? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w), + ]) + ) } - @inlinable override public class func fromPoint(other: DOMPointInit? = nil) -> Self { + @inlinable override public class func fromPoint(other: DOMPointInit? = nil) -> DOMPoint { let this = constructor! return this[Strings.fromPoint].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @usableFromInline let _x: ReadWriteAttribute - @inlinable override public var x: Double { - get { _x.wrappedValue } - set { _x.wrappedValue = newValue } - } - - @usableFromInline let _y: ReadWriteAttribute - @inlinable override public var y: Double { - get { _y.wrappedValue } - set { _y.wrappedValue = newValue } - } - - @usableFromInline let _z: ReadWriteAttribute - @inlinable override public var z: Double { - get { _z.wrappedValue } - set { _z.wrappedValue = newValue } - } - - @usableFromInline let _w: ReadWriteAttribute - @inlinable override public var w: Double { - get { _w.wrappedValue } - set { _w.wrappedValue = newValue } - } } -public class DOMPointInit: BridgedDictionary { - public convenience init(x: Double, y: Double, z: Double, w: Double) { +open class DOMPointInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(x: Double? = nil, y: Double? = nil, z: Double? = nil, w: Double? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.x] = _toJSValue(x) object[Strings.y] = _toJSValue(y) object[Strings.z] = _toJSValue(z) object[Strings.w] = _toJSValue(w) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _x = ReadWriteAttribute(jsObject: object, name: Strings.x) - _y = ReadWriteAttribute(jsObject: object, name: Strings.y) - _z = ReadWriteAttribute(jsObject: object, name: Strings.z) - _w = ReadWriteAttribute(jsObject: object, name: Strings.w) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var x: Double? - - @ReadWriteAttribute - public var y: Double? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var z: Double? - - @ReadWriteAttribute - public var w: Double? + @inlinable public var x: Double { + get { jsObject[Strings.x].fromJSValue()! } + set { jsObject[Strings.x] = _toJSValue(newValue) } + } + @inlinable public var y: Double { + get { jsObject[Strings.y].fromJSValue()! } + set { jsObject[Strings.y] = _toJSValue(newValue) } + } + @inlinable public var z: Double { + get { jsObject[Strings.z].fromJSValue()! } + set { jsObject[Strings.z] = _toJSValue(newValue) } + } + @inlinable public var w: Double { + get { jsObject[Strings.w].fromJSValue()! } + set { jsObject[Strings.w] = _toJSValue(newValue) } + } } - public class DOMPointReadOnly: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.DOMPointReadOnly].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _z = ReadonlyAttribute(jsObject: jsObject, name: Strings.z) - _w = ReadonlyAttribute(jsObject: jsObject, name: Strings.w) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(x: Double? = nil, y: Double? = nil, z: Double? = nil, w: Double? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(z), _toJSValue(w), + ]) + ) } - @inlinable public class func fromPoint(other: DOMPointInit? = nil) -> Self { + @inlinable public class func fromPoint(other: DOMPointInit? = nil) -> DOMPointReadOnly { let this = constructor! return this[Strings.fromPoint].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @ReadonlyAttribute - public var x: Double + @inlinable public var x: Double { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var y: Double + @inlinable public var y: Double { jsObject[Strings.y].fromJSValue()! } - @ReadonlyAttribute - public var z: Double + @inlinable public var z: Double { jsObject[Strings.z].fromJSValue()! } - @ReadonlyAttribute - public var w: Double + @inlinable public var w: Double { jsObject[Strings.w].fromJSValue()! } - @inlinable public func matrixTransform(matrix: DOMMatrixInit? = nil) -> DOMPoint { + @inlinable final public func matrixTransform(matrix: DOMMatrixInit? = nil) -> DOMPoint { let this = jsObject return this[Strings.matrixTransform].function!(this: this, arguments: [_toJSValue(matrix)]).fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -3562,176 +3958,152 @@ public class DOMQuad: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _p1 = ReadonlyAttribute(jsObject: jsObject, name: Strings.p1) - _p2 = ReadonlyAttribute(jsObject: jsObject, name: Strings.p2) - _p3 = ReadonlyAttribute(jsObject: jsObject, name: Strings.p3) - _p4 = ReadonlyAttribute(jsObject: jsObject, name: Strings.p4) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(p1: DOMPointInit? = nil, p2: DOMPointInit? = nil, p3: DOMPointInit? = nil, p4: DOMPointInit? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(p1), _toJSValue(p2), _toJSValue(p3), _toJSValue(p4)])) + @inlinable public convenience init( + p1: DOMPointInit? = nil, + p2: DOMPointInit? = nil, + p3: DOMPointInit? = nil, + p4: DOMPointInit? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(p1), _toJSValue(p2), _toJSValue(p3), _toJSValue(p4), + ]) + ) } - @inlinable public class func fromRect(other: DOMRectInit? = nil) -> Self { + @inlinable public class func fromRect(other: DOMRectInit? = nil) -> DOMQuad { let this = constructor! return this[Strings.fromRect].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public class func fromQuad(other: DOMQuadInit? = nil) -> Self { + @inlinable public class func fromQuad(other: DOMQuadInit? = nil) -> DOMQuad { let this = constructor! return this[Strings.fromQuad].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @ReadonlyAttribute - public var p1: DOMPoint + @inlinable public var p1: DOMPoint { jsObject[Strings.p1].fromJSValue()! } - @ReadonlyAttribute - public var p2: DOMPoint + @inlinable public var p2: DOMPoint { jsObject[Strings.p2].fromJSValue()! } - @ReadonlyAttribute - public var p3: DOMPoint + @inlinable public var p3: DOMPoint { jsObject[Strings.p3].fromJSValue()! } - @ReadonlyAttribute - public var p4: DOMPoint + @inlinable public var p4: DOMPoint { jsObject[Strings.p4].fromJSValue()! } - @inlinable public func getBounds() -> DOMRect { + @inlinable final public func getBounds() -> DOMRect { let this = jsObject return this[Strings.getBounds].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } } -public class DOMQuadInit: BridgedDictionary { - public convenience init(p1: DOMPointInit, p2: DOMPointInit, p3: DOMPointInit, p4: DOMPointInit) { +open class DOMQuadInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + p1: DOMPointInit? = nil, + p2: DOMPointInit? = nil, + p3: DOMPointInit? = nil, + p4: DOMPointInit? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.p1] = _toJSValue(p1) object[Strings.p2] = _toJSValue(p2) object[Strings.p3] = _toJSValue(p3) object[Strings.p4] = _toJSValue(p4) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _p1 = ReadWriteAttribute(jsObject: object, name: Strings.p1) - _p2 = ReadWriteAttribute(jsObject: object, name: Strings.p2) - _p3 = ReadWriteAttribute(jsObject: object, name: Strings.p3) - _p4 = ReadWriteAttribute(jsObject: object, name: Strings.p4) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var p1: DOMPointInit? - - @ReadWriteAttribute - public var p2: DOMPointInit? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var p3: DOMPointInit? - - @ReadWriteAttribute - public var p4: DOMPointInit? + @inlinable public var p1: DOMPointInit { + get { jsObject[Strings.p1].fromJSValue()! } + set { jsObject[Strings.p1] = _toJSValue(newValue) } + } + @inlinable public var p2: DOMPointInit { + get { jsObject[Strings.p2].fromJSValue()! } + set { jsObject[Strings.p2] = _toJSValue(newValue) } + } + @inlinable public var p3: DOMPointInit { + get { jsObject[Strings.p3].fromJSValue()! } + set { jsObject[Strings.p3] = _toJSValue(newValue) } + } + @inlinable public var p4: DOMPointInit { + get { jsObject[Strings.p4].fromJSValue()! } + set { jsObject[Strings.p4] = _toJSValue(newValue) } + } } - public class DOMRect: DOMRectReadOnly { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DOMRect].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DOMRect].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadWriteAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadWriteAttribute(jsObject: jsObject, name: Strings.y) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)])) + @inlinable public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) + { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), + ]) + ) } - @inlinable override public class func fromRect(other: DOMRectInit? = nil) -> Self { + @inlinable override public class func fromRect(other: DOMRectInit? = nil) -> DOMRect { let this = constructor! return this[Strings.fromRect].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @usableFromInline let _x: ReadWriteAttribute - @inlinable override public var x: Double { - get { _x.wrappedValue } - set { _x.wrappedValue = newValue } - } - - @usableFromInline let _y: ReadWriteAttribute - @inlinable override public var y: Double { - get { _y.wrappedValue } - set { _y.wrappedValue = newValue } - } - - @usableFromInline let _width: ReadWriteAttribute - @inlinable override public var width: Double { - get { _width.wrappedValue } - set { _width.wrappedValue = newValue } - } - - @usableFromInline let _height: ReadWriteAttribute - @inlinable override public var height: Double { - get { _height.wrappedValue } - set { _height.wrappedValue = newValue } - } } -public class DOMRectInit: BridgedDictionary { - public convenience init(x: Double, y: Double, width: Double, height: Double) { +open class DOMRectInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.x] = _toJSValue(x) object[Strings.y] = _toJSValue(y) object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _x = ReadWriteAttribute(jsObject: object, name: Strings.x) - _y = ReadWriteAttribute(jsObject: object, name: Strings.y) - _width = ReadWriteAttribute(jsObject: object, name: Strings.width) - _height = ReadWriteAttribute(jsObject: object, name: Strings.height) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var x: Double? - - @ReadWriteAttribute - public var y: Double? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var width: Double? - - @ReadWriteAttribute - public var height: Double? + @inlinable public var x: Double { + get { jsObject[Strings.x].fromJSValue()! } + set { jsObject[Strings.x] = _toJSValue(newValue) } + } + @inlinable public var y: Double { + get { jsObject[Strings.y].fromJSValue()! } + set { jsObject[Strings.y] = _toJSValue(newValue) } + } + @inlinable public var width: Double { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + @inlinable public var height: Double { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } } - public class DOMRectList: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.DOMRectList].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> DOMRect? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> DOMRect? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> DOMRect? { + @inlinable final public func item(index: UInt32) -> DOMRect? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } @@ -3742,52 +4114,39 @@ public class DOMRectReadOnly: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _top = ReadonlyAttribute(jsObject: jsObject, name: Strings.top) - _right = ReadonlyAttribute(jsObject: jsObject, name: Strings.right) - _bottom = ReadonlyAttribute(jsObject: jsObject, name: Strings.bottom) - _left = ReadonlyAttribute(jsObject: jsObject, name: Strings.left) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height)])) + @inlinable public convenience init(x: Double? = nil, y: Double? = nil, width: Double? = nil, height: Double? = nil) + { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(x), _toJSValue(y), _toJSValue(width), _toJSValue(height), + ]) + ) } - @inlinable public class func fromRect(other: DOMRectInit? = nil) -> Self { + @inlinable public class func fromRect(other: DOMRectInit? = nil) -> DOMRectReadOnly { let this = constructor! return this[Strings.fromRect].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @ReadonlyAttribute - public var x: Double + @inlinable public var x: Double { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var y: Double + @inlinable public var y: Double { jsObject[Strings.y].fromJSValue()! } - @ReadonlyAttribute - public var width: Double + @inlinable public var width: Double { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: Double + @inlinable public var height: Double { jsObject[Strings.height].fromJSValue()! } - @ReadonlyAttribute - public var top: Double + @inlinable public var top: Double { jsObject[Strings.top].fromJSValue()! } - @ReadonlyAttribute - public var right: Double + @inlinable public var right: Double { jsObject[Strings.right].fromJSValue()! } - @ReadonlyAttribute - public var bottom: Double + @inlinable public var bottom: Double { jsObject[Strings.bottom].fromJSValue()! } - @ReadonlyAttribute - public var left: Double + @inlinable public var left: Double { jsObject[Strings.left].fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -3798,24 +4157,18 @@ public class DOMStringList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> String? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> String? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> String? { + @inlinable final public func item(index: UInt32) -> String? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public func contains(string: String) -> Bool { + @inlinable final public func contains(string: String) -> Bool { let this = jsObject return this[Strings.contains].function!(this: this, arguments: [_toJSValue(string)]).fromJSValue()! } @@ -3826,17 +4179,11 @@ public class DOMStringMap: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public subscript(key: String) -> String { - get { - jsObject[key].fromJSValue()! - } - set { - jsObject[key] = _toJSValue(newValue) - } + get { jsObject[key].fromJSValue()! } + set { jsObject[key] = _toJSValue(newValue) } } @inlinable public func removeValue(forKey key: String) { @@ -3849,61 +4196,56 @@ public class DOMTokenList: JSBridgedClass, Sequence { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> String? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> String? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> String? { + @inlinable final public func item(index: UInt32) -> String? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public func contains(token: String) -> Bool { + @inlinable final public func contains(token: String) -> Bool { let this = jsObject return this[Strings.contains].function!(this: this, arguments: [_toJSValue(token)]).fromJSValue()! } - @inlinable public func add(tokens: String...) { + @inlinable final public func add(tokens: String...) { let this = jsObject _ = this[Strings.add].function!(this: this, arguments: tokens.map(_toJSValue)) } - @inlinable public func remove(tokens: String...) { + @inlinable final public func remove(tokens: String...) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: tokens.map(_toJSValue)) } - @inlinable public func toggle(token: String, force: Bool? = nil) -> Bool { + @inlinable final public func toggle(token: String, force: Bool? = nil) -> Bool { let this = jsObject - return this[Strings.toggle].function!(this: this, arguments: [_toJSValue(token), _toJSValue(force)]).fromJSValue()! + return this[Strings.toggle].function!(this: this, arguments: [_toJSValue(token), _toJSValue(force)]) + .fromJSValue()! } - @inlinable public func replace(token: String, newToken: String) -> Bool { + @inlinable final public func replace(token: String, newToken: String) -> Bool { let this = jsObject - return this[Strings.replace].function!(this: this, arguments: [_toJSValue(token), _toJSValue(newToken)]).fromJSValue()! + return this[Strings.replace].function!(this: this, arguments: [_toJSValue(token), _toJSValue(newToken)]) + .fromJSValue()! } - @inlinable public func supports(token: String) -> Bool { + @inlinable final public func supports(token: String) -> Bool { let this = jsObject return this[Strings.supports].function!(this: this, arguments: [_toJSValue(token)]).fromJSValue()! } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } public typealias Element = String - public func makeIterator() -> ValueIterableIterator { - ValueIterableIterator(sequence: self) - } + public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } } public class DataTransfer: JSBridgedClass { @@ -3911,53 +4253,48 @@ public class DataTransfer: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _dropEffect = ReadWriteAttribute(jsObject: jsObject, name: Strings.dropEffect) - _effectAllowed = ReadWriteAttribute(jsObject: jsObject, name: Strings.effectAllowed) - _items = ReadonlyAttribute(jsObject: jsObject, name: Strings.items) - _types = ReadonlyAttribute(jsObject: jsObject, name: Strings.types) - _files = ReadonlyAttribute(jsObject: jsObject, name: Strings.files) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var dropEffect: String + @inlinable public var dropEffect: String { + get { jsObject[Strings.dropEffect].fromJSValue()! } + set { jsObject[Strings.dropEffect] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var effectAllowed: String + @inlinable public var effectAllowed: String { + get { jsObject[Strings.effectAllowed].fromJSValue()! } + set { jsObject[Strings.effectAllowed] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var items: DataTransferItemList + @inlinable public var items: DataTransferItemList { jsObject[Strings.items].fromJSValue()! } - @inlinable public func setDragImage(image: Element, x: Int32, y: Int32) { + @inlinable final public func setDragImage(image: Element, x: Int32, y: Int32) { let this = jsObject - _ = this[Strings.setDragImage].function!(this: this, arguments: [_toJSValue(image), _toJSValue(x), _toJSValue(y)]) + _ = this[Strings.setDragImage].function!( + this: this, + arguments: [_toJSValue(image), _toJSValue(x), _toJSValue(y)] + ) } - @ReadonlyAttribute - public var types: [String] + @inlinable public var types: [String] { jsObject[Strings.types].fromJSValue()! } - @inlinable public func getData(format: String) -> String { + @inlinable final public func getData(format: String) -> String { let this = jsObject return this[Strings.getData].function!(this: this, arguments: [_toJSValue(format)]).fromJSValue()! } - @inlinable public func setData(format: String, data: String) { + @inlinable final public func setData(format: String, data: String) { let this = jsObject _ = this[Strings.setData].function!(this: this, arguments: [_toJSValue(format), _toJSValue(data)]) } - @inlinable public func clearData(format: String? = nil) { + @inlinable final public func clearData(format: String? = nil) { let this = jsObject _ = this[Strings.clearData].function!(this: this, arguments: [_toJSValue(format)]) } - @ReadonlyAttribute - public var files: FileList + @inlinable public var files: FileList { jsObject[Strings.files].fromJSValue()! } } public class DataTransferItem: JSBridgedClass { @@ -3965,24 +4302,18 @@ public class DataTransferItem: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var kind: String + @inlinable public var kind: String { jsObject[Strings.kind].fromJSValue()! } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @inlinable public func getAsString(callback: FunctionStringCallback?) { + @inlinable final public func getAsString(callback: FunctionStringCallback?) { let this = jsObject _ = this[Strings.getAsString].function!(this: this, arguments: [_toJSValue(callback)]) } - @inlinable public func getAsFile() -> File? { + @inlinable final public func getAsFile() -> File? { let this = jsObject return this[Strings.getAsFile].function!(this: this, arguments: []).fromJSValue() } @@ -3993,214 +4324,205 @@ public class DataTransferItemList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> DataTransferItem { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> DataTransferItem { jsObject[key].fromJSValue()! } - @inlinable public func add(data: String, type: String) -> DataTransferItem? { + @inlinable final public func add(data: String, type: String) -> DataTransferItem? { let this = jsObject return this[Strings.add].function!(this: this, arguments: [_toJSValue(data), _toJSValue(type)]).fromJSValue() } - @inlinable public func add(data: File) -> DataTransferItem? { + @inlinable final public func add(data: File) -> DataTransferItem? { let this = jsObject return this[Strings.add].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue() } - @inlinable public func remove(index: UInt32) { + @inlinable final public func remove(index: UInt32) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: [_toJSValue(index)]) } - @inlinable public func clear() { + @inlinable final public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } } -public class DevicePermissionDescriptor: BridgedDictionary { - public convenience init(deviceId: String) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.deviceId] = _toJSValue(deviceId) - self.init(unsafelyWrapping: object) +public class DeviceChangeEvent: Event { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.DeviceChangeEvent].function } - public required init(unsafelyWrapping object: JSObject) { - _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) - super.init(unsafelyWrapping: object) + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init(type: String, eventInitDict: DeviceChangeEventInit? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadWriteAttribute - public var deviceId: String? + @inlinable public var devices: [MediaDeviceInfo] { jsObject[Strings.devices].fromJSValue()! } + + @inlinable public var userInsertedDevices: [MediaDeviceInfo] { + jsObject[Strings.userInsertedDevices].fromJSValue()! + } } -public class Document: Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, XPathEvaluatorBase, GlobalEventHandlers, GeometryUtils { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Document].function } +open class DeviceChangeEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + devices: [MediaDeviceInfo]? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) + object[Strings.devices] = _toJSValue(devices) - public required init(unsafelyWrapping jsObject: JSObject) { - _implementation = ReadonlyAttribute(jsObject: jsObject, name: Strings.implementation) - _URL = ReadonlyAttribute(jsObject: jsObject, name: Strings.URL) - _documentURI = ReadonlyAttribute(jsObject: jsObject, name: Strings.documentURI) - _compatMode = ReadonlyAttribute(jsObject: jsObject, name: Strings.compatMode) - _characterSet = ReadonlyAttribute(jsObject: jsObject, name: Strings.characterSet) - _charset = ReadonlyAttribute(jsObject: jsObject, name: Strings.charset) - _inputEncoding = ReadonlyAttribute(jsObject: jsObject, name: Strings.inputEncoding) - _contentType = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentType) - _doctype = ReadonlyAttribute(jsObject: jsObject, name: Strings.doctype) - _documentElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.documentElement) - _location = ReadonlyAttribute(jsObject: jsObject, name: Strings.location) - _domain = ReadWriteAttribute(jsObject: jsObject, name: Strings.domain) - _referrer = ReadonlyAttribute(jsObject: jsObject, name: Strings.referrer) - _cookie = ReadWriteAttribute(jsObject: jsObject, name: Strings.cookie) - _lastModified = ReadonlyAttribute(jsObject: jsObject, name: Strings.lastModified) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _title = ReadWriteAttribute(jsObject: jsObject, name: Strings.title) - _dir = ReadWriteAttribute(jsObject: jsObject, name: Strings.dir) - _body = ReadWriteAttribute(jsObject: jsObject, name: Strings.body) - _head = ReadonlyAttribute(jsObject: jsObject, name: Strings.head) - _images = ReadonlyAttribute(jsObject: jsObject, name: Strings.images) - _embeds = ReadonlyAttribute(jsObject: jsObject, name: Strings.embeds) - _plugins = ReadonlyAttribute(jsObject: jsObject, name: Strings.plugins) - _links = ReadonlyAttribute(jsObject: jsObject, name: Strings.links) - _forms = ReadonlyAttribute(jsObject: jsObject, name: Strings.forms) - _scripts = ReadonlyAttribute(jsObject: jsObject, name: Strings.scripts) - _currentScript = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentScript) - _defaultView = ReadonlyAttribute(jsObject: jsObject, name: Strings.defaultView) - _designMode = ReadWriteAttribute(jsObject: jsObject, name: Strings.designMode) - _hidden = ReadonlyAttribute(jsObject: jsObject, name: Strings.hidden) - _visibilityState = ReadonlyAttribute(jsObject: jsObject, name: Strings.visibilityState) - _onreadystatechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onreadystatechange) - _onvisibilitychange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onvisibilitychange) - _fgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.fgColor) - _linkColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.linkColor) - _vlinkColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.vlinkColor) - _alinkColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.alinkColor) - _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) - _anchors = ReadonlyAttribute(jsObject: jsObject, name: Strings.anchors) - _applets = ReadonlyAttribute(jsObject: jsObject, name: Strings.applets) - _all = ReadonlyAttribute(jsObject: jsObject, name: Strings.all) - _scrollingElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollingElement) - super.init(unsafelyWrapping: jsObject) + self.init(unsafelyWrapping: object) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + + @inlinable public var devices: [MediaDeviceInfo] { + get { jsObject[Strings.devices].fromJSValue()! } + set { jsObject[Strings.devices] = _toJSValue(newValue) } } +} +public class Document: Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, XPathEvaluatorBase, + GlobalEventHandlers, GeometryUtils +{ + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Document].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var implementation: DOMImplementation + @inlinable public var implementation: DOMImplementation { jsObject[Strings.implementation].fromJSValue()! } - @ReadonlyAttribute - public var URL: String + @inlinable public var URL: String { jsObject[Strings.URL].fromJSValue()! } - @ReadonlyAttribute - public var documentURI: String + @inlinable public var documentURI: String { jsObject[Strings.documentURI].fromJSValue()! } - @ReadonlyAttribute - public var compatMode: String + @inlinable public var compatMode: String { jsObject[Strings.compatMode].fromJSValue()! } - @ReadonlyAttribute - public var characterSet: String + @inlinable public var characterSet: String { jsObject[Strings.characterSet].fromJSValue()! } - @ReadonlyAttribute - public var charset: String + @inlinable public var charset: String { jsObject[Strings.charset].fromJSValue()! } - @ReadonlyAttribute - public var inputEncoding: String + @inlinable public var inputEncoding: String { jsObject[Strings.inputEncoding].fromJSValue()! } - @ReadonlyAttribute - public var contentType: String + @inlinable public var contentType: String { jsObject[Strings.contentType].fromJSValue()! } - @ReadonlyAttribute - public var doctype: DocumentType? + @inlinable public var doctype: DocumentType? { jsObject[Strings.doctype].fromJSValue() } - @ReadonlyAttribute - public var documentElement: Element? + @inlinable public var documentElement: Element? { jsObject[Strings.documentElement].fromJSValue() } - @inlinable public func getElementsByTagName(qualifiedName: String) -> HTMLCollection { + @inlinable final public func getElementsByTagName(qualifiedName: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByTagName].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue()! + return this[Strings.getElementsByTagName].function!(this: this, arguments: [_toJSValue(qualifiedName)]) + .fromJSValue()! } - @inlinable public func getElementsByTagNameNS(namespace: String?, localName: String) -> HTMLCollection { + @inlinable final public func getElementsByTagNameNS(namespace: String?, localName: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByTagNameNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue()! + return this[Strings.getElementsByTagNameNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue()! } - @inlinable public func getElementsByClassName(classNames: String) -> HTMLCollection { + @inlinable final public func getElementsByClassName(classNames: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByClassName].function!(this: this, arguments: [_toJSValue(classNames)]).fromJSValue()! + return this[Strings.getElementsByClassName].function!(this: this, arguments: [_toJSValue(classNames)]) + .fromJSValue()! } - @inlinable public func createElement(localName: String, options: ElementCreationOptions_or_String? = nil) -> Element { + @inlinable final public func createElement( + localName: String, + options: ElementCreationOptions_or_String? = nil + ) -> Element { let this = jsObject - return this[Strings.createElement].function!(this: this, arguments: [_toJSValue(localName), _toJSValue(options)]).fromJSValue()! + return this[Strings.createElement].function!( + this: this, + arguments: [_toJSValue(localName), _toJSValue(options)] + ).fromJSValue()! } - @inlinable public func createElementNS(namespace: String?, qualifiedName: String, options: ElementCreationOptions_or_String? = nil) -> Element { + @inlinable final public func createElementNS( + namespace: String?, + qualifiedName: String, + options: ElementCreationOptions_or_String? = nil + ) -> Element { let this = jsObject - return this[Strings.createElementNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(options)]).fromJSValue()! + return this[Strings.createElementNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(options)] + ).fromJSValue()! } - @inlinable public func createDocumentFragment() -> DocumentFragment { + @inlinable final public func createDocumentFragment() -> DocumentFragment { let this = jsObject return this[Strings.createDocumentFragment].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createTextNode(data: String) -> Text { + @inlinable final public func createTextNode(data: String) -> Text { let this = jsObject return this[Strings.createTextNode].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable public func createCDATASection(data: String) -> CDATASection { + @inlinable final public func createCDATASection(data: String) -> CDATASection { let this = jsObject return this[Strings.createCDATASection].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable public func createComment(data: String) -> Comment { + @inlinable final public func createComment(data: String) -> Comment { let this = jsObject return this[Strings.createComment].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable public func createProcessingInstruction(target: String, data: String) -> ProcessingInstruction { + @inlinable final public func createProcessingInstruction(target: String, data: String) -> ProcessingInstruction { let this = jsObject - return this[Strings.createProcessingInstruction].function!(this: this, arguments: [_toJSValue(target), _toJSValue(data)]).fromJSValue()! + return this[Strings.createProcessingInstruction].function!( + this: this, + arguments: [_toJSValue(target), _toJSValue(data)] + ).fromJSValue()! } - @inlinable public func importNode(node: Node, deep: Bool? = nil) -> Node { + @inlinable final public func importNode(node: Node, subtree: Bool? = nil) -> Node { let this = jsObject - return this[Strings.importNode].function!(this: this, arguments: [_toJSValue(node), _toJSValue(deep)]).fromJSValue()! + return this[Strings.importNode].function!(this: this, arguments: [_toJSValue(node), _toJSValue(subtree)]) + .fromJSValue()! } - @inlinable public func adoptNode(node: Node) -> Node { + @inlinable final public func adoptNode(node: Node) -> Node { let this = jsObject return this[Strings.adoptNode].function!(this: this, arguments: [_toJSValue(node)]).fromJSValue()! } - @inlinable public func createAttribute(localName: String) -> Attr { + @inlinable final public func createAttribute(localName: String) -> Attr { let this = jsObject return this[Strings.createAttribute].function!(this: this, arguments: [_toJSValue(localName)]).fromJSValue()! } - @inlinable public func createAttributeNS(namespace: String?, qualifiedName: String) -> Attr { + @inlinable final public func createAttributeNS(namespace: String?, qualifiedName: String) -> Attr { let this = jsObject - return this[Strings.createAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(qualifiedName)]).fromJSValue()! + return this[Strings.createAttributeNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(qualifiedName)] + ).fromJSValue()! } - @inlinable public func createEvent(interface: String) -> Event { + @inlinable final public func createEvent(interface: String) -> Event { let this = jsObject return this[Strings.createEvent].function!(this: this, arguments: [_toJSValue(interface)]).fromJSValue()! } - @inlinable public func createRange() -> Range { + @inlinable final public func createRange() -> Range { let this = jsObject return this[Strings.createRange].function!(this: this, arguments: []).fromJSValue()! } @@ -4209,256 +4531,286 @@ public class Document: Node, NonElementParentNode, DocumentOrShadowRoot, ParentN // XXX: member 'createTreeWalker' is ignored - @ReadonlyAttribute - public var location: Location? + @inlinable public class func parseHTMLUnsafe(html: String_or_TrustedHTML) -> Document { + let this = constructor! + return this[Strings.parseHTMLUnsafe].function!(this: this, arguments: [_toJSValue(html)]).fromJSValue()! + } + + @inlinable public var location: Location? { jsObject[Strings.location].fromJSValue() } + + @inlinable public var domain: String { + get { jsObject[Strings.domain].fromJSValue()! } + set { jsObject[Strings.domain] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var domain: String + @inlinable public var referrer: String { jsObject[Strings.referrer].fromJSValue()! } - @ReadonlyAttribute - public var referrer: String + @inlinable public var cookie: String { + get { jsObject[Strings.cookie].fromJSValue()! } + set { jsObject[Strings.cookie] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var cookie: String + @inlinable public var lastModified: String { jsObject[Strings.lastModified].fromJSValue()! } - @ReadonlyAttribute - public var lastModified: String + @inlinable public var readyState: DocumentReadyState { jsObject[Strings.readyState].fromJSValue()! } - @ReadonlyAttribute - public var readyState: DocumentReadyState + @inlinable public subscript(key: String) -> JSObject { jsObject[key].fromJSValue()! } - @inlinable public subscript(key: String) -> JSObject { - jsObject[key].fromJSValue()! + @inlinable public var title: String { + get { jsObject[Strings.title].fromJSValue()! } + set { jsObject[Strings.title] = _toJSValue(newValue) } } - @ReadWriteAttribute - public var title: String - - @ReadWriteAttribute - public var dir: String + @inlinable public var dir: String { + get { jsObject[Strings.dir].fromJSValue()! } + set { jsObject[Strings.dir] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var body: HTMLElement? + @inlinable public var body: HTMLElement? { + get { jsObject[Strings.body].fromJSValue() } + set { jsObject[Strings.body] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var head: HTMLHeadElement? + @inlinable public var head: HTMLHeadElement? { jsObject[Strings.head].fromJSValue() } - @ReadonlyAttribute - public var images: HTMLCollection + @inlinable public var images: HTMLCollection { jsObject[Strings.images].fromJSValue()! } - @ReadonlyAttribute - public var embeds: HTMLCollection + @inlinable public var embeds: HTMLCollection { jsObject[Strings.embeds].fromJSValue()! } - @ReadonlyAttribute - public var plugins: HTMLCollection + @inlinable public var plugins: HTMLCollection { jsObject[Strings.plugins].fromJSValue()! } - @ReadonlyAttribute - public var links: HTMLCollection + @inlinable public var links: HTMLCollection { jsObject[Strings.links].fromJSValue()! } - @ReadonlyAttribute - public var forms: HTMLCollection + @inlinable public var forms: HTMLCollection { jsObject[Strings.forms].fromJSValue()! } - @ReadonlyAttribute - public var scripts: HTMLCollection + @inlinable public var scripts: HTMLCollection { jsObject[Strings.scripts].fromJSValue()! } - @inlinable public func getElementsByName(elementName: String) -> NodeList { + @inlinable final public func getElementsByName(elementName: String) -> NodeList { let this = jsObject - return this[Strings.getElementsByName].function!(this: this, arguments: [_toJSValue(elementName)]).fromJSValue()! + return this[Strings.getElementsByName].function!(this: this, arguments: [_toJSValue(elementName)]) + .fromJSValue()! } - @ReadonlyAttribute - public var currentScript: HTMLOrSVGScriptElement? + @inlinable public var currentScript: HTMLOrSVGScriptElement? { jsObject[Strings.currentScript].fromJSValue() } - @inlinable public func open(unused1: String? = nil, unused2: String? = nil) -> Self { + @inlinable final public func open(unused1: String? = nil, unused2: String? = nil) -> Document { let this = jsObject - return this[Strings.open].function!(this: this, arguments: [_toJSValue(unused1), _toJSValue(unused2)]).fromJSValue()! + return this[Strings.open].function!(this: this, arguments: [_toJSValue(unused1), _toJSValue(unused2)]) + .fromJSValue()! } - @inlinable public func open(url: String, name: String, features: String) -> WindowProxy? { + @inlinable final public func open(url: String, name: String, features: String) -> WindowProxy? { let this = jsObject - return this[Strings.open].function!(this: this, arguments: [_toJSValue(url), _toJSValue(name), _toJSValue(features)]).fromJSValue() + return this[Strings.open].function!( + this: this, + arguments: [_toJSValue(url), _toJSValue(name), _toJSValue(features)] + ).fromJSValue() } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @inlinable public func write(text: String...) { + @inlinable final public func write(text: String_or_TrustedHTML...) { let this = jsObject _ = this[Strings.write].function!(this: this, arguments: text.map(_toJSValue)) } - @inlinable public func writeln(text: String...) { + @inlinable final public func writeln(text: String_or_TrustedHTML...) { let this = jsObject _ = this[Strings.writeln].function!(this: this, arguments: text.map(_toJSValue)) } - @ReadonlyAttribute - public var defaultView: WindowProxy? + @inlinable public var defaultView: WindowProxy? { jsObject[Strings.defaultView].fromJSValue() } - @inlinable public func hasFocus() -> Bool { + @inlinable final public func hasFocus() -> Bool { let this = jsObject return this[Strings.hasFocus].function!(this: this, arguments: []).fromJSValue()! } - @ReadWriteAttribute - public var designMode: String + @inlinable public var designMode: String { + get { jsObject[Strings.designMode].fromJSValue()! } + set { jsObject[Strings.designMode] = _toJSValue(newValue) } + } - @inlinable public func execCommand(commandId: String, showUI: Bool? = nil, value: String? = nil) -> Bool { + @inlinable final public func execCommand(commandId: String, showUI: Bool? = nil, value: String? = nil) -> Bool { let this = jsObject - return this[Strings.execCommand].function!(this: this, arguments: [_toJSValue(commandId), _toJSValue(showUI), _toJSValue(value)]).fromJSValue()! + return this[Strings.execCommand].function!( + this: this, + arguments: [_toJSValue(commandId), _toJSValue(showUI), _toJSValue(value)] + ).fromJSValue()! } - @inlinable public func queryCommandEnabled(commandId: String) -> Bool { + @inlinable final public func queryCommandEnabled(commandId: String) -> Bool { let this = jsObject - return this[Strings.queryCommandEnabled].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! + return this[Strings.queryCommandEnabled].function!(this: this, arguments: [_toJSValue(commandId)]) + .fromJSValue()! } - @inlinable public func queryCommandIndeterm(commandId: String) -> Bool { + @inlinable final public func queryCommandIndeterm(commandId: String) -> Bool { let this = jsObject - return this[Strings.queryCommandIndeterm].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! + return this[Strings.queryCommandIndeterm].function!(this: this, arguments: [_toJSValue(commandId)]) + .fromJSValue()! } - @inlinable public func queryCommandState(commandId: String) -> Bool { + @inlinable final public func queryCommandState(commandId: String) -> Bool { let this = jsObject return this[Strings.queryCommandState].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! } - @inlinable public func queryCommandSupported(commandId: String) -> Bool { + @inlinable final public func queryCommandSupported(commandId: String) -> Bool { let this = jsObject - return this[Strings.queryCommandSupported].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! + return this[Strings.queryCommandSupported].function!(this: this, arguments: [_toJSValue(commandId)]) + .fromJSValue()! } - @inlinable public func queryCommandValue(commandId: String) -> String { + @inlinable final public func queryCommandValue(commandId: String) -> String { let this = jsObject return this[Strings.queryCommandValue].function!(this: this, arguments: [_toJSValue(commandId)]).fromJSValue()! } - @ReadonlyAttribute - public var hidden: Bool + @inlinable public var hidden: Bool { jsObject[Strings.hidden].fromJSValue()! } - @ReadonlyAttribute - public var visibilityState: DocumentVisibilityState + @inlinable public var visibilityState: DocumentVisibilityState { jsObject[Strings.visibilityState].fromJSValue()! } - @ClosureAttribute1Optional - public var onreadystatechange: EventHandler + @inlinable public var onreadystatechange: EventHandler { + get { + guard let function = jsObject[Strings.onreadystatechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onreadystatechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onreadystatechange] = .null + } + } + } - @ClosureAttribute1Optional - public var onvisibilitychange: EventHandler + @inlinable public var onvisibilitychange: EventHandler { + get { + guard let function = jsObject[Strings.onvisibilitychange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onvisibilitychange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onvisibilitychange] = .null + } + } + } - @ReadWriteAttribute - public var fgColor: String + @inlinable public var fgColor: String { + get { jsObject[Strings.fgColor].fromJSValue()! } + set { jsObject[Strings.fgColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var linkColor: String + @inlinable public var linkColor: String { + get { jsObject[Strings.linkColor].fromJSValue()! } + set { jsObject[Strings.linkColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vlinkColor: String + @inlinable public var vlinkColor: String { + get { jsObject[Strings.vlinkColor].fromJSValue()! } + set { jsObject[Strings.vlinkColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var alinkColor: String + @inlinable public var alinkColor: String { + get { jsObject[Strings.alinkColor].fromJSValue()! } + set { jsObject[Strings.alinkColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var bgColor: String + @inlinable public var bgColor: String { + get { jsObject[Strings.bgColor].fromJSValue()! } + set { jsObject[Strings.bgColor] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var anchors: HTMLCollection + @inlinable public var anchors: HTMLCollection { jsObject[Strings.anchors].fromJSValue()! } - @ReadonlyAttribute - public var applets: HTMLCollection + @inlinable public var applets: HTMLCollection { jsObject[Strings.applets].fromJSValue()! } - @inlinable public func clear() { + @inlinable final public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } - @inlinable public func captureEvents() { + @inlinable final public func captureEvents() { let this = jsObject _ = this[Strings.captureEvents].function!(this: this, arguments: []) } - @inlinable public func releaseEvents() { + @inlinable final public func releaseEvents() { let this = jsObject _ = this[Strings.releaseEvents].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var all: HTMLAllCollection + @inlinable public var all: HTMLAllCollection { jsObject[Strings.all].fromJSValue()! } - @inlinable public func elementFromPoint(x: Double, y: Double) -> Element? { + @inlinable final public func elementFromPoint(x: Double, y: Double) -> Element? { let this = jsObject - return this[Strings.elementFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue() + return this[Strings.elementFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) + .fromJSValue() } - @inlinable public func elementsFromPoint(x: Double, y: Double) -> [Element] { + @inlinable final public func elementsFromPoint(x: Double, y: Double) -> [Element] { let this = jsObject - return this[Strings.elementsFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue()! + return this[Strings.elementsFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) + .fromJSValue()! } - @inlinable public func caretPositionFromPoint(x: Double, y: Double) -> CaretPosition? { + @inlinable final public func caretPositionFromPoint( + x: Double, + y: Double, + options: CaretPositionFromPointOptions? = nil + ) -> CaretPosition? { let this = jsObject - return this[Strings.caretPositionFromPoint].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]).fromJSValue() + return this[Strings.caretPositionFromPoint].function!( + this: this, + arguments: [_toJSValue(x), _toJSValue(y), _toJSValue(options)] + ).fromJSValue() } - @ReadonlyAttribute - public var scrollingElement: Element? + @inlinable public var scrollingElement: Element? { jsObject[Strings.scrollingElement].fromJSValue() } } open class DocumentFragment: Node, NonElementParentNode, ParentNode { - @inlinable override open class var constructor: JSFunction? { JSObject.global[Strings.DocumentFragment].function } + @inlinable open override class var constructor: JSFunction? { JSObject.global[Strings.DocumentFragment].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } } public protocol DocumentOrShadowRoot: JSBridgedClass {} -public extension DocumentOrShadowRoot { - @inlinable var activeElement: Element? { jsObject[Strings.activeElement].fromJSValue() } +extension DocumentOrShadowRoot { + @inlinable public var activeElement: Element? { jsObject[Strings.activeElement].fromJSValue() } } - public enum DocumentReadyState: JSString, JSValueCompatible { case loading = "loading" case interactive = "interactive" case complete = "complete" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class DocumentType: Node, ChildNode { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DocumentType].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DocumentType].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _publicId = ReadonlyAttribute(jsObject: jsObject, name: Strings.publicId) - _systemId = ReadonlyAttribute(jsObject: jsObject, name: Strings.systemId) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ReadonlyAttribute - public var publicId: String + @inlinable public var publicId: String { jsObject[Strings.publicId].fromJSValue()! } - @ReadonlyAttribute - public var systemId: String + @inlinable public var systemId: String { jsObject[Strings.systemId].fromJSValue()! } } public enum DocumentVisibilityState: JSString, JSValueCompatible { @@ -4466,436 +4818,478 @@ public enum DocumentVisibilityState: JSString, JSValueCompatible { case hidden = "hidden" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class DoubleRange: JSDictionaryCompatible { + public let jsObject: JSObject -public class DoubleRange: BridgedDictionary { - public convenience init(max: Double, min: Double) { + public convenience init(max: Double? = nil, min: Double? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.max] = _toJSValue(max) object[Strings.min] = _toJSValue(min) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _max = ReadWriteAttribute(jsObject: object, name: Strings.max) - _min = ReadWriteAttribute(jsObject: object, name: Strings.min) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var max: Double? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var min: Double? + @inlinable public var max: Double { + get { jsObject[Strings.max].fromJSValue()! } + set { jsObject[Strings.max] = _toJSValue(newValue) } + } + @inlinable public var min: Double { + get { jsObject[Strings.min].fromJSValue()! } + set { jsObject[Strings.min] = _toJSValue(newValue) } + } } - public class DragEvent: MouseEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.DragEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.DragEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _dataTransfer = ReadonlyAttribute(jsObject: jsObject, name: Strings.dataTransfer) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: DragEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var dataTransfer: DataTransfer? + @inlinable public var dataTransfer: DataTransfer? { jsObject[Strings.dataTransfer].fromJSValue() } } -public class DragEventInit: BridgedDictionary { - public convenience init(dataTransfer: DataTransfer?) { +open class DragEventInit: MouseEventInit { + + public convenience init( + screenX: Int32? = nil, + screenY: Int32? = nil, + clientX: Int32? = nil, + clientY: Int32? = nil, + button: Int16? = nil, + buttons: UInt16? = nil, + relatedTarget: EventTarget?, + dataTransfer: DataTransfer? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.screenX] = _toJSValue(screenX) + object[Strings.screenY] = _toJSValue(screenY) + object[Strings.clientX] = _toJSValue(clientX) + object[Strings.clientY] = _toJSValue(clientY) + object[Strings.button] = _toJSValue(button) + object[Strings.buttons] = _toJSValue(buttons) + object[Strings.relatedTarget] = _toJSValue(relatedTarget) object[Strings.dataTransfer] = _toJSValue(dataTransfer) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _dataTransfer = ReadWriteAttribute(jsObject: object, name: Strings.dataTransfer) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var dataTransfer: DataTransfer? + @inlinable public var dataTransfer: DataTransfer? { + get { jsObject[Strings.dataTransfer].fromJSValue() } + set { jsObject[Strings.dataTransfer] = _toJSValue(newValue) } + } } - open class Element: Node, ParentNode, NonDocumentTypeChildNode, ChildNode, Slottable, ARIAMixin, GeometryUtils { - @inlinable override open class var constructor: JSFunction? { JSObject.global[Strings.Element].function } + @inlinable open override class var constructor: JSFunction? { JSObject.global[Strings.Element].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _namespaceURI = ReadonlyAttribute(jsObject: jsObject, name: Strings.namespaceURI) - _prefix = ReadonlyAttribute(jsObject: jsObject, name: Strings.prefix) - _localName = ReadonlyAttribute(jsObject: jsObject, name: Strings.localName) - _tagName = ReadonlyAttribute(jsObject: jsObject, name: Strings.tagName) - _id = ReadWriteAttribute(jsObject: jsObject, name: Strings.id) - _className = ReadWriteAttribute(jsObject: jsObject, name: Strings.className) - _classList = ReadonlyAttribute(jsObject: jsObject, name: Strings.classList) - _slot = ReadWriteAttribute(jsObject: jsObject, name: Strings.slot) - _attributes = ReadonlyAttribute(jsObject: jsObject, name: Strings.attributes) - _shadowRoot = ReadonlyAttribute(jsObject: jsObject, name: Strings.shadowRoot) - _scrollTop = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollTop) - _scrollLeft = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollLeft) - _scrollWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollWidth) - _scrollHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollHeight) - _clientTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientTop) - _clientLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientLeft) - _clientWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientWidth) - _clientHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientHeight) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var namespaceURI: String? + @inlinable public var namespaceURI: String? { jsObject[Strings.namespaceURI].fromJSValue() } - @ReadonlyAttribute - public var prefix: String? + @inlinable public var prefix: String? { jsObject[Strings.prefix].fromJSValue() } - @ReadonlyAttribute - public var localName: String + @inlinable public var localName: String { jsObject[Strings.localName].fromJSValue()! } - @ReadonlyAttribute - public var tagName: String + @inlinable public var tagName: String { jsObject[Strings.tagName].fromJSValue()! } - @ReadWriteAttribute - public var id: String + @inlinable public var id: String { + get { jsObject[Strings.id].fromJSValue()! } + set { jsObject[Strings.id] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var className: String + @inlinable public var className: String { + get { jsObject[Strings.className].fromJSValue()! } + set { jsObject[Strings.className] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var classList: DOMTokenList + @inlinable public var classList: DOMTokenList { jsObject[Strings.classList].fromJSValue()! } - @ReadWriteAttribute - public var slot: String + @inlinable public var slot: String { + get { jsObject[Strings.slot].fromJSValue()! } + set { jsObject[Strings.slot] = _toJSValue(newValue) } + } - @inlinable public func hasAttributes() -> Bool { + @inlinable final public func hasAttributes() -> Bool { let this = jsObject return this[Strings.hasAttributes].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var attributes: NamedNodeMap + @inlinable public var attributes: NamedNodeMap { jsObject[Strings.attributes].fromJSValue()! } - @inlinable public func getAttributeNames() -> [String] { + @inlinable final public func getAttributeNames() -> [String] { let this = jsObject return this[Strings.getAttributeNames].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getAttribute(qualifiedName: String) -> String? { + @inlinable final public func getAttribute(qualifiedName: String) -> String? { let this = jsObject return this[Strings.getAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue() } - @inlinable public func getAttributeNS(namespace: String?, localName: String) -> String? { + @inlinable final public func getAttributeNS(namespace: String?, localName: String) -> String? { let this = jsObject - return this[Strings.getAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue() + return this[Strings.getAttributeNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue() } - @inlinable public func setAttribute(qualifiedName: String, value: String) { + @inlinable final public func setAttribute(qualifiedName: String, value: String) { let this = jsObject _ = this[Strings.setAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName), _toJSValue(value)]) } - @inlinable public func setAttributeNS(namespace: String?, qualifiedName: String, value: String) { + @inlinable final public func setAttributeNS(namespace: String?, qualifiedName: String, value: String) { let this = jsObject - _ = this[Strings.setAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(value)]) + _ = this[Strings.setAttributeNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(qualifiedName), _toJSValue(value)] + ) } - @inlinable public func removeAttribute(qualifiedName: String) { + @inlinable final public func removeAttribute(qualifiedName: String) { let this = jsObject _ = this[Strings.removeAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName)]) } - @inlinable public func removeAttributeNS(namespace: String?, localName: String) { + @inlinable final public func removeAttributeNS(namespace: String?, localName: String) { let this = jsObject - _ = this[Strings.removeAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]) + _ = this[Strings.removeAttributeNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ) } - @inlinable public func toggleAttribute(qualifiedName: String, force: Bool? = nil) -> Bool { + @inlinable final public func toggleAttribute(qualifiedName: String, force: Bool? = nil) -> Bool { let this = jsObject - return this[Strings.toggleAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName), _toJSValue(force)]).fromJSValue()! + return this[Strings.toggleAttribute].function!( + this: this, + arguments: [_toJSValue(qualifiedName), _toJSValue(force)] + ).fromJSValue()! } - @inlinable public func hasAttribute(qualifiedName: String) -> Bool { + @inlinable final public func hasAttribute(qualifiedName: String) -> Bool { let this = jsObject return this[Strings.hasAttribute].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue()! } - @inlinable public func hasAttributeNS(namespace: String?, localName: String) -> Bool { + @inlinable final public func hasAttributeNS(namespace: String?, localName: String) -> Bool { let this = jsObject - return this[Strings.hasAttributeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue()! + return this[Strings.hasAttributeNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue()! } - @inlinable public func getAttributeNode(qualifiedName: String) -> Attr? { + @inlinable final public func getAttributeNode(qualifiedName: String) -> Attr? { let this = jsObject - return this[Strings.getAttributeNode].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue() + return this[Strings.getAttributeNode].function!(this: this, arguments: [_toJSValue(qualifiedName)]) + .fromJSValue() } - @inlinable public func getAttributeNodeNS(namespace: String?, localName: String) -> Attr? { + @inlinable final public func getAttributeNodeNS(namespace: String?, localName: String) -> Attr? { let this = jsObject - return this[Strings.getAttributeNodeNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue() + return this[Strings.getAttributeNodeNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue() } - @inlinable public func setAttributeNode(attr: Attr) -> Attr? { + @inlinable final public func setAttributeNode(attr: Attr) -> Attr? { let this = jsObject return this[Strings.setAttributeNode].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue() } - @inlinable public func setAttributeNodeNS(attr: Attr) -> Attr? { + @inlinable final public func setAttributeNodeNS(attr: Attr) -> Attr? { let this = jsObject return this[Strings.setAttributeNodeNS].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue() } - @inlinable public func removeAttributeNode(attr: Attr) -> Attr { + @inlinable final public func removeAttributeNode(attr: Attr) -> Attr { let this = jsObject return this[Strings.removeAttributeNode].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue()! } - @inlinable public func attachShadow(init: ShadowRootInit) -> ShadowRoot { + @inlinable final public func attachShadow(`init`: ShadowRootInit) -> ShadowRoot { let this = jsObject return this[Strings.attachShadow].function!(this: this, arguments: [_toJSValue(`init`)]).fromJSValue()! } - @ReadonlyAttribute - public var shadowRoot: ShadowRoot? + @inlinable public var shadowRoot: ShadowRoot? { jsObject[Strings.shadowRoot].fromJSValue() } - @inlinable public func closest(selectors: String) -> Element? { + @inlinable final public func closest(selectors: String) -> Element? { let this = jsObject return this[Strings.closest].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue() } - @inlinable public func matches(selectors: String) -> Bool { + @inlinable final public func matches(selectors: String) -> Bool { let this = jsObject return this[Strings.matches].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue()! } - @inlinable public func webkitMatchesSelector(selectors: String) -> Bool { + @inlinable final public func webkitMatchesSelector(selectors: String) -> Bool { let this = jsObject - return this[Strings.webkitMatchesSelector].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue()! + return this[Strings.webkitMatchesSelector].function!(this: this, arguments: [_toJSValue(selectors)]) + .fromJSValue()! } - @inlinable public func getElementsByTagName(qualifiedName: String) -> HTMLCollection { + @inlinable final public func getElementsByTagName(qualifiedName: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByTagName].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue()! + return this[Strings.getElementsByTagName].function!(this: this, arguments: [_toJSValue(qualifiedName)]) + .fromJSValue()! } - @inlinable public func getElementsByTagNameNS(namespace: String?, localName: String) -> HTMLCollection { + @inlinable final public func getElementsByTagNameNS(namespace: String?, localName: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByTagNameNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue()! + return this[Strings.getElementsByTagNameNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue()! } - @inlinable public func getElementsByClassName(classNames: String) -> HTMLCollection { + @inlinable final public func getElementsByClassName(classNames: String) -> HTMLCollection { let this = jsObject - return this[Strings.getElementsByClassName].function!(this: this, arguments: [_toJSValue(classNames)]).fromJSValue()! + return this[Strings.getElementsByClassName].function!(this: this, arguments: [_toJSValue(classNames)]) + .fromJSValue()! } - @inlinable public func insertAdjacentElement(where: String, element: Element) -> Element? { + @inlinable final public func insertAdjacentElement(`where`: String, element: Element) -> Element? { let this = jsObject - return this[Strings.insertAdjacentElement].function!(this: this, arguments: [_toJSValue(`where`), _toJSValue(element)]).fromJSValue() + return this[Strings.insertAdjacentElement].function!( + this: this, + arguments: [_toJSValue(`where`), _toJSValue(element)] + ).fromJSValue() } - @inlinable public func insertAdjacentText(where: String, data: String) { + @inlinable final public func insertAdjacentText(`where`: String, data: String) { let this = jsObject _ = this[Strings.insertAdjacentText].function!(this: this, arguments: [_toJSValue(`where`), _toJSValue(data)]) } - @inlinable public func pseudo(type: String) -> CSSPseudoElement? { + @inlinable final public func setHTMLUnsafe(html: String_or_TrustedHTML) { + let this = jsObject + _ = this[Strings.setHTMLUnsafe].function!(this: this, arguments: [_toJSValue(html)]) + } + + @inlinable final public func getHTML(options: GetHTMLOptions? = nil) -> String { + let this = jsObject + return this[Strings.getHTML].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! + } + + @inlinable public var innerHTML: String_or_TrustedHTML { + get { jsObject[Strings.innerHTML].fromJSValue()! } + set { jsObject[Strings.innerHTML] = _toJSValue(newValue) } + } + + @inlinable public var outerHTML: String_or_TrustedHTML { + get { jsObject[Strings.outerHTML].fromJSValue()! } + set { jsObject[Strings.outerHTML] = _toJSValue(newValue) } + } + + @inlinable final public func insertAdjacentHTML(position: String, string: String_or_TrustedHTML) { + let this = jsObject + _ = this[Strings.insertAdjacentHTML].function!( + this: this, + arguments: [_toJSValue(position), _toJSValue(string)] + ) + } + + @inlinable final public func pseudo(type: String) -> CSSPseudoElement? { let this = jsObject return this[Strings.pseudo].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue() } - @inlinable public func getClientRects() -> DOMRectList { + @inlinable final public func getClientRects() -> DOMRectList { let this = jsObject return this[Strings.getClientRects].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getBoundingClientRect() -> DOMRect { + @inlinable final public func getBoundingClientRect() -> DOMRect { let this = jsObject return this[Strings.getBoundingClientRect].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func checkVisibility(options: CheckVisibilityOptions? = nil) -> Bool { + @inlinable final public func checkVisibility(options: CheckVisibilityOptions? = nil) -> Bool { let this = jsObject return this[Strings.checkVisibility].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func scrollIntoView(arg: Bool_or_ScrollIntoViewOptions? = nil) { + @inlinable final public func scrollIntoView(arg: Bool_or_ScrollIntoViewOptions? = nil) { let this = jsObject _ = this[Strings.scrollIntoView].function!(this: this, arguments: [_toJSValue(arg)]) } - @inlinable public func scroll(options: ScrollToOptions? = nil) { + @inlinable final public func scroll(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scroll(x: Double, y: Double) { + @inlinable final public func scroll(x: Double, y: Double) { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func scrollTo(options: ScrollToOptions? = nil) { + @inlinable final public func scrollTo(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scrollTo].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scrollTo(x: Double, y: Double) { + @inlinable final public func scrollTo(x: Double, y: Double) { let this = jsObject _ = this[Strings.scrollTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func scrollBy(options: ScrollToOptions? = nil) { + @inlinable final public func scrollBy(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scrollBy].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scrollBy(x: Double, y: Double) { + @inlinable final public func scrollBy(x: Double, y: Double) { let this = jsObject _ = this[Strings.scrollBy].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @ReadWriteAttribute - public var scrollTop: Double + @inlinable public var scrollTop: Double { + get { jsObject[Strings.scrollTop].fromJSValue()! } + set { jsObject[Strings.scrollTop] = _toJSValue(newValue) } + } + + @inlinable public var scrollLeft: Double { + get { jsObject[Strings.scrollLeft].fromJSValue()! } + set { jsObject[Strings.scrollLeft] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var scrollLeft: Double + @inlinable public var scrollWidth: Int32 { jsObject[Strings.scrollWidth].fromJSValue()! } - @ReadonlyAttribute - public var scrollWidth: Int32 + @inlinable public var scrollHeight: Int32 { jsObject[Strings.scrollHeight].fromJSValue()! } - @ReadonlyAttribute - public var scrollHeight: Int32 + @inlinable public var clientTop: Int32 { jsObject[Strings.clientTop].fromJSValue()! } - @ReadonlyAttribute - public var clientTop: Int32 + @inlinable public var clientLeft: Int32 { jsObject[Strings.clientLeft].fromJSValue()! } - @ReadonlyAttribute - public var clientLeft: Int32 + @inlinable public var clientWidth: Int32 { jsObject[Strings.clientWidth].fromJSValue()! } - @ReadonlyAttribute - public var clientWidth: Int32 + @inlinable public var clientHeight: Int32 { jsObject[Strings.clientHeight].fromJSValue()! } - @ReadonlyAttribute - public var clientHeight: Int32 + @inlinable public var currentCSSZoom: Double { jsObject[Strings.currentCSSZoom].fromJSValue()! } } public protocol ElementContentEditable: JSBridgedClass {} -public extension ElementContentEditable { - @inlinable var contentEditable: String { +extension ElementContentEditable { + @inlinable public var contentEditable: String { get { jsObject[Strings.contentEditable].fromJSValue()! } - nonmutating set { jsObject[Strings.contentEditable] = _toJSValue(newValue) } + set { jsObject[Strings.contentEditable] = _toJSValue(newValue) } } - @inlinable var enterKeyHint: String { + @inlinable public var enterKeyHint: String { get { jsObject[Strings.enterKeyHint].fromJSValue()! } - nonmutating set { jsObject[Strings.enterKeyHint] = _toJSValue(newValue) } + set { jsObject[Strings.enterKeyHint] = _toJSValue(newValue) } } - @inlinable var isContentEditable: Bool { jsObject[Strings.isContentEditable].fromJSValue()! } + @inlinable public var isContentEditable: Bool { jsObject[Strings.isContentEditable].fromJSValue()! } - @inlinable var inputMode: String { + @inlinable public var inputMode: String { get { jsObject[Strings.inputMode].fromJSValue()! } - nonmutating set { jsObject[Strings.inputMode] = _toJSValue(newValue) } + set { jsObject[Strings.inputMode] = _toJSValue(newValue) } } } +open class ElementCreationOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ElementCreationOptions: BridgedDictionary { - public convenience init(is: String) { + public convenience init(`is`: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.is] = _toJSValue(`is`) + object[Strings.`is`] = _toJSValue(`is`) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _is = ReadWriteAttribute(jsObject: object, name: Strings.is) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var `is`: String? + @inlinable public var `is`: String { + get { jsObject[Strings.`is`].fromJSValue()! } + set { jsObject[Strings.`is`] = _toJSValue(newValue) } + } } +open class ElementDefinitionOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ElementDefinitionOptions: BridgedDictionary { - public convenience init(extends: String) { + public convenience init(extends: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.extends] = _toJSValue(extends) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _extends = ReadWriteAttribute(jsObject: object, name: Strings.extends) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var extends: String? + @inlinable public var extends: String { + get { jsObject[Strings.extends].fromJSValue()! } + set { jsObject[Strings.extends] = _toJSValue(newValue) } + } } - public class ElementInternals: JSBridgedClass, ARIAMixin { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ElementInternals].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _shadowRoot = ReadonlyAttribute(jsObject: jsObject, name: Strings.shadowRoot) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var shadowRoot: ShadowRoot? + @inlinable public var shadowRoot: ShadowRoot? { jsObject[Strings.shadowRoot].fromJSValue() } - @inlinable public func setFormValue(value: File_or_FormData_or_String?, state: File_or_FormData_or_String? = nil) { + @inlinable final public func setFormValue( + value: File_or_FormData_or_String?, + state: File_or_FormData_or_String? = nil + ) { let this = jsObject _ = this[Strings.setFormValue].function!(this: this, arguments: [_toJSValue(value), _toJSValue(state)]) } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @inlinable public func setValidity(flags: ValidityStateFlags? = nil, message: String? = nil, anchor: HTMLElement? = nil) { + @inlinable final public func setValidity( + flags: ValidityStateFlags? = nil, + message: String? = nil, + anchor: HTMLElement? = nil + ) { let this = jsObject - _ = this[Strings.setValidity].function!(this: this, arguments: [_toJSValue(flags), _toJSValue(message), _toJSValue(anchor)]) + _ = this[Strings.setValidity].function!( + this: this, + arguments: [_toJSValue(flags), _toJSValue(message), _toJSValue(anchor)] + ) } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var labels: NodeList + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } + + @inlinable public var states: CustomStateSet { jsObject[Strings.states].fromJSValue()! } } public class EncodedAudioChunk: JSBridgedClass { @@ -4903,354 +5297,325 @@ public class EncodedAudioChunk: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - _byteLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.byteLength) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: EncodedAudioChunkInit) { + @inlinable public convenience init(`init`: EncodedAudioChunkInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var type: EncodedAudioChunkType + @inlinable public var type: EncodedAudioChunkType { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var timestamp: Int64 + @inlinable public var timestamp: Int64 { jsObject[Strings.timestamp].fromJSValue()! } - @ReadonlyAttribute - public var duration: UInt64? + @inlinable public var duration: UInt64? { jsObject[Strings.duration].fromJSValue() } - @ReadonlyAttribute - public var byteLength: UInt32 + @inlinable public var byteLength: UInt32 { jsObject[Strings.byteLength].fromJSValue()! } - @inlinable public func copyTo(destination: AllowSharedBufferSource) { + @inlinable final public func copyTo(destination: AllowSharedBufferSource) { let this = jsObject _ = this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination)]) } } -public class EncodedAudioChunkInit: BridgedDictionary { - public convenience init(type: EncodedAudioChunkType, timestamp: Int64, duration: UInt64, data: BufferSource) { +open class EncodedAudioChunkInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + type: EncodedAudioChunkType, + timestamp: Int64, + duration: UInt64? = nil, + data: AllowSharedBufferSource, + transfer: [ArrayBuffer]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.timestamp] = _toJSValue(timestamp) object[Strings.duration] = _toJSValue(duration) object[Strings.data] = _toJSValue(data) - self.init(unsafelyWrapping: object) - } + object[Strings.transfer] = _toJSValue(transfer) - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) - _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: EncodedAudioChunkType + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var timestamp: Int64 - - @ReadWriteAttribute - public var duration: UInt64? - - @ReadWriteAttribute - public var data: BufferSource + @inlinable public var type: EncodedAudioChunkType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var timestamp: Int64 { + get { jsObject[Strings.timestamp].fromJSValue()! } + set { jsObject[Strings.timestamp] = _toJSValue(newValue) } + } + @inlinable public var duration: UInt64 { + get { jsObject[Strings.duration].fromJSValue()! } + set { jsObject[Strings.duration] = _toJSValue(newValue) } + } + @inlinable public var data: AllowSharedBufferSource { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } + @inlinable public var transfer: [ArrayBuffer] { + get { jsObject[Strings.transfer].fromJSValue()! } + set { jsObject[Strings.transfer] = _toJSValue(newValue) } + } } +open class EncodedAudioChunkMetadata: JSDictionaryCompatible { + public let jsObject: JSObject -public class EncodedAudioChunkMetadata: BridgedDictionary { - public convenience init(decoderConfig: AudioDecoderConfig) { + public convenience init(decoderConfig: AudioDecoderConfig? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.decoderConfig] = _toJSValue(decoderConfig) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _decoderConfig = ReadWriteAttribute(jsObject: object, name: Strings.decoderConfig) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var decoderConfig: AudioDecoderConfig? + @inlinable public var decoderConfig: AudioDecoderConfig { + get { jsObject[Strings.decoderConfig].fromJSValue()! } + set { jsObject[Strings.decoderConfig] = _toJSValue(newValue) } + } } - public enum EncodedAudioChunkType: JSString, JSValueCompatible { case key = "key" case delta = "delta" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class EncodedVideoChunk: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.EncodedVideoChunk].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - _byteLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.byteLength) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: EncodedVideoChunkInit) { + @inlinable public convenience init(`init`: EncodedVideoChunkInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var type: EncodedVideoChunkType + @inlinable public var type: EncodedVideoChunkType { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var timestamp: Int64 + @inlinable public var timestamp: Int64 { jsObject[Strings.timestamp].fromJSValue()! } - @ReadonlyAttribute - public var duration: UInt64? + @inlinable public var duration: UInt64? { jsObject[Strings.duration].fromJSValue() } - @ReadonlyAttribute - public var byteLength: UInt32 + @inlinable public var byteLength: UInt32 { jsObject[Strings.byteLength].fromJSValue()! } - @inlinable public func copyTo(destination: AllowSharedBufferSource) { + @inlinable final public func copyTo(destination: AllowSharedBufferSource) { let this = jsObject _ = this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination)]) } } -public class EncodedVideoChunkInit: BridgedDictionary { - public convenience init(type: EncodedVideoChunkType, timestamp: Int64, duration: UInt64, data: AllowSharedBufferSource) { +open class EncodedVideoChunkInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + type: EncodedVideoChunkType, + timestamp: Int64, + duration: UInt64? = nil, + data: AllowSharedBufferSource, + transfer: [ArrayBuffer]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.timestamp] = _toJSValue(timestamp) object[Strings.duration] = _toJSValue(duration) object[Strings.data] = _toJSValue(data) - self.init(unsafelyWrapping: object) - } + object[Strings.transfer] = _toJSValue(transfer) - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) - _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: EncodedVideoChunkType - - @ReadWriteAttribute - public var timestamp: Int64 - - @ReadWriteAttribute - public var duration: UInt64? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var data: AllowSharedBufferSource + @inlinable public var type: EncodedVideoChunkType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var timestamp: Int64 { + get { jsObject[Strings.timestamp].fromJSValue()! } + set { jsObject[Strings.timestamp] = _toJSValue(newValue) } + } + @inlinable public var duration: UInt64 { + get { jsObject[Strings.duration].fromJSValue()! } + set { jsObject[Strings.duration] = _toJSValue(newValue) } + } + @inlinable public var data: AllowSharedBufferSource { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } + @inlinable public var transfer: [ArrayBuffer] { + get { jsObject[Strings.transfer].fromJSValue()! } + set { jsObject[Strings.transfer] = _toJSValue(newValue) } + } } +open class EncodedVideoChunkMetadata: JSDictionaryCompatible { + public let jsObject: JSObject -public class EncodedVideoChunkMetadata: BridgedDictionary { - public convenience init(decoderConfig: VideoDecoderConfig, svc: SvcOutputMetadata, alphaSideData: BufferSource) { + public convenience init( + decoderConfig: VideoDecoderConfig? = nil, + svc: SvcOutputMetadata? = nil, + alphaSideData: BufferSource? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.decoderConfig] = _toJSValue(decoderConfig) object[Strings.svc] = _toJSValue(svc) object[Strings.alphaSideData] = _toJSValue(alphaSideData) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _decoderConfig = ReadWriteAttribute(jsObject: object, name: Strings.decoderConfig) - _svc = ReadWriteAttribute(jsObject: object, name: Strings.svc) - _alphaSideData = ReadWriteAttribute(jsObject: object, name: Strings.alphaSideData) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var decoderConfig: VideoDecoderConfig? - - @ReadWriteAttribute - public var svc: SvcOutputMetadata? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var alphaSideData: BufferSource? + @inlinable public var decoderConfig: VideoDecoderConfig { + get { jsObject[Strings.decoderConfig].fromJSValue()! } + set { jsObject[Strings.decoderConfig] = _toJSValue(newValue) } + } + @inlinable public var svc: SvcOutputMetadata { + get { jsObject[Strings.svc].fromJSValue()! } + set { jsObject[Strings.svc] = _toJSValue(newValue) } + } + @inlinable public var alphaSideData: BufferSource { + get { jsObject[Strings.alphaSideData].fromJSValue()! } + set { jsObject[Strings.alphaSideData] = _toJSValue(newValue) } + } } - public enum EncodedVideoChunkType: JSString, JSValueCompatible { case key = "key" case delta = "delta" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum EndOfStreamError: JSString, JSValueCompatible { case network = "network" case decode = "decode" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum EndingType: JSString, JSValueCompatible { case transparent = "transparent" case native = "native" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class ErrorEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ErrorEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.ErrorEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _message = ReadonlyAttribute(jsObject: jsObject, name: Strings.message) - _filename = ReadonlyAttribute(jsObject: jsObject, name: Strings.filename) - _lineno = ReadonlyAttribute(jsObject: jsObject, name: Strings.lineno) - _colno = ReadonlyAttribute(jsObject: jsObject, name: Strings.colno) - _error = ReadonlyAttribute(jsObject: jsObject, name: Strings.error) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: ErrorEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var message: String + @inlinable public var message: String { jsObject[Strings.message].fromJSValue()! } - @ReadonlyAttribute - public var filename: String + @inlinable public var filename: String { jsObject[Strings.filename].fromJSValue()! } - @ReadonlyAttribute - public var lineno: UInt32 + @inlinable public var lineno: UInt32 { jsObject[Strings.lineno].fromJSValue()! } - @ReadonlyAttribute - public var colno: UInt32 + @inlinable public var colno: UInt32 { jsObject[Strings.colno].fromJSValue()! } - @ReadonlyAttribute - public var error: JSValue + @inlinable public var error: JSValue { jsObject[Strings.error].fromJSValue()! } } -public class ErrorEventInit: BridgedDictionary { - public convenience init(message: String, filename: String, lineno: UInt32, colno: UInt32, error: JSValue) { +open class ErrorEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + message: String? = nil, + filename: String? = nil, + lineno: UInt32? = nil, + colno: UInt32? = nil, + error: JSValue? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.message] = _toJSValue(message) object[Strings.filename] = _toJSValue(filename) object[Strings.lineno] = _toJSValue(lineno) object[Strings.colno] = _toJSValue(colno) object[Strings.error] = _toJSValue(error) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _message = ReadWriteAttribute(jsObject: object, name: Strings.message) - _filename = ReadWriteAttribute(jsObject: object, name: Strings.filename) - _lineno = ReadWriteAttribute(jsObject: object, name: Strings.lineno) - _colno = ReadWriteAttribute(jsObject: object, name: Strings.colno) - _error = ReadWriteAttribute(jsObject: object, name: Strings.error) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var message: String? - - @ReadWriteAttribute - public var filename: String? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var lineno: UInt32? - - @ReadWriteAttribute - public var colno: UInt32? - - @ReadWriteAttribute - public var error: JSValue? + @inlinable public var message: String { + get { jsObject[Strings.message].fromJSValue()! } + set { jsObject[Strings.message] = _toJSValue(newValue) } + } + @inlinable public var filename: String { + get { jsObject[Strings.filename].fromJSValue()! } + set { jsObject[Strings.filename] = _toJSValue(newValue) } + } + @inlinable public var lineno: UInt32 { + get { jsObject[Strings.lineno].fromJSValue()! } + set { jsObject[Strings.lineno] = _toJSValue(newValue) } + } + @inlinable public var colno: UInt32 { + get { jsObject[Strings.colno].fromJSValue()! } + set { jsObject[Strings.colno] = _toJSValue(newValue) } + } + @inlinable public var error: JSValue { + get { jsObject[Strings.error].fromJSValue()! } + set { jsObject[Strings.error] = _toJSValue(newValue) } + } } - open class Event: JSBridgedClass { @inlinable open class var constructor: JSFunction? { JSObject.global[Strings.Event].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _target = ReadonlyAttribute(jsObject: jsObject, name: Strings.target) - _srcElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.srcElement) - _currentTarget = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentTarget) - _eventPhase = ReadonlyAttribute(jsObject: jsObject, name: Strings.eventPhase) - _cancelBubble = ReadWriteAttribute(jsObject: jsObject, name: Strings.cancelBubble) - _bubbles = ReadonlyAttribute(jsObject: jsObject, name: Strings.bubbles) - _cancelable = ReadonlyAttribute(jsObject: jsObject, name: Strings.cancelable) - _returnValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.returnValue) - _defaultPrevented = ReadonlyAttribute(jsObject: jsObject, name: Strings.defaultPrevented) - _composed = ReadonlyAttribute(jsObject: jsObject, name: Strings.composed) - _isTrusted = ReadonlyAttribute(jsObject: jsObject, name: Strings.isTrusted) - _timeStamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timeStamp) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(type: String, eventInitDict: EventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var target: EventTarget? + @inlinable public var target: EventTarget? { jsObject[Strings.target].fromJSValue() } - @ReadonlyAttribute - public var srcElement: EventTarget? + @inlinable public var srcElement: EventTarget? { jsObject[Strings.srcElement].fromJSValue() } - @ReadonlyAttribute - public var currentTarget: EventTarget? + @inlinable public var currentTarget: EventTarget? { jsObject[Strings.currentTarget].fromJSValue() } - @inlinable public func composedPath() -> [EventTarget] { + @inlinable final public func composedPath() -> [EventTarget] { let this = jsObject return this[Strings.composedPath].function!(this: this, arguments: []).fromJSValue()! } @@ -5263,100 +5628,125 @@ open class Event: JSBridgedClass { public static let BUBBLING_PHASE: UInt16 = 3 - @ReadonlyAttribute - public var eventPhase: UInt16 + @inlinable public var eventPhase: UInt16 { jsObject[Strings.eventPhase].fromJSValue()! } - @inlinable public func stopPropagation() { + @inlinable final public func stopPropagation() { let this = jsObject _ = this[Strings.stopPropagation].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var cancelBubble: Bool + @inlinable public var cancelBubble: Bool { + get { jsObject[Strings.cancelBubble].fromJSValue()! } + set { jsObject[Strings.cancelBubble] = _toJSValue(newValue) } + } - @inlinable public func stopImmediatePropagation() { + @inlinable final public func stopImmediatePropagation() { let this = jsObject _ = this[Strings.stopImmediatePropagation].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var bubbles: Bool + @inlinable public var bubbles: Bool { jsObject[Strings.bubbles].fromJSValue()! } - @ReadonlyAttribute - public var cancelable: Bool + @inlinable public var cancelable: Bool { jsObject[Strings.cancelable].fromJSValue()! } - @ReadWriteAttribute - public var returnValue: Bool + @inlinable public var returnValue: Bool { + get { jsObject[Strings.returnValue].fromJSValue()! } + set { jsObject[Strings.returnValue] = _toJSValue(newValue) } + } - @inlinable public func preventDefault() { + @inlinable final public func preventDefault() { let this = jsObject _ = this[Strings.preventDefault].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var defaultPrevented: Bool + @inlinable public var defaultPrevented: Bool { jsObject[Strings.defaultPrevented].fromJSValue()! } - @ReadonlyAttribute - public var composed: Bool + @inlinable public var composed: Bool { jsObject[Strings.composed].fromJSValue()! } - @ReadonlyAttribute - public var isTrusted: Bool + @inlinable public var isTrusted: Bool { jsObject[Strings.isTrusted].fromJSValue()! } - @ReadonlyAttribute - public var timeStamp: DOMHighResTimeStamp + @inlinable public var timeStamp: DOMHighResTimeStamp { jsObject[Strings.timeStamp].fromJSValue()! } - @inlinable public func initEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil) { + @inlinable final public func initEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil) { let this = jsObject - _ = this[Strings.initEvent].function!(this: this, arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable)]) + _ = this[Strings.initEvent].function!( + this: this, + arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable)] + ) } } -public class EventInit: BridgedDictionary { - public convenience init(bubbles: Bool, cancelable: Bool, composed: Bool) { +open class EventInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(bubbles: Bool? = nil, cancelable: Bool? = nil, composed: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.bubbles] = _toJSValue(bubbles) object[Strings.cancelable] = _toJSValue(cancelable) object[Strings.composed] = _toJSValue(composed) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _bubbles = ReadWriteAttribute(jsObject: object, name: Strings.bubbles) - _cancelable = ReadWriteAttribute(jsObject: object, name: Strings.cancelable) - _composed = ReadWriteAttribute(jsObject: object, name: Strings.composed) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var bubbles: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var cancelable: Bool? - - @ReadWriteAttribute - public var composed: Bool? + @inlinable public var bubbles: Bool { + get { jsObject[Strings.bubbles].fromJSValue()! } + set { jsObject[Strings.bubbles] = _toJSValue(newValue) } + } + @inlinable public var cancelable: Bool { + get { jsObject[Strings.cancelable].fromJSValue()! } + set { jsObject[Strings.cancelable] = _toJSValue(newValue) } + } + @inlinable public var composed: Bool { + get { jsObject[Strings.composed].fromJSValue()! } + set { jsObject[Strings.composed] = _toJSValue(newValue) } + } } public typealias EventListener = (Event) -> Void -public class EventListenerOptions: BridgedDictionary { - public convenience init(capture: Bool) { +open class EventListenerOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(capture: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.capture] = _toJSValue(capture) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _capture = ReadWriteAttribute(jsObject: object, name: Strings.capture) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var capture: Bool? -} - -public class EventModifierInit: BridgedDictionary { - public convenience init(ctrlKey: Bool, shiftKey: Bool, altKey: Bool, metaKey: Bool, modifierAltGraph: Bool, modifierCapsLock: Bool, modifierFn: Bool, modifierFnLock: Bool, modifierHyper: Bool, modifierNumLock: Bool, modifierScrollLock: Bool, modifierSuper: Bool, modifierSymbol: Bool, modifierSymbolLock: Bool) { + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var capture: Bool { + get { jsObject[Strings.capture].fromJSValue()! } + set { jsObject[Strings.capture] = _toJSValue(newValue) } + } +} +open class EventModifierInit: UIEventInit { + + public convenience init( + view: Window?, + detail: Int32? = nil, + which: UInt32? = nil, + ctrlKey: Bool? = nil, + shiftKey: Bool? = nil, + altKey: Bool? = nil, + metaKey: Bool? = nil, + modifierAltGraph: Bool? = nil, + modifierCapsLock: Bool? = nil, + modifierFn: Bool? = nil, + modifierFnLock: Bool? = nil, + modifierHyper: Bool? = nil, + modifierNumLock: Bool? = nil, + modifierScrollLock: Bool? = nil, + modifierSuper: Bool? = nil, + modifierSymbol: Bool? = nil, + modifierSymbolLock: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.view] = _toJSValue(view) + object[Strings.detail] = _toJSValue(detail) + object[Strings.which] = _toJSValue(which) object[Strings.ctrlKey] = _toJSValue(ctrlKey) object[Strings.shiftKey] = _toJSValue(shiftKey) object[Strings.altKey] = _toJSValue(altKey) @@ -5371,92 +5761,83 @@ public class EventModifierInit: BridgedDictionary { object[Strings.modifierSuper] = _toJSValue(modifierSuper) object[Strings.modifierSymbol] = _toJSValue(modifierSymbol) object[Strings.modifierSymbolLock] = _toJSValue(modifierSymbolLock) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _ctrlKey = ReadWriteAttribute(jsObject: object, name: Strings.ctrlKey) - _shiftKey = ReadWriteAttribute(jsObject: object, name: Strings.shiftKey) - _altKey = ReadWriteAttribute(jsObject: object, name: Strings.altKey) - _metaKey = ReadWriteAttribute(jsObject: object, name: Strings.metaKey) - _modifierAltGraph = ReadWriteAttribute(jsObject: object, name: Strings.modifierAltGraph) - _modifierCapsLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierCapsLock) - _modifierFn = ReadWriteAttribute(jsObject: object, name: Strings.modifierFn) - _modifierFnLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierFnLock) - _modifierHyper = ReadWriteAttribute(jsObject: object, name: Strings.modifierHyper) - _modifierNumLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierNumLock) - _modifierScrollLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierScrollLock) - _modifierSuper = ReadWriteAttribute(jsObject: object, name: Strings.modifierSuper) - _modifierSymbol = ReadWriteAttribute(jsObject: object, name: Strings.modifierSymbol) - _modifierSymbolLock = ReadWriteAttribute(jsObject: object, name: Strings.modifierSymbolLock) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var ctrlKey: Bool? - - @ReadWriteAttribute - public var shiftKey: Bool? - - @ReadWriteAttribute - public var altKey: Bool? - - @ReadWriteAttribute - public var metaKey: Bool? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var modifierAltGraph: Bool? - - @ReadWriteAttribute - public var modifierCapsLock: Bool? - - @ReadWriteAttribute - public var modifierFn: Bool? - - @ReadWriteAttribute - public var modifierFnLock: Bool? - - @ReadWriteAttribute - public var modifierHyper: Bool? - - @ReadWriteAttribute - public var modifierNumLock: Bool? - - @ReadWriteAttribute - public var modifierScrollLock: Bool? - - @ReadWriteAttribute - public var modifierSuper: Bool? - - @ReadWriteAttribute - public var modifierSymbol: Bool? - - @ReadWriteAttribute - public var modifierSymbolLock: Bool? + @inlinable public var ctrlKey: Bool { + get { jsObject[Strings.ctrlKey].fromJSValue()! } + set { jsObject[Strings.ctrlKey] = _toJSValue(newValue) } + } + @inlinable public var shiftKey: Bool { + get { jsObject[Strings.shiftKey].fromJSValue()! } + set { jsObject[Strings.shiftKey] = _toJSValue(newValue) } + } + @inlinable public var altKey: Bool { + get { jsObject[Strings.altKey].fromJSValue()! } + set { jsObject[Strings.altKey] = _toJSValue(newValue) } + } + @inlinable public var metaKey: Bool { + get { jsObject[Strings.metaKey].fromJSValue()! } + set { jsObject[Strings.metaKey] = _toJSValue(newValue) } + } + @inlinable public var modifierAltGraph: Bool { + get { jsObject[Strings.modifierAltGraph].fromJSValue()! } + set { jsObject[Strings.modifierAltGraph] = _toJSValue(newValue) } + } + @inlinable public var modifierCapsLock: Bool { + get { jsObject[Strings.modifierCapsLock].fromJSValue()! } + set { jsObject[Strings.modifierCapsLock] = _toJSValue(newValue) } + } + @inlinable public var modifierFn: Bool { + get { jsObject[Strings.modifierFn].fromJSValue()! } + set { jsObject[Strings.modifierFn] = _toJSValue(newValue) } + } + @inlinable public var modifierFnLock: Bool { + get { jsObject[Strings.modifierFnLock].fromJSValue()! } + set { jsObject[Strings.modifierFnLock] = _toJSValue(newValue) } + } + @inlinable public var modifierHyper: Bool { + get { jsObject[Strings.modifierHyper].fromJSValue()! } + set { jsObject[Strings.modifierHyper] = _toJSValue(newValue) } + } + @inlinable public var modifierNumLock: Bool { + get { jsObject[Strings.modifierNumLock].fromJSValue()! } + set { jsObject[Strings.modifierNumLock] = _toJSValue(newValue) } + } + @inlinable public var modifierScrollLock: Bool { + get { jsObject[Strings.modifierScrollLock].fromJSValue()! } + set { jsObject[Strings.modifierScrollLock] = _toJSValue(newValue) } + } + @inlinable public var modifierSuper: Bool { + get { jsObject[Strings.modifierSuper].fromJSValue()! } + set { jsObject[Strings.modifierSuper] = _toJSValue(newValue) } + } + @inlinable public var modifierSymbol: Bool { + get { jsObject[Strings.modifierSymbol].fromJSValue()! } + set { jsObject[Strings.modifierSymbol] = _toJSValue(newValue) } + } + @inlinable public var modifierSymbolLock: Bool { + get { jsObject[Strings.modifierSymbolLock].fromJSValue()! } + set { jsObject[Strings.modifierSymbolLock] = _toJSValue(newValue) } + } } - public class EventSource: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.EventSource].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.EventSource].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) - _withCredentials = ReadonlyAttribute(jsObject: jsObject, name: Strings.withCredentials) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _onopen = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onopen) - _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) - _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(url: String, eventSourceInitDict: EventSourceInit? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(url), _toJSValue(eventSourceInitDict)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(url), _toJSValue(eventSourceInitDict)]) + ) } - @ReadonlyAttribute - public var url: String + @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } - @ReadonlyAttribute - public var withCredentials: Bool + @inlinable public var withCredentials: Bool { jsObject[Strings.withCredentials].fromJSValue()! } public static let CONNECTING: UInt16 = 0 @@ -5464,103 +5845,154 @@ public class EventSource: EventTarget { public static let CLOSED: UInt16 = 2 - @ReadonlyAttribute - public var readyState: UInt16 + @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } - @ClosureAttribute1Optional - public var onopen: EventHandler + @inlinable public var onopen: EventHandler { + get { + guard let function = jsObject[Strings.onopen].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onopen] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onopen] = .null + } + } + } - @ClosureAttribute1Optional - public var onmessage: EventHandler + @inlinable public var onmessage: EventHandler { + get { + guard let function = jsObject[Strings.onmessage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessage] = .null + } + } + } - @ClosureAttribute1Optional - public var onerror: EventHandler + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } } -public class EventSourceInit: BridgedDictionary { - public convenience init(withCredentials: Bool) { +open class EventSourceInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(withCredentials: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.withCredentials] = _toJSValue(withCredentials) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _withCredentials = ReadWriteAttribute(jsObject: object, name: Strings.withCredentials) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var withCredentials: Bool? + @inlinable public var withCredentials: Bool { + get { jsObject[Strings.withCredentials].fromJSValue()! } + set { jsObject[Strings.withCredentials] = _toJSValue(newValue) } + } } - open class EventTarget: JSBridgedClass { @inlinable open class var constructor: JSFunction? { JSObject.global[Strings.EventTarget].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public func addEventListener(type: String, callback: EventListener?, options: AddEventListenerOptions_or_Bool? = nil) { + @inlinable final public func addEventListener( + type: String, + callback: EventListener?, + options: AddEventListenerOptions_or_Bool? = nil + ) { let this = jsObject - _ = this[Strings.addEventListener].function!(this: this, arguments: [_toJSValue(type), _toJSValue(callback), _toJSValue(options)]) + _ = this[Strings.addEventListener].function!( + this: this, + arguments: [_toJSValue(type), _toJSValue(callback), _toJSValue(options)] + ) } - @inlinable public func removeEventListener(type: String, callback: EventListener?, options: Bool_or_EventListenerOptions? = nil) { + @inlinable final public func removeEventListener( + type: String, + callback: EventListener?, + options: Bool_or_EventListenerOptions? = nil + ) { let this = jsObject - _ = this[Strings.removeEventListener].function!(this: this, arguments: [_toJSValue(type), _toJSValue(callback), _toJSValue(options)]) + _ = this[Strings.removeEventListener].function!( + this: this, + arguments: [_toJSValue(type), _toJSValue(callback), _toJSValue(options)] + ) } - @inlinable public func dispatchEvent(event: Event) -> Bool { + @inlinable final public func dispatchEvent(event: Event) -> Bool { let this = jsObject return this[Strings.dispatchEvent].function!(this: this, arguments: [_toJSValue(event)]).fromJSValue()! } } -public class ExtendableEventInit: BridgedDictionary { - public convenience init() { +open class ExtendableEventInit: EventInit { + + public convenience init(bubbles: Bool? = nil, cancelable: Bool? = nil, composed: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - super.init(unsafelyWrapping: object) - } -} + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } +} public class External: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.External].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func AddSearchProvider() { + @inlinable final public func AddSearchProvider() { let this = jsObject _ = this[Strings.AddSearchProvider].function!(this: this, arguments: []) } - @inlinable public func IsSearchProviderInstalled() { + @inlinable final public func IsSearchProviderInstalled() { let this = jsObject _ = this[Strings.IsSearchProviderInstalled].function!(this: this, arguments: []) } } -public class FetchEventInit: BridgedDictionary { - public convenience init(request: Request, preloadResponse: JSPromise, clientId: String, resultingClientId: String, replacesClientId: String, handled: JSPromise) { +open class FetchEventInit: ExtendableEventInit { + + public convenience init( + request: Request, + preloadResponse: JSPromise? = nil, + clientId: String? = nil, + resultingClientId: String? = nil, + replacesClientId: String? = nil, + handled: JSPromise? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.request] = _toJSValue(request) object[Strings.preloadResponse] = _toJSValue(preloadResponse) @@ -5568,56 +6000,53 @@ public class FetchEventInit: BridgedDictionary { object[Strings.resultingClientId] = _toJSValue(resultingClientId) object[Strings.replacesClientId] = _toJSValue(replacesClientId) object[Strings.handled] = _toJSValue(handled) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _request = ReadWriteAttribute(jsObject: object, name: Strings.request) - _preloadResponse = ReadWriteAttribute(jsObject: object, name: Strings.preloadResponse) - _clientId = ReadWriteAttribute(jsObject: object, name: Strings.clientId) - _resultingClientId = ReadWriteAttribute(jsObject: object, name: Strings.resultingClientId) - _replacesClientId = ReadWriteAttribute(jsObject: object, name: Strings.replacesClientId) - _handled = ReadWriteAttribute(jsObject: object, name: Strings.handled) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var request: Request - - @ReadWriteAttribute - public var preloadResponse: JSPromise? - - @ReadWriteAttribute - public var clientId: String? - - @ReadWriteAttribute - public var resultingClientId: String? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var replacesClientId: String? - - @ReadWriteAttribute - public var handled: JSPromise? + @inlinable public var request: Request { + get { jsObject[Strings.request].fromJSValue()! } + set { jsObject[Strings.request] = _toJSValue(newValue) } + } + @inlinable public var preloadResponse: JSPromise { + get { jsObject[Strings.preloadResponse].fromJSValue()! } + set { jsObject[Strings.preloadResponse] = _toJSValue(newValue) } + } + @inlinable public var clientId: String { + get { jsObject[Strings.clientId].fromJSValue()! } + set { jsObject[Strings.clientId] = _toJSValue(newValue) } + } + @inlinable public var resultingClientId: String { + get { jsObject[Strings.resultingClientId].fromJSValue()! } + set { jsObject[Strings.resultingClientId] = _toJSValue(newValue) } + } + @inlinable public var replacesClientId: String { + get { jsObject[Strings.replacesClientId].fromJSValue()! } + set { jsObject[Strings.replacesClientId] = _toJSValue(newValue) } + } + @inlinable public var handled: JSPromise { + get { jsObject[Strings.handled].fromJSValue()! } + set { jsObject[Strings.handled] = _toJSValue(newValue) } + } } - public class File: Blob { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.File].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.File].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _lastModified = ReadonlyAttribute(jsObject: jsObject, name: Strings.lastModified) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(fileBits: [BlobPart], fileName: String, options: FilePropertyBag? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(fileBits), _toJSValue(fileName), _toJSValue(options)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(fileBits), _toJSValue(fileName), _toJSValue(options), + ]) + ) } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ReadonlyAttribute - public var lastModified: Int64 + @inlinable public var lastModified: Int64 { jsObject[Strings.lastModified].fromJSValue()! } } public class FileList: JSBridgedClass { @@ -5625,81 +6054,64 @@ public class FileList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public subscript(key: Int) -> File? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> File? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> File? { + @inlinable final public func item(index: UInt32) -> File? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } } -public class FilePropertyBag: BridgedDictionary { - public convenience init(lastModified: Int64) { +open class FilePropertyBag: BlobPropertyBag { + + public convenience init(type: String? = nil, endings: EndingType? = nil, lastModified: Int64? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.type] = _toJSValue(type) + object[Strings.endings] = _toJSValue(endings) object[Strings.lastModified] = _toJSValue(lastModified) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _lastModified = ReadWriteAttribute(jsObject: object, name: Strings.lastModified) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var lastModified: Int64? + @inlinable public var lastModified: Int64 { + get { jsObject[Strings.lastModified].fromJSValue()! } + set { jsObject[Strings.lastModified] = _toJSValue(newValue) } + } } - public class FileReader: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.FileReader].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.FileReader].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _result = ReadonlyAttribute(jsObject: jsObject, name: Strings.result) - _error = ReadonlyAttribute(jsObject: jsObject, name: Strings.error) - _onloadstart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onloadstart) - _onprogress = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onprogress) - _onload = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onload) - _onabort = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onabort) - _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) - _onloadend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onloadend) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public func readAsArrayBuffer(blob: Blob) { + @inlinable final public func readAsArrayBuffer(blob: Blob) { let this = jsObject _ = this[Strings.readAsArrayBuffer].function!(this: this, arguments: [_toJSValue(blob)]) } - @inlinable public func readAsBinaryString(blob: Blob) { + @inlinable final public func readAsBinaryString(blob: Blob) { let this = jsObject _ = this[Strings.readAsBinaryString].function!(this: this, arguments: [_toJSValue(blob)]) } - @inlinable public func readAsText(blob: Blob, encoding: String? = nil) { + @inlinable final public func readAsText(blob: Blob, encoding: String? = nil) { let this = jsObject _ = this[Strings.readAsText].function!(this: this, arguments: [_toJSValue(blob), _toJSValue(encoding)]) } - @inlinable public func readAsDataURL(blob: Blob) { + @inlinable final public func readAsDataURL(blob: Blob) { let this = jsObject _ = this[Strings.readAsDataURL].function!(this: this, arguments: [_toJSValue(blob)]) } - @inlinable public func abort() { + @inlinable final public func abort() { let this = jsObject _ = this[Strings.abort].function!(this: this, arguments: []) } @@ -5710,178 +6122,242 @@ public class FileReader: EventTarget { public static let DONE: UInt16 = 2 - @ReadonlyAttribute - public var readyState: UInt16 + @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } - @ReadonlyAttribute - public var result: ArrayBuffer_or_String? + @inlinable public var result: ArrayBuffer_or_String? { jsObject[Strings.result].fromJSValue() } - @ReadonlyAttribute - public var error: DOMException? + @inlinable public var error: DOMException? { jsObject[Strings.error].fromJSValue() } - @ClosureAttribute1Optional - public var onloadstart: EventHandler + @inlinable public var onloadstart: EventHandler { + get { + guard let function = jsObject[Strings.onloadstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadstart] = .null + } + } + } - @ClosureAttribute1Optional - public var onprogress: EventHandler + @inlinable public var onprogress: EventHandler { + get { + guard let function = jsObject[Strings.onprogress].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onprogress] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onprogress] = .null + } + } + } - @ClosureAttribute1Optional - public var onload: EventHandler + @inlinable public var onload: EventHandler { + get { + guard let function = jsObject[Strings.onload].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onload] = .null + } + } + } - @ClosureAttribute1Optional - public var onabort: EventHandler + @inlinable public var onabort: EventHandler { + get { + guard let function = jsObject[Strings.onabort].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onabort] = .null + } + } + } - @ClosureAttribute1Optional - public var onerror: EventHandler + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } - @ClosureAttribute1Optional - public var onloadend: EventHandler + @inlinable public var onloadend: EventHandler { + get { + guard let function = jsObject[Strings.onloadend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadend] = .null + } + } + } } public class FocusEvent: UIEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.FocusEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.FocusEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _relatedTarget = ReadonlyAttribute(jsObject: jsObject, name: Strings.relatedTarget) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: FocusEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var relatedTarget: EventTarget? + @inlinable public var relatedTarget: EventTarget? { jsObject[Strings.relatedTarget].fromJSValue() } } -public class FocusEventInit: BridgedDictionary { - public convenience init(relatedTarget: EventTarget?) { +open class FocusEventInit: UIEventInit { + + public convenience init(view: Window?, detail: Int32? = nil, which: UInt32? = nil, relatedTarget: EventTarget?) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.view] = _toJSValue(view) + object[Strings.detail] = _toJSValue(detail) + object[Strings.which] = _toJSValue(which) object[Strings.relatedTarget] = _toJSValue(relatedTarget) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _relatedTarget = ReadWriteAttribute(jsObject: object, name: Strings.relatedTarget) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var relatedTarget: EventTarget? + @inlinable public var relatedTarget: EventTarget? { + get { jsObject[Strings.relatedTarget].fromJSValue() } + set { jsObject[Strings.relatedTarget] = _toJSValue(newValue) } + } } +open class FocusOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class FocusOptions: BridgedDictionary { - public convenience init(preventScroll: Bool, focusVisible: Bool) { + public convenience init(preventScroll: Bool? = nil, focusVisible: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.preventScroll] = _toJSValue(preventScroll) object[Strings.focusVisible] = _toJSValue(focusVisible) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _preventScroll = ReadWriteAttribute(jsObject: object, name: Strings.preventScroll) - _focusVisible = ReadWriteAttribute(jsObject: object, name: Strings.focusVisible) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var preventScroll: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var focusVisible: Bool? + @inlinable public var preventScroll: Bool { + get { jsObject[Strings.preventScroll].fromJSValue()! } + set { jsObject[Strings.preventScroll] = _toJSValue(newValue) } + } + @inlinable public var focusVisible: Bool { + get { jsObject[Strings.focusVisible].fromJSValue()! } + set { jsObject[Strings.focusVisible] = _toJSValue(newValue) } + } } - public class FormData: JSBridgedClass, Sequence { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.FormData].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(form: HTMLFormElement? = nil, submitter: HTMLElement? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(form), _toJSValue(submitter)])) } - @inlinable public func append(name: String, value: String) { + @inlinable final public func append(name: String, value: String) { let this = jsObject _ = this[Strings.append].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @inlinable public func append(name: String, blobValue: Blob, filename: String? = nil) { + @inlinable final public func append(name: String, blobValue: Blob, filename: String? = nil) { let this = jsObject - _ = this[Strings.append].function!(this: this, arguments: [_toJSValue(name), _toJSValue(blobValue), _toJSValue(filename)]) + _ = this[Strings.append].function!( + this: this, + arguments: [_toJSValue(name), _toJSValue(blobValue), _toJSValue(filename)] + ) } - @inlinable public func delete(name: String) { + @inlinable final public func delete(name: String) { let this = jsObject _ = this[Strings.delete].function!(this: this, arguments: [_toJSValue(name)]) } - @inlinable public func get(name: String) -> FormDataEntryValue? { + @inlinable final public func get(name: String) -> FormDataEntryValue? { let this = jsObject return this[Strings.get].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable public func getAll(name: String) -> [FormDataEntryValue] { + @inlinable final public func getAll(name: String) -> [FormDataEntryValue] { let this = jsObject return this[Strings.getAll].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @inlinable public func has(name: String) -> Bool { + @inlinable final public func has(name: String) -> Bool { let this = jsObject return this[Strings.has].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @inlinable public func set(name: String, value: String) { + @inlinable final public func set(name: String, value: String) { let this = jsObject _ = this[Strings.set].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @inlinable public func set(name: String, blobValue: Blob, filename: String? = nil) { + @inlinable final public func set(name: String, blobValue: Blob, filename: String? = nil) { let this = jsObject - _ = this[Strings.set].function!(this: this, arguments: [_toJSValue(name), _toJSValue(blobValue), _toJSValue(filename)]) + _ = this[Strings.set].function!( + this: this, + arguments: [_toJSValue(name), _toJSValue(blobValue), _toJSValue(filename)] + ) } public typealias Element = String - public func makeIterator() -> ValueIterableIterator { - ValueIterableIterator(sequence: self) - } + public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } } public class FormDataEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.FormDataEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.FormDataEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _formData = ReadonlyAttribute(jsObject: jsObject, name: Strings.formData) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: FormDataEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var formData: FormData + @inlinable public var formData: FormData { jsObject[Strings.formData].fromJSValue()! } } -public class FormDataEventInit: BridgedDictionary { - public convenience init(formData: FormData) { +open class FormDataEventInit: EventInit { + + public convenience init(bubbles: Bool? = nil, cancelable: Bool? = nil, composed: Bool? = nil, formData: FormData) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.formData] = _toJSValue(formData) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _formData = ReadWriteAttribute(jsObject: object, name: Strings.formData) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var formData: FormData + @inlinable public var formData: FormData { + get { jsObject[Strings.formData].fromJSValue()! } + set { jsObject[Strings.formData] = _toJSValue(newValue) } + } } - public enum FrameType: JSString, JSValueCompatible { case auxiliary = "auxiliary" case topLevel = "top-level" @@ -5889,814 +6365,1602 @@ public enum FrameType: JSString, JSValueCompatible { case none = "none" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol GenericTransformStream: JSBridgedClass {} -public extension GenericTransformStream { - @inlinable var readable: ReadableStream { jsObject[Strings.readable].fromJSValue()! } +extension GenericTransformStream { + @inlinable public var readable: ReadableStream { jsObject[Strings.readable].fromJSValue()! } - @inlinable var writable: WritableStream { jsObject[Strings.writable].fromJSValue()! } + @inlinable public var writable: WritableStream { jsObject[Strings.writable].fromJSValue()! } } - public protocol GeometryUtils: JSBridgedClass {} -public extension GeometryUtils { - @inlinable func getBoxQuads(options: BoxQuadOptions? = nil) -> [DOMQuad] { +extension GeometryUtils { + @inlinable public func getBoxQuads(options: BoxQuadOptions? = nil) -> [DOMQuad] { let this = jsObject return this[Strings.getBoxQuads].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable func convertQuadFromNode(quad: DOMQuadInit, from: GeometryNode, options: ConvertCoordinateOptions? = nil) -> DOMQuad { + @inlinable public func convertQuadFromNode( + quad: DOMQuadInit, + from: GeometryNode, + options: ConvertCoordinateOptions? = nil + ) -> DOMQuad { let this = jsObject - return this[Strings.convertQuadFromNode].function!(this: this, arguments: [_toJSValue(quad), _toJSValue(from), _toJSValue(options)]).fromJSValue()! + return this[Strings.convertQuadFromNode].function!( + this: this, + arguments: [_toJSValue(quad), _toJSValue(from), _toJSValue(options)] + ).fromJSValue()! } - @inlinable func convertRectFromNode(rect: DOMRectReadOnly, from: GeometryNode, options: ConvertCoordinateOptions? = nil) -> DOMQuad { + @inlinable public func convertRectFromNode( + rect: DOMRectReadOnly, + from: GeometryNode, + options: ConvertCoordinateOptions? = nil + ) -> DOMQuad { let this = jsObject - return this[Strings.convertRectFromNode].function!(this: this, arguments: [_toJSValue(rect), _toJSValue(from), _toJSValue(options)]).fromJSValue()! + return this[Strings.convertRectFromNode].function!( + this: this, + arguments: [_toJSValue(rect), _toJSValue(from), _toJSValue(options)] + ).fromJSValue()! } - @inlinable func convertPointFromNode(point: DOMPointInit, from: GeometryNode, options: ConvertCoordinateOptions? = nil) -> DOMPoint { + @inlinable public func convertPointFromNode( + point: DOMPointInit, + from: GeometryNode, + options: ConvertCoordinateOptions? = nil + ) -> DOMPoint { let this = jsObject - return this[Strings.convertPointFromNode].function!(this: this, arguments: [_toJSValue(point), _toJSValue(from), _toJSValue(options)]).fromJSValue()! + return this[Strings.convertPointFromNode].function!( + this: this, + arguments: [_toJSValue(point), _toJSValue(from), _toJSValue(options)] + ).fromJSValue()! } } +open class GetHTMLOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class GetRootNodeOptions: BridgedDictionary { - public convenience init(composed: Bool) { + public convenience init(serializableShadowRoots: Bool? = nil, shadowRoots: [ShadowRoot]? = nil) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.composed] = _toJSValue(composed) + object[Strings.serializableShadowRoots] = _toJSValue(serializableShadowRoots) + object[Strings.shadowRoots] = _toJSValue(shadowRoots) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _composed = ReadWriteAttribute(jsObject: object, name: Strings.composed) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var composed: Bool? + @inlinable public var serializableShadowRoots: Bool { + get { jsObject[Strings.serializableShadowRoots].fromJSValue()! } + set { jsObject[Strings.serializableShadowRoots] = _toJSValue(newValue) } + } + @inlinable public var shadowRoots: [ShadowRoot] { + get { jsObject[Strings.shadowRoots].fromJSValue()! } + set { jsObject[Strings.shadowRoots] = _toJSValue(newValue) } + } } +open class GetRootNodeOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public protocol GlobalEventHandlers: JSBridgedClass {} -public extension GlobalEventHandlers { - @inlinable var onabort: EventHandler { - get { ClosureAttribute1Optional[Strings.onabort, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onabort, in: jsObject] = newValue } - } + public convenience init(composed: Bool? = nil) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.composed] = _toJSValue(composed) - @inlinable var onauxclick: EventHandler { - get { ClosureAttribute1Optional[Strings.onauxclick, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onauxclick, in: jsObject] = newValue } + self.init(unsafelyWrapping: object) } - @inlinable var onbeforeinput: EventHandler { - get { ClosureAttribute1Optional[Strings.onbeforeinput, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onbeforeinput, in: jsObject] = newValue } - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @inlinable var onbeforematch: EventHandler { - get { ClosureAttribute1Optional[Strings.onbeforematch, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onbeforematch, in: jsObject] = newValue } + @inlinable public var composed: Bool { + get { jsObject[Strings.composed].fromJSValue()! } + set { jsObject[Strings.composed] = _toJSValue(newValue) } } - - @inlinable var onbeforetoggle: EventHandler { - get { ClosureAttribute1Optional[Strings.onbeforetoggle, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onbeforetoggle, in: jsObject] = newValue } +} +public protocol GlobalEventHandlers: JSBridgedClass {} +extension GlobalEventHandlers { + @inlinable public var onabort: EventHandler { + get { + guard let function = jsObject[Strings.onabort].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onabort] = .null + } + } } - @inlinable var onblur: EventHandler { - get { ClosureAttribute1Optional[Strings.onblur, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onblur, in: jsObject] = newValue } + @inlinable public var onauxclick: EventHandler { + get { + guard let function = jsObject[Strings.onauxclick].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onauxclick] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onauxclick] = .null + } + } } - @inlinable var oncancel: EventHandler { - get { ClosureAttribute1Optional[Strings.oncancel, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncancel, in: jsObject] = newValue } + @inlinable public var onbeforeinput: EventHandler { + get { + guard let function = jsObject[Strings.onbeforeinput].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onbeforeinput] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onbeforeinput] = .null + } + } } - @inlinable var oncanplay: EventHandler { - get { ClosureAttribute1Optional[Strings.oncanplay, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncanplay, in: jsObject] = newValue } + @inlinable public var onbeforematch: EventHandler { + get { + guard let function = jsObject[Strings.onbeforematch].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onbeforematch] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onbeforematch] = .null + } + } } - @inlinable var oncanplaythrough: EventHandler { - get { ClosureAttribute1Optional[Strings.oncanplaythrough, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncanplaythrough, in: jsObject] = newValue } + @inlinable public var onbeforetoggle: EventHandler { + get { + guard let function = jsObject[Strings.onbeforetoggle].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onbeforetoggle] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onbeforetoggle] = .null + } + } } - @inlinable var onchange: EventHandler { - get { ClosureAttribute1Optional[Strings.onchange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onchange, in: jsObject] = newValue } + @inlinable public var onblur: EventHandler { + get { + guard let function = jsObject[Strings.onblur].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onblur] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onblur] = .null + } + } } - @inlinable var onclick: EventHandler { - get { ClosureAttribute1Optional[Strings.onclick, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onclick, in: jsObject] = newValue } + @inlinable public var oncancel: EventHandler { + get { + guard let function = jsObject[Strings.oncancel].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncancel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncancel] = .null + } + } } - @inlinable var onclose: EventHandler { - get { ClosureAttribute1Optional[Strings.onclose, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onclose, in: jsObject] = newValue } + @inlinable public var oncanplay: EventHandler { + get { + guard let function = jsObject[Strings.oncanplay].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncanplay] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncanplay] = .null + } + } } - @inlinable var oncontextlost: EventHandler { - get { ClosureAttribute1Optional[Strings.oncontextlost, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncontextlost, in: jsObject] = newValue } + @inlinable public var oncanplaythrough: EventHandler { + get { + guard let function = jsObject[Strings.oncanplaythrough].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncanplaythrough] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncanplaythrough] = .null + } + } } - @inlinable var oncontextmenu: EventHandler { - get { ClosureAttribute1Optional[Strings.oncontextmenu, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncontextmenu, in: jsObject] = newValue } + @inlinable public var onchange: EventHandler { + get { + guard let function = jsObject[Strings.onchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onchange] = .null + } + } } - @inlinable var oncontextrestored: EventHandler { - get { ClosureAttribute1Optional[Strings.oncontextrestored, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncontextrestored, in: jsObject] = newValue } + @inlinable public var onclick: EventHandler { + get { + guard let function = jsObject[Strings.onclick].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onclick] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onclick] = .null + } + } } - @inlinable var oncopy: EventHandler { - get { ClosureAttribute1Optional[Strings.oncopy, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncopy, in: jsObject] = newValue } + @inlinable public var onclose: EventHandler { + get { + guard let function = jsObject[Strings.onclose].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onclose] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onclose] = .null + } + } } - @inlinable var oncuechange: EventHandler { - get { ClosureAttribute1Optional[Strings.oncuechange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncuechange, in: jsObject] = newValue } + @inlinable public var oncommand: EventHandler { + get { + guard let function = jsObject[Strings.oncommand].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncommand] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncommand] = .null + } + } } - @inlinable var oncut: EventHandler { - get { ClosureAttribute1Optional[Strings.oncut, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oncut, in: jsObject] = newValue } + @inlinable public var oncontextlost: EventHandler { + get { + guard let function = jsObject[Strings.oncontextlost].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncontextlost] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncontextlost] = .null + } + } } - @inlinable var ondblclick: EventHandler { - get { ClosureAttribute1Optional[Strings.ondblclick, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondblclick, in: jsObject] = newValue } + @inlinable public var oncontextmenu: EventHandler { + get { + guard let function = jsObject[Strings.oncontextmenu].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncontextmenu] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncontextmenu] = .null + } + } } - @inlinable var ondrag: EventHandler { - get { ClosureAttribute1Optional[Strings.ondrag, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondrag, in: jsObject] = newValue } + @inlinable public var oncontextrestored: EventHandler { + get { + guard let function = jsObject[Strings.oncontextrestored].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncontextrestored] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncontextrestored] = .null + } + } } - @inlinable var ondragend: EventHandler { - get { ClosureAttribute1Optional[Strings.ondragend, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondragend, in: jsObject] = newValue } + @inlinable public var oncopy: EventHandler { + get { + guard let function = jsObject[Strings.oncopy].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncopy] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncopy] = .null + } + } } - @inlinable var ondragenter: EventHandler { - get { ClosureAttribute1Optional[Strings.ondragenter, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondragenter, in: jsObject] = newValue } + @inlinable public var oncuechange: EventHandler { + get { + guard let function = jsObject[Strings.oncuechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncuechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncuechange] = .null + } + } } - @inlinable var ondragleave: EventHandler { - get { ClosureAttribute1Optional[Strings.ondragleave, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondragleave, in: jsObject] = newValue } + @inlinable public var oncut: EventHandler { + get { + guard let function = jsObject[Strings.oncut].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncut] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncut] = .null + } + } } - @inlinable var ondragover: EventHandler { - get { ClosureAttribute1Optional[Strings.ondragover, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondragover, in: jsObject] = newValue } + @inlinable public var ondblclick: EventHandler { + get { + guard let function = jsObject[Strings.ondblclick].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondblclick] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondblclick] = .null + } + } } - @inlinable var ondragstart: EventHandler { - get { ClosureAttribute1Optional[Strings.ondragstart, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondragstart, in: jsObject] = newValue } + @inlinable public var ondrag: EventHandler { + get { + guard let function = jsObject[Strings.ondrag].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondrag] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondrag] = .null + } + } } - @inlinable var ondrop: EventHandler { - get { ClosureAttribute1Optional[Strings.ondrop, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondrop, in: jsObject] = newValue } + @inlinable public var ondragend: EventHandler { + get { + guard let function = jsObject[Strings.ondragend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondragend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondragend] = .null + } + } } - @inlinable var ondurationchange: EventHandler { - get { ClosureAttribute1Optional[Strings.ondurationchange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ondurationchange, in: jsObject] = newValue } + @inlinable public var ondragenter: EventHandler { + get { + guard let function = jsObject[Strings.ondragenter].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondragenter] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondragenter] = .null + } + } } - @inlinable var onemptied: EventHandler { - get { ClosureAttribute1Optional[Strings.onemptied, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onemptied, in: jsObject] = newValue } + @inlinable public var ondragleave: EventHandler { + get { + guard let function = jsObject[Strings.ondragleave].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondragleave] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondragleave] = .null + } + } } - @inlinable var onended: EventHandler { - get { ClosureAttribute1Optional[Strings.onended, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onended, in: jsObject] = newValue } + @inlinable public var ondragover: EventHandler { + get { + guard let function = jsObject[Strings.ondragover].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondragover] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondragover] = .null + } + } } - @inlinable var onerror: OnErrorEventHandler { - get { ClosureAttribute5Optional[Strings.onerror, in: jsObject] } - nonmutating set { ClosureAttribute5Optional[Strings.onerror, in: jsObject] = newValue } + @inlinable public var ondragstart: EventHandler { + get { + guard let function = jsObject[Strings.ondragstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondragstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondragstart] = .null + } + } } - @inlinable var onfocus: EventHandler { - get { ClosureAttribute1Optional[Strings.onfocus, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onfocus, in: jsObject] = newValue } + @inlinable public var ondrop: EventHandler { + get { + guard let function = jsObject[Strings.ondrop].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondrop] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondrop] = .null + } + } } - @inlinable var onformdata: EventHandler { - get { ClosureAttribute1Optional[Strings.onformdata, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onformdata, in: jsObject] = newValue } + @inlinable public var ondurationchange: EventHandler { + get { + guard let function = jsObject[Strings.ondurationchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondurationchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondurationchange] = .null + } + } } - @inlinable var oninput: EventHandler { - get { ClosureAttribute1Optional[Strings.oninput, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oninput, in: jsObject] = newValue } + @inlinable public var onemptied: EventHandler { + get { + guard let function = jsObject[Strings.onemptied].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onemptied] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onemptied] = .null + } + } } - @inlinable var oninvalid: EventHandler { - get { ClosureAttribute1Optional[Strings.oninvalid, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.oninvalid, in: jsObject] = newValue } + @inlinable public var onended: EventHandler { + get { + guard let function = jsObject[Strings.onended].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onended] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onended] = .null + } + } } - @inlinable var onkeydown: EventHandler { - get { ClosureAttribute1Optional[Strings.onkeydown, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onkeydown, in: jsObject] = newValue } + @inlinable public var onerror: OnErrorEventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { + function(_toJSValue($0), _toJSValue($1), _toJSValue($2), _toJSValue($3), _toJSValue($4)).fromJSValue()! + } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = + JSClosure { + _toJSValue( + newValue( + $0[0].fromJSValue()!, + $0[1].fromJSValue()!, + $0[2].fromJSValue()!, + $0[3].fromJSValue()!, + $0[4].fromJSValue()! + ) + ) + }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } + + @inlinable public var onfocus: EventHandler { + get { + guard let function = jsObject[Strings.onfocus].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onfocus] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onfocus] = .null + } + } } - @inlinable var onkeypress: EventHandler { - get { ClosureAttribute1Optional[Strings.onkeypress, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onkeypress, in: jsObject] = newValue } + @inlinable public var onformdata: EventHandler { + get { + guard let function = jsObject[Strings.onformdata].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onformdata] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onformdata] = .null + } + } } - @inlinable var onkeyup: EventHandler { - get { ClosureAttribute1Optional[Strings.onkeyup, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onkeyup, in: jsObject] = newValue } + @inlinable public var oninput: EventHandler { + get { + guard let function = jsObject[Strings.oninput].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oninput] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oninput] = .null + } + } } - @inlinable var onload: EventHandler { - get { ClosureAttribute1Optional[Strings.onload, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onload, in: jsObject] = newValue } + @inlinable public var oninvalid: EventHandler { + get { + guard let function = jsObject[Strings.oninvalid].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oninvalid] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oninvalid] = .null + } + } } - @inlinable var onloadeddata: EventHandler { - get { ClosureAttribute1Optional[Strings.onloadeddata, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onloadeddata, in: jsObject] = newValue } + @inlinable public var onkeydown: EventHandler { + get { + guard let function = jsObject[Strings.onkeydown].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onkeydown] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onkeydown] = .null + } + } } - @inlinable var onloadedmetadata: EventHandler { - get { ClosureAttribute1Optional[Strings.onloadedmetadata, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onloadedmetadata, in: jsObject] = newValue } - } + @inlinable public var onkeypress: EventHandler { + get { + guard let function = jsObject[Strings.onkeypress].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onkeypress] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onkeypress] = .null + } + } + } + + @inlinable public var onkeyup: EventHandler { + get { + guard let function = jsObject[Strings.onkeyup].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onkeyup] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onkeyup] = .null + } + } + } + + @inlinable public var onload: EventHandler { + get { + guard let function = jsObject[Strings.onload].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onload] = .null + } + } + } + + @inlinable public var onloadeddata: EventHandler { + get { + guard let function = jsObject[Strings.onloadeddata].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadeddata] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadeddata] = .null + } + } + } + + @inlinable public var onloadedmetadata: EventHandler { + get { + guard let function = jsObject[Strings.onloadedmetadata].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadedmetadata] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadedmetadata] = .null + } + } + } - @inlinable var onloadstart: EventHandler { - get { ClosureAttribute1Optional[Strings.onloadstart, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onloadstart, in: jsObject] = newValue } + @inlinable public var onloadstart: EventHandler { + get { + guard let function = jsObject[Strings.onloadstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadstart] = .null + } + } } - @inlinable var onmousedown: EventHandler { - get { ClosureAttribute1Optional[Strings.onmousedown, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmousedown, in: jsObject] = newValue } + @inlinable public var onmousedown: EventHandler { + get { + guard let function = jsObject[Strings.onmousedown].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmousedown] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmousedown] = .null + } + } } - @inlinable var onmouseenter: EventHandler { - get { ClosureAttribute1Optional[Strings.onmouseenter, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmouseenter, in: jsObject] = newValue } + @inlinable public var onmouseenter: EventHandler { + get { + guard let function = jsObject[Strings.onmouseenter].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmouseenter] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmouseenter] = .null + } + } } - @inlinable var onmouseleave: EventHandler { - get { ClosureAttribute1Optional[Strings.onmouseleave, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmouseleave, in: jsObject] = newValue } + @inlinable public var onmouseleave: EventHandler { + get { + guard let function = jsObject[Strings.onmouseleave].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmouseleave] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmouseleave] = .null + } + } } - @inlinable var onmousemove: EventHandler { - get { ClosureAttribute1Optional[Strings.onmousemove, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmousemove, in: jsObject] = newValue } + @inlinable public var onmousemove: EventHandler { + get { + guard let function = jsObject[Strings.onmousemove].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmousemove] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmousemove] = .null + } + } } - @inlinable var onmouseout: EventHandler { - get { ClosureAttribute1Optional[Strings.onmouseout, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmouseout, in: jsObject] = newValue } + @inlinable public var onmouseout: EventHandler { + get { + guard let function = jsObject[Strings.onmouseout].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmouseout] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmouseout] = .null + } + } } - @inlinable var onmouseover: EventHandler { - get { ClosureAttribute1Optional[Strings.onmouseover, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmouseover, in: jsObject] = newValue } + @inlinable public var onmouseover: EventHandler { + get { + guard let function = jsObject[Strings.onmouseover].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmouseover] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmouseover] = .null + } + } } - @inlinable var onmouseup: EventHandler { - get { ClosureAttribute1Optional[Strings.onmouseup, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmouseup, in: jsObject] = newValue } + @inlinable public var onmouseup: EventHandler { + get { + guard let function = jsObject[Strings.onmouseup].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmouseup] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmouseup] = .null + } + } } - @inlinable var onpaste: EventHandler { - get { ClosureAttribute1Optional[Strings.onpaste, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onpaste, in: jsObject] = newValue } + @inlinable public var onpaste: EventHandler { + get { + guard let function = jsObject[Strings.onpaste].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpaste] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpaste] = .null + } + } } - @inlinable var onpause: EventHandler { - get { ClosureAttribute1Optional[Strings.onpause, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onpause, in: jsObject] = newValue } + @inlinable public var onpause: EventHandler { + get { + guard let function = jsObject[Strings.onpause].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpause] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpause] = .null + } + } } - @inlinable var onplay: EventHandler { - get { ClosureAttribute1Optional[Strings.onplay, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onplay, in: jsObject] = newValue } + @inlinable public var onplay: EventHandler { + get { + guard let function = jsObject[Strings.onplay].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onplay] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onplay] = .null + } + } } - @inlinable var onplaying: EventHandler { - get { ClosureAttribute1Optional[Strings.onplaying, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onplaying, in: jsObject] = newValue } + @inlinable public var onplaying: EventHandler { + get { + guard let function = jsObject[Strings.onplaying].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onplaying] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onplaying] = .null + } + } } - @inlinable var onprogress: EventHandler { - get { ClosureAttribute1Optional[Strings.onprogress, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onprogress, in: jsObject] = newValue } + @inlinable public var onprogress: EventHandler { + get { + guard let function = jsObject[Strings.onprogress].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onprogress] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onprogress] = .null + } + } } - @inlinable var onratechange: EventHandler { - get { ClosureAttribute1Optional[Strings.onratechange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onratechange, in: jsObject] = newValue } + @inlinable public var onratechange: EventHandler { + get { + guard let function = jsObject[Strings.onratechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onratechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onratechange] = .null + } + } } - @inlinable var onreset: EventHandler { - get { ClosureAttribute1Optional[Strings.onreset, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onreset, in: jsObject] = newValue } + @inlinable public var onreset: EventHandler { + get { + guard let function = jsObject[Strings.onreset].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onreset] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onreset] = .null + } + } } - @inlinable var onresize: EventHandler { - get { ClosureAttribute1Optional[Strings.onresize, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onresize, in: jsObject] = newValue } + @inlinable public var onresize: EventHandler { + get { + guard let function = jsObject[Strings.onresize].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onresize] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onresize] = .null + } + } } - @inlinable var onscroll: EventHandler { - get { ClosureAttribute1Optional[Strings.onscroll, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onscroll, in: jsObject] = newValue } + @inlinable public var onscroll: EventHandler { + get { + guard let function = jsObject[Strings.onscroll].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onscroll] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onscroll] = .null + } + } } - @inlinable var onscrollend: EventHandler { - get { ClosureAttribute1Optional[Strings.onscrollend, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onscrollend, in: jsObject] = newValue } + @inlinable public var onscrollend: EventHandler { + get { + guard let function = jsObject[Strings.onscrollend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onscrollend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onscrollend] = .null + } + } } - @inlinable var onsecuritypolicyviolation: EventHandler { - get { ClosureAttribute1Optional[Strings.onsecuritypolicyviolation, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onsecuritypolicyviolation, in: jsObject] = newValue } + @inlinable public var onsecuritypolicyviolation: EventHandler { + get { + guard let function = jsObject[Strings.onsecuritypolicyviolation].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onsecuritypolicyviolation] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onsecuritypolicyviolation] = .null + } + } } - @inlinable var onseeked: EventHandler { - get { ClosureAttribute1Optional[Strings.onseeked, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onseeked, in: jsObject] = newValue } + @inlinable public var onseeked: EventHandler { + get { + guard let function = jsObject[Strings.onseeked].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onseeked] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onseeked] = .null + } + } } - @inlinable var onseeking: EventHandler { - get { ClosureAttribute1Optional[Strings.onseeking, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onseeking, in: jsObject] = newValue } + @inlinable public var onseeking: EventHandler { + get { + guard let function = jsObject[Strings.onseeking].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onseeking] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onseeking] = .null + } + } } - @inlinable var onselect: EventHandler { - get { ClosureAttribute1Optional[Strings.onselect, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onselect, in: jsObject] = newValue } + @inlinable public var onselect: EventHandler { + get { + guard let function = jsObject[Strings.onselect].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onselect] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onselect] = .null + } + } } - @inlinable var onslotchange: EventHandler { - get { ClosureAttribute1Optional[Strings.onslotchange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onslotchange, in: jsObject] = newValue } + @inlinable public var onslotchange: EventHandler { + get { + guard let function = jsObject[Strings.onslotchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onslotchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onslotchange] = .null + } + } } - @inlinable var onstalled: EventHandler { - get { ClosureAttribute1Optional[Strings.onstalled, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onstalled, in: jsObject] = newValue } + @inlinable public var onstalled: EventHandler { + get { + guard let function = jsObject[Strings.onstalled].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onstalled] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onstalled] = .null + } + } } - @inlinable var onsubmit: EventHandler { - get { ClosureAttribute1Optional[Strings.onsubmit, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onsubmit, in: jsObject] = newValue } + @inlinable public var onsubmit: EventHandler { + get { + guard let function = jsObject[Strings.onsubmit].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onsubmit] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onsubmit] = .null + } + } } - @inlinable var onsuspend: EventHandler { - get { ClosureAttribute1Optional[Strings.onsuspend, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onsuspend, in: jsObject] = newValue } + @inlinable public var onsuspend: EventHandler { + get { + guard let function = jsObject[Strings.onsuspend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onsuspend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onsuspend] = .null + } + } } - @inlinable var ontimeupdate: EventHandler { - get { ClosureAttribute1Optional[Strings.ontimeupdate, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ontimeupdate, in: jsObject] = newValue } + @inlinable public var ontimeupdate: EventHandler { + get { + guard let function = jsObject[Strings.ontimeupdate].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontimeupdate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontimeupdate] = .null + } + } } - @inlinable var ontoggle: EventHandler { - get { ClosureAttribute1Optional[Strings.ontoggle, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ontoggle, in: jsObject] = newValue } + @inlinable public var ontoggle: EventHandler { + get { + guard let function = jsObject[Strings.ontoggle].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontoggle] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontoggle] = .null + } + } } - @inlinable var onvolumechange: EventHandler { - get { ClosureAttribute1Optional[Strings.onvolumechange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onvolumechange, in: jsObject] = newValue } + @inlinable public var onvolumechange: EventHandler { + get { + guard let function = jsObject[Strings.onvolumechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onvolumechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onvolumechange] = .null + } + } } - @inlinable var onwaiting: EventHandler { - get { ClosureAttribute1Optional[Strings.onwaiting, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onwaiting, in: jsObject] = newValue } + @inlinable public var onwaiting: EventHandler { + get { + guard let function = jsObject[Strings.onwaiting].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onwaiting] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onwaiting] = .null + } + } } - @inlinable var onwebkitanimationend: EventHandler { - get { ClosureAttribute1Optional[Strings.onwebkitanimationend, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onwebkitanimationend, in: jsObject] = newValue } + @inlinable public var onwebkitanimationend: EventHandler { + get { + guard let function = jsObject[Strings.onwebkitanimationend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onwebkitanimationend] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onwebkitanimationend] = .null + } + } } - @inlinable var onwebkitanimationiteration: EventHandler { - get { ClosureAttribute1Optional[Strings.onwebkitanimationiteration, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onwebkitanimationiteration, in: jsObject] = newValue } + @inlinable public var onwebkitanimationiteration: EventHandler { + get { + guard let function = jsObject[Strings.onwebkitanimationiteration].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onwebkitanimationiteration] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onwebkitanimationiteration] = .null + } + } } - @inlinable var onwebkitanimationstart: EventHandler { - get { ClosureAttribute1Optional[Strings.onwebkitanimationstart, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onwebkitanimationstart, in: jsObject] = newValue } + @inlinable public var onwebkitanimationstart: EventHandler { + get { + guard let function = jsObject[Strings.onwebkitanimationstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onwebkitanimationstart] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onwebkitanimationstart] = .null + } + } } - @inlinable var onwebkittransitionend: EventHandler { - get { ClosureAttribute1Optional[Strings.onwebkittransitionend, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onwebkittransitionend, in: jsObject] = newValue } + @inlinable public var onwebkittransitionend: EventHandler { + get { + guard let function = jsObject[Strings.onwebkittransitionend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onwebkittransitionend] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onwebkittransitionend] = .null + } + } } - @inlinable var onwheel: EventHandler { - get { ClosureAttribute1Optional[Strings.onwheel, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onwheel, in: jsObject] = newValue } + @inlinable public var onwheel: EventHandler { + get { + guard let function = jsObject[Strings.onwheel].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onwheel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onwheel] = .null + } + } } - @inlinable var ontouchstart: EventHandler { - get { ClosureAttribute1Optional[Strings.ontouchstart, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ontouchstart, in: jsObject] = newValue } + @inlinable public var ontouchstart: EventHandler { + get { + guard let function = jsObject[Strings.ontouchstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontouchstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontouchstart] = .null + } + } } - @inlinable var ontouchend: EventHandler { - get { ClosureAttribute1Optional[Strings.ontouchend, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ontouchend, in: jsObject] = newValue } + @inlinable public var ontouchend: EventHandler { + get { + guard let function = jsObject[Strings.ontouchend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontouchend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontouchend] = .null + } + } } - @inlinable var ontouchmove: EventHandler { - get { ClosureAttribute1Optional[Strings.ontouchmove, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ontouchmove, in: jsObject] = newValue } + @inlinable public var ontouchmove: EventHandler { + get { + guard let function = jsObject[Strings.ontouchmove].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontouchmove] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontouchmove] = .null + } + } } - @inlinable var ontouchcancel: EventHandler { - get { ClosureAttribute1Optional[Strings.ontouchcancel, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ontouchcancel, in: jsObject] = newValue } + @inlinable public var ontouchcancel: EventHandler { + get { + guard let function = jsObject[Strings.ontouchcancel].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontouchcancel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontouchcancel] = .null + } + } } } - public class HTMLAllCollection: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.HTMLAllCollection].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> Element { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> Element { jsObject[key].fromJSValue()! } - @inlinable public subscript(key: String) -> Element_or_HTMLCollection? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: String) -> Element_or_HTMLCollection? { jsObject[key].fromJSValue() } - @inlinable public func namedItem(name: String) -> Element_or_HTMLCollection? { + @inlinable final public func namedItem(name: String) -> Element_or_HTMLCollection? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable public func item(nameOrIndex: String? = nil) -> Element_or_HTMLCollection? { + @inlinable final public func item(nameOrIndex: String? = nil) -> Element_or_HTMLCollection? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(nameOrIndex)]).fromJSValue() } } public class HTMLAnchorElement: HTMLElement, HTMLHyperlinkElementUtils { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLAnchorElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) - _download = ReadWriteAttribute(jsObject: jsObject, name: Strings.download) - _ping = ReadWriteAttribute(jsObject: jsObject, name: Strings.ping) - _rel = ReadWriteAttribute(jsObject: jsObject, name: Strings.rel) - _relList = ReadonlyAttribute(jsObject: jsObject, name: Strings.relList) - _hreflang = ReadWriteAttribute(jsObject: jsObject, name: Strings.hreflang) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) - _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _coords = ReadWriteAttribute(jsObject: jsObject, name: Strings.coords) - _charset = ReadWriteAttribute(jsObject: jsObject, name: Strings.charset) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _rev = ReadWriteAttribute(jsObject: jsObject, name: Strings.rev) - _shape = ReadWriteAttribute(jsObject: jsObject, name: Strings.shape) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLAnchorElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var target: String + @inlinable public var target: String { + get { jsObject[Strings.target].fromJSValue()! } + set { jsObject[Strings.target] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var download: String + @inlinable public var download: String { + get { jsObject[Strings.download].fromJSValue()! } + set { jsObject[Strings.download] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ping: String + @inlinable public var ping: String { + get { jsObject[Strings.ping].fromJSValue()! } + set { jsObject[Strings.ping] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rel: String + @inlinable public var rel: String { + get { jsObject[Strings.rel].fromJSValue()! } + set { jsObject[Strings.rel] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var relList: DOMTokenList + @inlinable public var relList: DOMTokenList { jsObject[Strings.relList].fromJSValue()! } - @ReadWriteAttribute - public var hreflang: String + @inlinable public var hreflang: String { + get { jsObject[Strings.hreflang].fromJSValue()! } + set { jsObject[Strings.hreflang] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var text: String + @inlinable public var text: String { + get { jsObject[Strings.text].fromJSValue()! } + set { jsObject[Strings.text] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var referrerPolicy: String + @inlinable public var referrerPolicy: String { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var coords: String + @inlinable public var coords: String { + get { jsObject[Strings.coords].fromJSValue()! } + set { jsObject[Strings.coords] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var charset: String + @inlinable public var charset: String { + get { jsObject[Strings.charset].fromJSValue()! } + set { jsObject[Strings.charset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rev: String + @inlinable public var rev: String { + get { jsObject[Strings.rev].fromJSValue()! } + set { jsObject[Strings.rev] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var shape: String + @inlinable public var shape: String { + get { jsObject[Strings.shape].fromJSValue()! } + set { jsObject[Strings.shape] = _toJSValue(newValue) } + } } public class HTMLAreaElement: HTMLElement, HTMLHyperlinkElementUtils { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLAreaElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLAreaElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _alt = ReadWriteAttribute(jsObject: jsObject, name: Strings.alt) - _coords = ReadWriteAttribute(jsObject: jsObject, name: Strings.coords) - _shape = ReadWriteAttribute(jsObject: jsObject, name: Strings.shape) - _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) - _download = ReadWriteAttribute(jsObject: jsObject, name: Strings.download) - _ping = ReadWriteAttribute(jsObject: jsObject, name: Strings.ping) - _rel = ReadWriteAttribute(jsObject: jsObject, name: Strings.rel) - _relList = ReadonlyAttribute(jsObject: jsObject, name: Strings.relList) - _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _noHref = ReadWriteAttribute(jsObject: jsObject, name: Strings.noHref) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var alt: String + @inlinable public var alt: String { + get { jsObject[Strings.alt].fromJSValue()! } + set { jsObject[Strings.alt] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var coords: String + @inlinable public var coords: String { + get { jsObject[Strings.coords].fromJSValue()! } + set { jsObject[Strings.coords] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var shape: String + @inlinable public var shape: String { + get { jsObject[Strings.shape].fromJSValue()! } + set { jsObject[Strings.shape] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var target: String + @inlinable public var target: String { + get { jsObject[Strings.target].fromJSValue()! } + set { jsObject[Strings.target] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var download: String + @inlinable public var download: String { + get { jsObject[Strings.download].fromJSValue()! } + set { jsObject[Strings.download] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ping: String + @inlinable public var ping: String { + get { jsObject[Strings.ping].fromJSValue()! } + set { jsObject[Strings.ping] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rel: String + @inlinable public var rel: String { + get { jsObject[Strings.rel].fromJSValue()! } + set { jsObject[Strings.rel] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var relList: DOMTokenList + @inlinable public var relList: DOMTokenList { jsObject[Strings.relList].fromJSValue()! } - @ReadWriteAttribute - public var referrerPolicy: String + @inlinable public var referrerPolicy: String { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var noHref: Bool + @inlinable public var noHref: Bool { + get { jsObject[Strings.noHref].fromJSValue()! } + set { jsObject[Strings.noHref] = _toJSValue(newValue) } + } } public class HTMLAudioElement: HTMLMediaElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLAudioElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLAudioElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } } public class HTMLBRElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLBRElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLBRElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _clear = ReadWriteAttribute(jsObject: jsObject, name: Strings.clear) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var clear: String + @inlinable public var clear: String { + get { jsObject[Strings.clear].fromJSValue()! } + set { jsObject[Strings.clear] = _toJSValue(newValue) } + } } public class HTMLBaseElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLBaseElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLBaseElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _href = ReadWriteAttribute(jsObject: jsObject, name: Strings.href) - _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var href: String + @inlinable public var href: String { + get { jsObject[Strings.href].fromJSValue()! } + set { jsObject[Strings.href] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var target: String + @inlinable public var target: String { + get { jsObject[Strings.target].fromJSValue()! } + set { jsObject[Strings.target] = _toJSValue(newValue) } + } } public class HTMLBodyElement: HTMLElement, WindowEventHandlers { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLBodyElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLBodyElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) - _link = ReadWriteAttribute(jsObject: jsObject, name: Strings.link) - _vLink = ReadWriteAttribute(jsObject: jsObject, name: Strings.vLink) - _aLink = ReadWriteAttribute(jsObject: jsObject, name: Strings.aLink) - _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) - _background = ReadWriteAttribute(jsObject: jsObject, name: Strings.background) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var text: String + @inlinable public var text: String { + get { jsObject[Strings.text].fromJSValue()! } + set { jsObject[Strings.text] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var link: String + @inlinable public var link: String { + get { jsObject[Strings.link].fromJSValue()! } + set { jsObject[Strings.link] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vLink: String + @inlinable public var vLink: String { + get { jsObject[Strings.vLink].fromJSValue()! } + set { jsObject[Strings.vLink] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var aLink: String + @inlinable public var aLink: String { + get { jsObject[Strings.aLink].fromJSValue()! } + set { jsObject[Strings.aLink] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var bgColor: String + @inlinable public var bgColor: String { + get { jsObject[Strings.bgColor].fromJSValue()! } + set { jsObject[Strings.bgColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var background: String + @inlinable public var background: String { + get { jsObject[Strings.background].fromJSValue()! } + set { jsObject[Strings.background] = _toJSValue(newValue) } + } } public class HTMLButtonElement: HTMLElement, PopoverInvokerElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLButtonElement].function } + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLButtonElement].function + } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _formAction = ReadWriteAttribute(jsObject: jsObject, name: Strings.formAction) - _formEnctype = ReadWriteAttribute(jsObject: jsObject, name: Strings.formEnctype) - _formMethod = ReadWriteAttribute(jsObject: jsObject, name: Strings.formMethod) - _formNoValidate = ReadWriteAttribute(jsObject: jsObject, name: Strings.formNoValidate) - _formTarget = ReadWriteAttribute(jsObject: jsObject, name: Strings.formTarget) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - super.init(unsafelyWrapping: jsObject) + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var command: String { + get { jsObject[Strings.command].fromJSValue()! } + set { jsObject[Strings.command] = _toJSValue(newValue) } } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + @inlinable public var commandForElement: Element? { + get { jsObject[Strings.commandForElement].fromJSValue() } + set { jsObject[Strings.commandForElement] = _toJSValue(newValue) } } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var formAction: String + @inlinable public var formAction: String { + get { jsObject[Strings.formAction].fromJSValue()! } + set { jsObject[Strings.formAction] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formEnctype: String + @inlinable public var formEnctype: String { + get { jsObject[Strings.formEnctype].fromJSValue()! } + set { jsObject[Strings.formEnctype] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formMethod: String + @inlinable public var formMethod: String { + get { jsObject[Strings.formMethod].fromJSValue()! } + set { jsObject[Strings.formMethod] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formNoValidate: Bool + @inlinable public var formNoValidate: Bool { + get { jsObject[Strings.formNoValidate].fromJSValue()! } + set { jsObject[Strings.formNoValidate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formTarget: String + @inlinable public var formTarget: String { + get { jsObject[Strings.formTarget].fromJSValue()! } + set { jsObject[Strings.formTarget] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @ReadonlyAttribute - public var labels: NodeList + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } } public class HTMLCanvasElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLCanvasElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLCanvasElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var width: UInt32 + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var height: UInt32 + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } // XXX: member 'getContext' is ignored - @inlinable public func toDataURL(type: String? = nil, quality: JSValue? = nil) -> String { + @inlinable final public func toDataURL(type: String? = nil, quality: JSValue? = nil) -> String { let this = jsObject - return this[Strings.toDataURL].function!(this: this, arguments: [_toJSValue(type), _toJSValue(quality)]).fromJSValue()! + return this[Strings.toDataURL].function!(this: this, arguments: [_toJSValue(type), _toJSValue(quality)]) + .fromJSValue()! } - @inlinable public func toBlob(callback: @escaping BlobCallback, type: String? = nil, quality: JSValue? = nil) { + @inlinable final public func toBlob(callback: @escaping BlobCallback, type: String? = nil, quality: JSValue? = nil) + { let this = jsObject - _ = this[Strings.toBlob].function!(this: this, arguments: [_toJSValue(callback), _toJSValue(type), _toJSValue(quality)]) + _ = this[Strings.toBlob].function!( + this: this, + arguments: [_toJSValue(callback), _toJSValue(type), _toJSValue(quality)] + ) } - @inlinable public func transferControlToOffscreen() -> OffscreenCanvas { + @inlinable final public func transferControlToOffscreen() -> OffscreenCanvas { let this = jsObject return this[Strings.transferControlToOffscreen].function!(this: this, arguments: []).fromJSValue()! } @@ -6707,1488 +7971,1488 @@ public class HTMLCollection: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> Element? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> Element? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> Element? { + @inlinable final public func item(index: UInt32) -> Element? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> Element? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: String) -> Element? { jsObject[key].fromJSValue() } - @inlinable public func namedItem(name: String) -> Element? { + @inlinable final public func namedItem(name: String) -> Element? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } } public class HTMLDListElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDListElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLDListElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var compact: Bool + @inlinable public var compact: Bool { + get { jsObject[Strings.compact].fromJSValue()! } + set { jsObject[Strings.compact] = _toJSValue(newValue) } + } } public class HTMLDataElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDataElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLDataElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } } public class HTMLDataListElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDataListElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _options = ReadonlyAttribute(jsObject: jsObject, name: Strings.options) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLDataListElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var options: HTMLCollection + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var options: HTMLCollection { jsObject[Strings.options].fromJSValue()! } } public class HTMLDetailsElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDetailsElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _open = ReadWriteAttribute(jsObject: jsObject, name: Strings.open) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLDetailsElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } } - @ReadWriteAttribute - public var open: Bool + @inlinable public var open: Bool { + get { jsObject[Strings.open].fromJSValue()! } + set { jsObject[Strings.open] = _toJSValue(newValue) } + } } public class HTMLDialogElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDialogElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _open = ReadWriteAttribute(jsObject: jsObject, name: Strings.open) - _returnValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.returnValue) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLDialogElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var open: Bool { + get { jsObject[Strings.open].fromJSValue()! } + set { jsObject[Strings.open] = _toJSValue(newValue) } } - @ReadWriteAttribute - public var open: Bool + @inlinable public var returnValue: String { + get { jsObject[Strings.returnValue].fromJSValue()! } + set { jsObject[Strings.returnValue] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var returnValue: String + @inlinable public var closedBy: String { + get { jsObject[Strings.closedBy].fromJSValue()! } + set { jsObject[Strings.closedBy] = _toJSValue(newValue) } + } - @inlinable public func show() { + @inlinable final public func show() { let this = jsObject _ = this[Strings.show].function!(this: this, arguments: []) } - @inlinable public func showModal() { + @inlinable final public func showModal() { let this = jsObject _ = this[Strings.showModal].function!(this: this, arguments: []) } - @inlinable public func close(returnValue: String? = nil) { + @inlinable final public func close(returnValue: String? = nil) { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: [_toJSValue(returnValue)]) } + + @inlinable final public func requestClose(returnValue: String? = nil) { + let this = jsObject + _ = this[Strings.requestClose].function!(this: this, arguments: [_toJSValue(returnValue)]) + } } public class HTMLDirectoryElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDirectoryElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLDirectoryElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var compact: Bool + @inlinable public var compact: Bool { + get { jsObject[Strings.compact].fromJSValue()! } + set { jsObject[Strings.compact] = _toJSValue(newValue) } + } } public class HTMLDivElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLDivElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLDivElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } } public class HTMLElement: Element, GlobalEventHandlers, ElementContentEditable, HTMLOrSVGElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _title = ReadWriteAttribute(jsObject: jsObject, name: Strings.title) - _lang = ReadWriteAttribute(jsObject: jsObject, name: Strings.lang) - _translate = ReadWriteAttribute(jsObject: jsObject, name: Strings.translate) - _dir = ReadWriteAttribute(jsObject: jsObject, name: Strings.dir) - _hidden = ReadWriteAttribute(jsObject: jsObject, name: Strings.hidden) - _inert = ReadWriteAttribute(jsObject: jsObject, name: Strings.inert) - _accessKey = ReadWriteAttribute(jsObject: jsObject, name: Strings.accessKey) - _accessKeyLabel = ReadonlyAttribute(jsObject: jsObject, name: Strings.accessKeyLabel) - _draggable = ReadWriteAttribute(jsObject: jsObject, name: Strings.draggable) - _spellcheck = ReadWriteAttribute(jsObject: jsObject, name: Strings.spellcheck) - _autocapitalize = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocapitalize) - _innerText = ReadWriteAttribute(jsObject: jsObject, name: Strings.innerText) - _outerText = ReadWriteAttribute(jsObject: jsObject, name: Strings.outerText) - _popover = ReadWriteAttribute(jsObject: jsObject, name: Strings.popover) - _offsetParent = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetParent) - _offsetTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetTop) - _offsetLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetLeft) - _offsetWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetWidth) - _offsetHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetHeight) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var title: String + @inlinable public var title: String { + get { jsObject[Strings.title].fromJSValue()! } + set { jsObject[Strings.title] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var lang: String + @inlinable public var lang: String { + get { jsObject[Strings.lang].fromJSValue()! } + set { jsObject[Strings.lang] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var translate: Bool + @inlinable public var translate: Bool { + get { jsObject[Strings.translate].fromJSValue()! } + set { jsObject[Strings.translate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var dir: String + @inlinable public var dir: String { + get { jsObject[Strings.dir].fromJSValue()! } + set { jsObject[Strings.dir] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hidden: Bool_or_Double_or_String? + @inlinable public var hidden: Bool_or_Double_or_String? { + get { jsObject[Strings.hidden].fromJSValue() } + set { jsObject[Strings.hidden] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var inert: Bool + @inlinable public var inert: Bool { + get { jsObject[Strings.inert].fromJSValue()! } + set { jsObject[Strings.inert] = _toJSValue(newValue) } + } - @inlinable public func click() { + @inlinable final public func click() { let this = jsObject _ = this[Strings.click].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var accessKey: String + @inlinable public var accessKey: String { + get { jsObject[Strings.accessKey].fromJSValue()! } + set { jsObject[Strings.accessKey] = _toJSValue(newValue) } + } + + @inlinable public var accessKeyLabel: String { jsObject[Strings.accessKeyLabel].fromJSValue()! } - @ReadonlyAttribute - public var accessKeyLabel: String + @inlinable public var draggable: Bool { + get { jsObject[Strings.draggable].fromJSValue()! } + set { jsObject[Strings.draggable] = _toJSValue(newValue) } + } + + @inlinable public var spellcheck: Bool { + get { jsObject[Strings.spellcheck].fromJSValue()! } + set { jsObject[Strings.spellcheck] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var draggable: Bool + @inlinable public var writingSuggestions: String { + get { jsObject[Strings.writingSuggestions].fromJSValue()! } + set { jsObject[Strings.writingSuggestions] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var spellcheck: Bool + @inlinable public var autocapitalize: String { + get { jsObject[Strings.autocapitalize].fromJSValue()! } + set { jsObject[Strings.autocapitalize] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var autocapitalize: String + @inlinable public var autocorrect: Bool { + get { jsObject[Strings.autocorrect].fromJSValue()! } + set { jsObject[Strings.autocorrect] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var innerText: String + @inlinable public var innerText: String { + get { jsObject[Strings.innerText].fromJSValue()! } + set { jsObject[Strings.innerText] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var outerText: String + @inlinable public var outerText: String { + get { jsObject[Strings.outerText].fromJSValue()! } + set { jsObject[Strings.outerText] = _toJSValue(newValue) } + } - @inlinable public func attachInternals() -> ElementInternals { + @inlinable final public func attachInternals() -> ElementInternals { let this = jsObject return this[Strings.attachInternals].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func showPopover() { + @inlinable final public func showPopover(options: ShowPopoverOptions? = nil) { let this = jsObject - _ = this[Strings.showPopover].function!(this: this, arguments: []) + _ = this[Strings.showPopover].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func hidePopover() { + @inlinable final public func hidePopover() { let this = jsObject _ = this[Strings.hidePopover].function!(this: this, arguments: []) } - @inlinable public func togglePopover(force: Bool? = nil) -> Bool { + @inlinable final public func togglePopover(options: Bool_or_TogglePopoverOptions? = nil) -> Bool { let this = jsObject - return this[Strings.togglePopover].function!(this: this, arguments: [_toJSValue(force)]).fromJSValue()! + return this[Strings.togglePopover].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @ReadWriteAttribute - public var popover: String? + @inlinable public var popover: String? { + get { jsObject[Strings.popover].fromJSValue() } + set { jsObject[Strings.popover] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var offsetParent: Element? + @inlinable public var offsetParent: Element? { jsObject[Strings.offsetParent].fromJSValue() } - @ReadonlyAttribute - public var offsetTop: Int32 + @inlinable public var offsetTop: Int32 { jsObject[Strings.offsetTop].fromJSValue()! } - @ReadonlyAttribute - public var offsetLeft: Int32 + @inlinable public var offsetLeft: Int32 { jsObject[Strings.offsetLeft].fromJSValue()! } - @ReadonlyAttribute - public var offsetWidth: Int32 + @inlinable public var offsetWidth: Int32 { jsObject[Strings.offsetWidth].fromJSValue()! } - @ReadonlyAttribute - public var offsetHeight: Int32 + @inlinable public var offsetHeight: Int32 { jsObject[Strings.offsetHeight].fromJSValue()! } } public class HTMLEmbedElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLEmbedElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLEmbedElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: String + @inlinable public var height: String { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @inlinable public func getSVGDocument() -> Document? { + @inlinable final public func getSVGDocument() -> Document? { let this = jsObject return this[Strings.getSVGDocument].function!(this: this, arguments: []).fromJSValue() } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } } public class HTMLFieldSetElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFieldSetElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _elements = ReadonlyAttribute(jsObject: jsObject, name: Strings.elements) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLFieldSetElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var elements: HTMLCollection + @inlinable public var elements: HTMLCollection { jsObject[Strings.elements].fromJSValue()! } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } } public class HTMLFontElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFontElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLFontElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _color = ReadWriteAttribute(jsObject: jsObject, name: Strings.color) - _face = ReadWriteAttribute(jsObject: jsObject, name: Strings.face) - _size = ReadWriteAttribute(jsObject: jsObject, name: Strings.size) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var color: String + @inlinable public var color: String { + get { jsObject[Strings.color].fromJSValue()! } + set { jsObject[Strings.color] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var face: String + @inlinable public var face: String { + get { jsObject[Strings.face].fromJSValue()! } + set { jsObject[Strings.face] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var size: String + @inlinable public var size: String { + get { jsObject[Strings.size].fromJSValue()! } + set { jsObject[Strings.size] = _toJSValue(newValue) } + } } public class HTMLFormControlsCollection: HTMLCollection { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFormControlsCollection].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLFormControlsCollection].function } - @inlinable public subscript(key: String) -> Element_or_RadioNodeList? { - jsObject[key].fromJSValue() - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public subscript(key: String) -> Element_or_RadioNodeList? { jsObject[key].fromJSValue() } - @inlinable override public func namedItem(name: String) -> Element_or_RadioNodeList? { - let this = jsObject - return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() - } } public class HTMLFormElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFormElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLFormElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _acceptCharset = ReadWriteAttribute(jsObject: jsObject, name: Strings.acceptCharset) - _action = ReadWriteAttribute(jsObject: jsObject, name: Strings.action) - _autocomplete = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocomplete) - _enctype = ReadWriteAttribute(jsObject: jsObject, name: Strings.enctype) - _encoding = ReadWriteAttribute(jsObject: jsObject, name: Strings.encoding) - _method = ReadWriteAttribute(jsObject: jsObject, name: Strings.method) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _noValidate = ReadWriteAttribute(jsObject: jsObject, name: Strings.noValidate) - _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) - _rel = ReadWriteAttribute(jsObject: jsObject, name: Strings.rel) - _relList = ReadonlyAttribute(jsObject: jsObject, name: Strings.relList) - _elements = ReadonlyAttribute(jsObject: jsObject, name: Strings.elements) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var acceptCharset: String + @inlinable public var acceptCharset: String { + get { jsObject[Strings.acceptCharset].fromJSValue()! } + set { jsObject[Strings.acceptCharset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var action: String + @inlinable public var action: String { + get { jsObject[Strings.action].fromJSValue()! } + set { jsObject[Strings.action] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var autocomplete: String + @inlinable public var autocomplete: String { + get { jsObject[Strings.autocomplete].fromJSValue()! } + set { jsObject[Strings.autocomplete] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var enctype: String + @inlinable public var enctype: String { + get { jsObject[Strings.enctype].fromJSValue()! } + set { jsObject[Strings.enctype] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var encoding: String + @inlinable public var encoding: String { + get { jsObject[Strings.encoding].fromJSValue()! } + set { jsObject[Strings.encoding] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var method: String + @inlinable public var method: String { + get { jsObject[Strings.method].fromJSValue()! } + set { jsObject[Strings.method] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var noValidate: Bool + @inlinable public var noValidate: Bool { + get { jsObject[Strings.noValidate].fromJSValue()! } + set { jsObject[Strings.noValidate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var target: String + @inlinable public var target: String { + get { jsObject[Strings.target].fromJSValue()! } + set { jsObject[Strings.target] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rel: String + @inlinable public var rel: String { + get { jsObject[Strings.rel].fromJSValue()! } + set { jsObject[Strings.rel] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var relList: DOMTokenList + @inlinable public var relList: DOMTokenList { jsObject[Strings.relList].fromJSValue()! } - @ReadonlyAttribute - public var elements: HTMLFormControlsCollection + @inlinable public var elements: HTMLFormControlsCollection { jsObject[Strings.elements].fromJSValue()! } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> Element { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> Element { jsObject[key].fromJSValue()! } - @inlinable public subscript(key: String) -> Element_or_RadioNodeList { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: String) -> Element_or_RadioNodeList { jsObject[key].fromJSValue()! } - @inlinable public func submit() { + @inlinable final public func submit() { let this = jsObject _ = this[Strings.submit].function!(this: this, arguments: []) } - @inlinable public func requestSubmit(submitter: HTMLElement? = nil) { + @inlinable final public func requestSubmit(submitter: HTMLElement? = nil) { let this = jsObject _ = this[Strings.requestSubmit].function!(this: this, arguments: [_toJSValue(submitter)]) } - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } } public class HTMLFrameElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFrameElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLFrameElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _scrolling = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrolling) - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _frameBorder = ReadWriteAttribute(jsObject: jsObject, name: Strings.frameBorder) - _longDesc = ReadWriteAttribute(jsObject: jsObject, name: Strings.longDesc) - _noResize = ReadWriteAttribute(jsObject: jsObject, name: Strings.noResize) - _contentDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentDocument) - _contentWindow = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentWindow) - _marginHeight = ReadWriteAttribute(jsObject: jsObject, name: Strings.marginHeight) - _marginWidth = ReadWriteAttribute(jsObject: jsObject, name: Strings.marginWidth) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var scrolling: String + @inlinable public var scrolling: String { + get { jsObject[Strings.scrolling].fromJSValue()! } + set { jsObject[Strings.scrolling] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var frameBorder: String + @inlinable public var frameBorder: String { + get { jsObject[Strings.frameBorder].fromJSValue()! } + set { jsObject[Strings.frameBorder] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var longDesc: String + @inlinable public var longDesc: String { + get { jsObject[Strings.longDesc].fromJSValue()! } + set { jsObject[Strings.longDesc] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var noResize: Bool + @inlinable public var noResize: Bool { + get { jsObject[Strings.noResize].fromJSValue()! } + set { jsObject[Strings.noResize] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var contentDocument: Document? + @inlinable public var contentDocument: Document? { jsObject[Strings.contentDocument].fromJSValue() } - @ReadonlyAttribute - public var contentWindow: WindowProxy? + @inlinable public var contentWindow: WindowProxy? { jsObject[Strings.contentWindow].fromJSValue() } - @ReadWriteAttribute - public var marginHeight: String + @inlinable public var marginHeight: String { + get { jsObject[Strings.marginHeight].fromJSValue()! } + set { jsObject[Strings.marginHeight] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var marginWidth: String + @inlinable public var marginWidth: String { + get { jsObject[Strings.marginWidth].fromJSValue()! } + set { jsObject[Strings.marginWidth] = _toJSValue(newValue) } + } } public class HTMLFrameSetElement: HTMLElement, WindowEventHandlers { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLFrameSetElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _cols = ReadWriteAttribute(jsObject: jsObject, name: Strings.cols) - _rows = ReadWriteAttribute(jsObject: jsObject, name: Strings.rows) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLFrameSetElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var cols: String + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var rows: String + @inlinable public var cols: String { + get { jsObject[Strings.cols].fromJSValue()! } + set { jsObject[Strings.cols] = _toJSValue(newValue) } + } + + @inlinable public var rows: String { + get { jsObject[Strings.rows].fromJSValue()! } + set { jsObject[Strings.rows] = _toJSValue(newValue) } + } } public class HTMLHRElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLHRElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLHRElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _color = ReadWriteAttribute(jsObject: jsObject, name: Strings.color) - _noShade = ReadWriteAttribute(jsObject: jsObject, name: Strings.noShade) - _size = ReadWriteAttribute(jsObject: jsObject, name: Strings.size) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var color: String + @inlinable public var color: String { + get { jsObject[Strings.color].fromJSValue()! } + set { jsObject[Strings.color] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var noShade: Bool + @inlinable public var noShade: Bool { + get { jsObject[Strings.noShade].fromJSValue()! } + set { jsObject[Strings.noShade] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var size: String + @inlinable public var size: String { + get { jsObject[Strings.size].fromJSValue()! } + set { jsObject[Strings.size] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } } public class HTMLHeadElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLHeadElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLHeadElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } } public class HTMLHeadingElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLHeadingElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLHeadingElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var align: String + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } } public class HTMLHtmlElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLHtmlElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLHtmlElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _version = ReadWriteAttribute(jsObject: jsObject, name: Strings.version) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var version: String + @inlinable public var version: String { + get { jsObject[Strings.version].fromJSValue()! } + set { jsObject[Strings.version] = _toJSValue(newValue) } + } } public protocol HTMLHyperlinkElementUtils: JSBridgedClass {} -public extension HTMLHyperlinkElementUtils { - @inlinable var href: String { +extension HTMLHyperlinkElementUtils { + @inlinable public var href: String { get { jsObject[Strings.href].fromJSValue()! } - nonmutating set { jsObject[Strings.href] = _toJSValue(newValue) } + set { jsObject[Strings.href] = _toJSValue(newValue) } } - @inlinable var origin: String { jsObject[Strings.origin].fromJSValue()! } + @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } - @inlinable var `protocol`: String { - get { jsObject[Strings.protocol].fromJSValue()! } - nonmutating set { jsObject[Strings.protocol] = _toJSValue(newValue) } + @inlinable public var `protocol`: String { + get { jsObject[Strings.`protocol`].fromJSValue()! } + set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } } - @inlinable var username: String { + @inlinable public var username: String { get { jsObject[Strings.username].fromJSValue()! } - nonmutating set { jsObject[Strings.username] = _toJSValue(newValue) } + set { jsObject[Strings.username] = _toJSValue(newValue) } } - @inlinable var password: String { + @inlinable public var password: String { get { jsObject[Strings.password].fromJSValue()! } - nonmutating set { jsObject[Strings.password] = _toJSValue(newValue) } + set { jsObject[Strings.password] = _toJSValue(newValue) } } - @inlinable var host: String { + @inlinable public var host: String { get { jsObject[Strings.host].fromJSValue()! } - nonmutating set { jsObject[Strings.host] = _toJSValue(newValue) } + set { jsObject[Strings.host] = _toJSValue(newValue) } } - @inlinable var hostname: String { + @inlinable public var hostname: String { get { jsObject[Strings.hostname].fromJSValue()! } - nonmutating set { jsObject[Strings.hostname] = _toJSValue(newValue) } + set { jsObject[Strings.hostname] = _toJSValue(newValue) } } - @inlinable var port: String { + @inlinable public var port: String { get { jsObject[Strings.port].fromJSValue()! } - nonmutating set { jsObject[Strings.port] = _toJSValue(newValue) } + set { jsObject[Strings.port] = _toJSValue(newValue) } } - @inlinable var pathname: String { + @inlinable public var pathname: String { get { jsObject[Strings.pathname].fromJSValue()! } - nonmutating set { jsObject[Strings.pathname] = _toJSValue(newValue) } + set { jsObject[Strings.pathname] = _toJSValue(newValue) } } - @inlinable var search: String { + @inlinable public var search: String { get { jsObject[Strings.search].fromJSValue()! } - nonmutating set { jsObject[Strings.search] = _toJSValue(newValue) } + set { jsObject[Strings.search] = _toJSValue(newValue) } } - @inlinable var hash: String { + @inlinable public var hash: String { get { jsObject[Strings.hash].fromJSValue()! } - nonmutating set { jsObject[Strings.hash] = _toJSValue(newValue) } + set { jsObject[Strings.hash] = _toJSValue(newValue) } } } - public class HTMLIFrameElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLIFrameElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _srcdoc = ReadWriteAttribute(jsObject: jsObject, name: Strings.srcdoc) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _sandbox = ReadonlyAttribute(jsObject: jsObject, name: Strings.sandbox) - _allow = ReadWriteAttribute(jsObject: jsObject, name: Strings.allow) - _allowFullscreen = ReadWriteAttribute(jsObject: jsObject, name: Strings.allowFullscreen) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _loading = ReadWriteAttribute(jsObject: jsObject, name: Strings.loading) - _contentDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentDocument) - _contentWindow = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentWindow) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _scrolling = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrolling) - _frameBorder = ReadWriteAttribute(jsObject: jsObject, name: Strings.frameBorder) - _longDesc = ReadWriteAttribute(jsObject: jsObject, name: Strings.longDesc) - _marginHeight = ReadWriteAttribute(jsObject: jsObject, name: Strings.marginHeight) - _marginWidth = ReadWriteAttribute(jsObject: jsObject, name: Strings.marginWidth) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLIFrameElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var src: String + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var srcdoc: String + @inlinable public var srcdoc: String_or_TrustedHTML { + get { jsObject[Strings.srcdoc].fromJSValue()! } + set { jsObject[Strings.srcdoc] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var sandbox: DOMTokenList + @inlinable public var sandbox: DOMTokenList { jsObject[Strings.sandbox].fromJSValue()! } - @ReadWriteAttribute - public var allow: String + @inlinable public var allow: String { + get { jsObject[Strings.allow].fromJSValue()! } + set { jsObject[Strings.allow] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var allowFullscreen: Bool + @inlinable public var allowFullscreen: Bool { + get { jsObject[Strings.allowFullscreen].fromJSValue()! } + set { jsObject[Strings.allowFullscreen] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: String + @inlinable public var height: String { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var referrerPolicy: String + @inlinable public var referrerPolicy: String { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var loading: String + @inlinable public var loading: String { + get { jsObject[Strings.loading].fromJSValue()! } + set { jsObject[Strings.loading] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var contentDocument: Document? + @inlinable public var contentDocument: Document? { jsObject[Strings.contentDocument].fromJSValue() } - @ReadonlyAttribute - public var contentWindow: WindowProxy? + @inlinable public var contentWindow: WindowProxy? { jsObject[Strings.contentWindow].fromJSValue() } - @inlinable public func getSVGDocument() -> Document? { + @inlinable final public func getSVGDocument() -> Document? { let this = jsObject return this[Strings.getSVGDocument].function!(this: this, arguments: []).fromJSValue() } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var scrolling: String + @inlinable public var scrolling: String { + get { jsObject[Strings.scrolling].fromJSValue()! } + set { jsObject[Strings.scrolling] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var frameBorder: String + @inlinable public var frameBorder: String { + get { jsObject[Strings.frameBorder].fromJSValue()! } + set { jsObject[Strings.frameBorder] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var longDesc: String + @inlinable public var longDesc: String { + get { jsObject[Strings.longDesc].fromJSValue()! } + set { jsObject[Strings.longDesc] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var marginHeight: String + @inlinable public var marginHeight: String { + get { jsObject[Strings.marginHeight].fromJSValue()! } + set { jsObject[Strings.marginHeight] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var marginWidth: String + @inlinable public var marginWidth: String { + get { jsObject[Strings.marginWidth].fromJSValue()! } + set { jsObject[Strings.marginWidth] = _toJSValue(newValue) } + } } public class HTMLImageElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLImageElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLImageElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _alt = ReadWriteAttribute(jsObject: jsObject, name: Strings.alt) - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _srcset = ReadWriteAttribute(jsObject: jsObject, name: Strings.srcset) - _sizes = ReadWriteAttribute(jsObject: jsObject, name: Strings.sizes) - _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) - _useMap = ReadWriteAttribute(jsObject: jsObject, name: Strings.useMap) - _isMap = ReadWriteAttribute(jsObject: jsObject, name: Strings.isMap) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _naturalWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.naturalWidth) - _naturalHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.naturalHeight) - _complete = ReadonlyAttribute(jsObject: jsObject, name: Strings.complete) - _currentSrc = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentSrc) - _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _decoding = ReadWriteAttribute(jsObject: jsObject, name: Strings.decoding) - _loading = ReadWriteAttribute(jsObject: jsObject, name: Strings.loading) - _fetchPriority = ReadWriteAttribute(jsObject: jsObject, name: Strings.fetchPriority) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _lowsrc = ReadWriteAttribute(jsObject: jsObject, name: Strings.lowsrc) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _hspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.hspace) - _vspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.vspace) - _longDesc = ReadWriteAttribute(jsObject: jsObject, name: Strings.longDesc) - _border = ReadWriteAttribute(jsObject: jsObject, name: Strings.border) - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var alt: String + @inlinable public var alt: String { + get { jsObject[Strings.alt].fromJSValue()! } + set { jsObject[Strings.alt] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var srcset: String + @inlinable public var srcset: String { + get { jsObject[Strings.srcset].fromJSValue()! } + set { jsObject[Strings.srcset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var sizes: String + @inlinable public var sizes: String { + get { jsObject[Strings.sizes].fromJSValue()! } + set { jsObject[Strings.sizes] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var crossOrigin: String? + @inlinable public var crossOrigin: String? { + get { jsObject[Strings.crossOrigin].fromJSValue() } + set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var useMap: String + @inlinable public var useMap: String { + get { jsObject[Strings.useMap].fromJSValue()! } + set { jsObject[Strings.useMap] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var isMap: Bool + @inlinable public var isMap: Bool { + get { jsObject[Strings.isMap].fromJSValue()! } + set { jsObject[Strings.isMap] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: UInt32 + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: UInt32 + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var naturalWidth: UInt32 + @inlinable public var naturalWidth: UInt32 { jsObject[Strings.naturalWidth].fromJSValue()! } - @ReadonlyAttribute - public var naturalHeight: UInt32 + @inlinable public var naturalHeight: UInt32 { jsObject[Strings.naturalHeight].fromJSValue()! } - @ReadonlyAttribute - public var complete: Bool + @inlinable public var complete: Bool { jsObject[Strings.complete].fromJSValue()! } - @ReadonlyAttribute - public var currentSrc: String + @inlinable public var currentSrc: String { jsObject[Strings.currentSrc].fromJSValue()! } - @ReadWriteAttribute - public var referrerPolicy: String + @inlinable public var referrerPolicy: String { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var decoding: String + @inlinable public var decoding: String { + get { jsObject[Strings.decoding].fromJSValue()! } + set { jsObject[Strings.decoding] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var loading: String + @inlinable public var loading: String { + get { jsObject[Strings.loading].fromJSValue()! } + set { jsObject[Strings.loading] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var fetchPriority: String + @inlinable public var fetchPriority: String { + get { jsObject[Strings.fetchPriority].fromJSValue()! } + set { jsObject[Strings.fetchPriority] = _toJSValue(newValue) } + } - @inlinable public func decode() -> JSPromise { + @inlinable final public func decode() -> JSPromise { let this = jsObject return this[Strings.decode].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func decode() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.decode].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func decode() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.decode].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var lowsrc: String + @inlinable public var lowsrc: String { + get { jsObject[Strings.lowsrc].fromJSValue()! } + set { jsObject[Strings.lowsrc] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hspace: UInt32 + @inlinable public var hspace: UInt32 { + get { jsObject[Strings.hspace].fromJSValue()! } + set { jsObject[Strings.hspace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vspace: UInt32 + @inlinable public var vspace: UInt32 { + get { jsObject[Strings.vspace].fromJSValue()! } + set { jsObject[Strings.vspace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var longDesc: String + @inlinable public var longDesc: String { + get { jsObject[Strings.longDesc].fromJSValue()! } + set { jsObject[Strings.longDesc] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var border: String + @inlinable public var border: String { + get { jsObject[Strings.border].fromJSValue()! } + set { jsObject[Strings.border] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var x: Int32 + @inlinable public var x: Int32 { jsObject[Strings.x].fromJSValue()! } - @ReadonlyAttribute - public var y: Int32 + @inlinable public var y: Int32 { jsObject[Strings.y].fromJSValue()! } } public class HTMLInputElement: HTMLElement, PopoverInvokerElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLInputElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _accept = ReadWriteAttribute(jsObject: jsObject, name: Strings.accept) - _alt = ReadWriteAttribute(jsObject: jsObject, name: Strings.alt) - _autocomplete = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocomplete) - _defaultChecked = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultChecked) - _checked = ReadWriteAttribute(jsObject: jsObject, name: Strings.checked) - _dirName = ReadWriteAttribute(jsObject: jsObject, name: Strings.dirName) - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _files = ReadWriteAttribute(jsObject: jsObject, name: Strings.files) - _formAction = ReadWriteAttribute(jsObject: jsObject, name: Strings.formAction) - _formEnctype = ReadWriteAttribute(jsObject: jsObject, name: Strings.formEnctype) - _formMethod = ReadWriteAttribute(jsObject: jsObject, name: Strings.formMethod) - _formNoValidate = ReadWriteAttribute(jsObject: jsObject, name: Strings.formNoValidate) - _formTarget = ReadWriteAttribute(jsObject: jsObject, name: Strings.formTarget) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _indeterminate = ReadWriteAttribute(jsObject: jsObject, name: Strings.indeterminate) - _list = ReadonlyAttribute(jsObject: jsObject, name: Strings.list) - _max = ReadWriteAttribute(jsObject: jsObject, name: Strings.max) - _maxLength = ReadWriteAttribute(jsObject: jsObject, name: Strings.maxLength) - _min = ReadWriteAttribute(jsObject: jsObject, name: Strings.min) - _minLength = ReadWriteAttribute(jsObject: jsObject, name: Strings.minLength) - _multiple = ReadWriteAttribute(jsObject: jsObject, name: Strings.multiple) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _pattern = ReadWriteAttribute(jsObject: jsObject, name: Strings.pattern) - _placeholder = ReadWriteAttribute(jsObject: jsObject, name: Strings.placeholder) - _readOnly = ReadWriteAttribute(jsObject: jsObject, name: Strings.readOnly) - _required = ReadWriteAttribute(jsObject: jsObject, name: Strings.required) - _size = ReadWriteAttribute(jsObject: jsObject, name: Strings.size) - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _step = ReadWriteAttribute(jsObject: jsObject, name: Strings.step) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _defaultValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultValue) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _valueAsDate = ReadWriteAttribute(jsObject: jsObject, name: Strings.valueAsDate) - _valueAsNumber = ReadWriteAttribute(jsObject: jsObject, name: Strings.valueAsNumber) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - _selectionStart = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionStart) - _selectionEnd = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionEnd) - _selectionDirection = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionDirection) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _useMap = ReadWriteAttribute(jsObject: jsObject, name: Strings.useMap) - super.init(unsafelyWrapping: jsObject) - } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLInputElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var accept: String { + get { jsObject[Strings.accept].fromJSValue()! } + set { jsObject[Strings.accept] = _toJSValue(newValue) } + } + + @inlinable public var alpha: Bool { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } } - @ReadWriteAttribute - public var accept: String + @inlinable public var alt: String { + get { jsObject[Strings.alt].fromJSValue()! } + set { jsObject[Strings.alt] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var alt: String + @inlinable public var autocomplete: String { + get { jsObject[Strings.autocomplete].fromJSValue()! } + set { jsObject[Strings.autocomplete] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var autocomplete: String + @inlinable public var defaultChecked: Bool { + get { jsObject[Strings.defaultChecked].fromJSValue()! } + set { jsObject[Strings.defaultChecked] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var defaultChecked: Bool + @inlinable public var checked: Bool { + get { jsObject[Strings.checked].fromJSValue()! } + set { jsObject[Strings.checked] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var checked: Bool + @inlinable public var colorSpace: String { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var dirName: String + @inlinable public var dirName: String { + get { jsObject[Strings.dirName].fromJSValue()! } + set { jsObject[Strings.dirName] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var files: FileList? + @inlinable public var files: FileList? { + get { jsObject[Strings.files].fromJSValue() } + set { jsObject[Strings.files] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formAction: String + @inlinable public var formAction: String { + get { jsObject[Strings.formAction].fromJSValue()! } + set { jsObject[Strings.formAction] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formEnctype: String + @inlinable public var formEnctype: String { + get { jsObject[Strings.formEnctype].fromJSValue()! } + set { jsObject[Strings.formEnctype] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formMethod: String + @inlinable public var formMethod: String { + get { jsObject[Strings.formMethod].fromJSValue()! } + set { jsObject[Strings.formMethod] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formNoValidate: Bool + @inlinable public var formNoValidate: Bool { + get { jsObject[Strings.formNoValidate].fromJSValue()! } + set { jsObject[Strings.formNoValidate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var formTarget: String + @inlinable public var formTarget: String { + get { jsObject[Strings.formTarget].fromJSValue()! } + set { jsObject[Strings.formTarget] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: UInt32 + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var indeterminate: Bool + @inlinable public var indeterminate: Bool { + get { jsObject[Strings.indeterminate].fromJSValue()! } + set { jsObject[Strings.indeterminate] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var list: HTMLDataListElement? + @inlinable public var list: HTMLDataListElement? { jsObject[Strings.list].fromJSValue() } - @ReadWriteAttribute - public var max: String + @inlinable public var max: String { + get { jsObject[Strings.max].fromJSValue()! } + set { jsObject[Strings.max] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var maxLength: Int32 + @inlinable public var maxLength: Int32 { + get { jsObject[Strings.maxLength].fromJSValue()! } + set { jsObject[Strings.maxLength] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var min: String + @inlinable public var min: String { + get { jsObject[Strings.min].fromJSValue()! } + set { jsObject[Strings.min] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var minLength: Int32 + @inlinable public var minLength: Int32 { + get { jsObject[Strings.minLength].fromJSValue()! } + set { jsObject[Strings.minLength] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var multiple: Bool + @inlinable public var multiple: Bool { + get { jsObject[Strings.multiple].fromJSValue()! } + set { jsObject[Strings.multiple] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var pattern: String + @inlinable public var pattern: String { + get { jsObject[Strings.pattern].fromJSValue()! } + set { jsObject[Strings.pattern] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var placeholder: String + @inlinable public var placeholder: String { + get { jsObject[Strings.placeholder].fromJSValue()! } + set { jsObject[Strings.placeholder] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var readOnly: Bool + @inlinable public var readOnly: Bool { + get { jsObject[Strings.readOnly].fromJSValue()! } + set { jsObject[Strings.readOnly] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var required: Bool + @inlinable public var required: Bool { + get { jsObject[Strings.required].fromJSValue()! } + set { jsObject[Strings.required] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var size: UInt32 + @inlinable public var size: UInt32 { + get { jsObject[Strings.size].fromJSValue()! } + set { jsObject[Strings.size] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var step: String + @inlinable public var step: String { + get { jsObject[Strings.step].fromJSValue()! } + set { jsObject[Strings.step] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var defaultValue: String + @inlinable public var defaultValue: String { + get { jsObject[Strings.defaultValue].fromJSValue()! } + set { jsObject[Strings.defaultValue] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var valueAsDate: JSObject? + @inlinable public var valueAsDate: JSObject? { + get { jsObject[Strings.valueAsDate].fromJSValue() } + set { jsObject[Strings.valueAsDate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var valueAsNumber: Double + @inlinable public var valueAsNumber: Double { + get { jsObject[Strings.valueAsNumber].fromJSValue()! } + set { jsObject[Strings.valueAsNumber] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: UInt32 + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @inlinable public func stepUp(n: Int32? = nil) { + @inlinable final public func stepUp(n: Int32? = nil) { let this = jsObject _ = this[Strings.stepUp].function!(this: this, arguments: [_toJSValue(n)]) } - @inlinable public func stepDown(n: Int32? = nil) { + @inlinable final public func stepDown(n: Int32? = nil) { let this = jsObject _ = this[Strings.stepDown].function!(this: this, arguments: [_toJSValue(n)]) } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @ReadonlyAttribute - public var labels: NodeList? + @inlinable public var labels: NodeList? { jsObject[Strings.labels].fromJSValue() } - @inlinable public func select() { + @inlinable final public func select() { let this = jsObject _ = this[Strings.select].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var selectionStart: UInt32? + @inlinable public var selectionStart: UInt32? { + get { jsObject[Strings.selectionStart].fromJSValue() } + set { jsObject[Strings.selectionStart] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var selectionEnd: UInt32? + @inlinable public var selectionEnd: UInt32? { + get { jsObject[Strings.selectionEnd].fromJSValue() } + set { jsObject[Strings.selectionEnd] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var selectionDirection: String? + @inlinable public var selectionDirection: String? { + get { jsObject[Strings.selectionDirection].fromJSValue() } + set { jsObject[Strings.selectionDirection] = _toJSValue(newValue) } + } - @inlinable public func setRangeText(replacement: String) { + @inlinable final public func setRangeText(replacement: String) { let this = jsObject _ = this[Strings.setRangeText].function!(this: this, arguments: [_toJSValue(replacement)]) } - @inlinable public func setRangeText(replacement: String, start: UInt32, end: UInt32, selectionMode: SelectionMode? = nil) { + @inlinable final public func setRangeText( + replacement: String, + start: UInt32, + end: UInt32, + selectionMode: SelectionMode? = nil + ) { let this = jsObject - _ = this[Strings.setRangeText].function!(this: this, arguments: [_toJSValue(replacement), _toJSValue(start), _toJSValue(end), _toJSValue(selectionMode)]) + _ = this[Strings.setRangeText].function!( + this: this, + arguments: [_toJSValue(replacement), _toJSValue(start), _toJSValue(end), _toJSValue(selectionMode)] + ) } - @inlinable public func setSelectionRange(start: UInt32, end: UInt32, direction: String? = nil) { + @inlinable final public func setSelectionRange(start: UInt32, end: UInt32, direction: String? = nil) { let this = jsObject - _ = this[Strings.setSelectionRange].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(direction)]) + _ = this[Strings.setSelectionRange].function!( + this: this, + arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(direction)] + ) } - @inlinable public func showPicker() { + @inlinable final public func showPicker() { let this = jsObject _ = this[Strings.showPicker].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var useMap: String + @inlinable public var useMap: String { + get { jsObject[Strings.useMap].fromJSValue()! } + set { jsObject[Strings.useMap] = _toJSValue(newValue) } + } } public class HTMLLIElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLLIElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLLIElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var value: Int32 + @inlinable public var value: Int32 { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } } public class HTMLLabelElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLLabelElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLLabelElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _htmlFor = ReadWriteAttribute(jsObject: jsObject, name: Strings.htmlFor) - _control = ReadonlyAttribute(jsObject: jsObject, name: Strings.control) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var htmlFor: String + @inlinable public var htmlFor: String { + get { jsObject[Strings.htmlFor].fromJSValue()! } + set { jsObject[Strings.htmlFor] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var control: HTMLElement? + @inlinable public var control: HTMLElement? { jsObject[Strings.control].fromJSValue() } } public class HTMLLegendElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLLegendElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLLegendElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } } public class HTMLLinkElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLLinkElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLLinkElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _href = ReadWriteAttribute(jsObject: jsObject, name: Strings.href) - _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) - _rel = ReadWriteAttribute(jsObject: jsObject, name: Strings.rel) - _as = ReadWriteAttribute(jsObject: jsObject, name: Strings.as) - _relList = ReadonlyAttribute(jsObject: jsObject, name: Strings.relList) - _media = ReadWriteAttribute(jsObject: jsObject, name: Strings.media) - _integrity = ReadWriteAttribute(jsObject: jsObject, name: Strings.integrity) - _hreflang = ReadWriteAttribute(jsObject: jsObject, name: Strings.hreflang) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _sizes = ReadonlyAttribute(jsObject: jsObject, name: Strings.sizes) - _imageSrcset = ReadWriteAttribute(jsObject: jsObject, name: Strings.imageSrcset) - _imageSizes = ReadWriteAttribute(jsObject: jsObject, name: Strings.imageSizes) - _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _blocking = ReadonlyAttribute(jsObject: jsObject, name: Strings.blocking) - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _fetchPriority = ReadWriteAttribute(jsObject: jsObject, name: Strings.fetchPriority) - _charset = ReadWriteAttribute(jsObject: jsObject, name: Strings.charset) - _rev = ReadWriteAttribute(jsObject: jsObject, name: Strings.rev) - _target = ReadWriteAttribute(jsObject: jsObject, name: Strings.target) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var href: String + @inlinable public var href: String { + get { jsObject[Strings.href].fromJSValue()! } + set { jsObject[Strings.href] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var crossOrigin: String? + @inlinable public var crossOrigin: String? { + get { jsObject[Strings.crossOrigin].fromJSValue() } + set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rel: String + @inlinable public var rel: String { + get { jsObject[Strings.rel].fromJSValue()! } + set { jsObject[Strings.rel] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var `as`: String + @inlinable public var `as`: String { + get { jsObject[Strings.`as`].fromJSValue()! } + set { jsObject[Strings.`as`] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var relList: DOMTokenList + @inlinable public var relList: DOMTokenList { jsObject[Strings.relList].fromJSValue()! } - @ReadWriteAttribute - public var media: String + @inlinable public var media: String { + get { jsObject[Strings.media].fromJSValue()! } + set { jsObject[Strings.media] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var integrity: String + @inlinable public var integrity: String { + get { jsObject[Strings.integrity].fromJSValue()! } + set { jsObject[Strings.integrity] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hreflang: String + @inlinable public var hreflang: String { + get { jsObject[Strings.hreflang].fromJSValue()! } + set { jsObject[Strings.hreflang] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var sizes: DOMTokenList + @inlinable public var sizes: DOMTokenList { jsObject[Strings.sizes].fromJSValue()! } - @ReadWriteAttribute - public var imageSrcset: String + @inlinable public var imageSrcset: String { + get { jsObject[Strings.imageSrcset].fromJSValue()! } + set { jsObject[Strings.imageSrcset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var imageSizes: String + @inlinable public var imageSizes: String { + get { jsObject[Strings.imageSizes].fromJSValue()! } + set { jsObject[Strings.imageSizes] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var referrerPolicy: String + @inlinable public var referrerPolicy: String { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var blocking: DOMTokenList + @inlinable public var blocking: DOMTokenList { jsObject[Strings.blocking].fromJSValue()! } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var fetchPriority: String + @inlinable public var fetchPriority: String { + get { jsObject[Strings.fetchPriority].fromJSValue()! } + set { jsObject[Strings.fetchPriority] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var charset: String + @inlinable public var charset: String { + get { jsObject[Strings.charset].fromJSValue()! } + set { jsObject[Strings.charset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rev: String + @inlinable public var rev: String { + get { jsObject[Strings.rev].fromJSValue()! } + set { jsObject[Strings.rev] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var target: String + @inlinable public var target: String { + get { jsObject[Strings.target].fromJSValue()! } + set { jsObject[Strings.target] = _toJSValue(newValue) } + } } public class HTMLMapElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMapElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMapElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _areas = ReadonlyAttribute(jsObject: jsObject, name: Strings.areas) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var areas: HTMLCollection + @inlinable public var areas: HTMLCollection { jsObject[Strings.areas].fromJSValue()! } } public class HTMLMarqueeElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMarqueeElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _behavior = ReadWriteAttribute(jsObject: jsObject, name: Strings.behavior) - _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) - _direction = ReadWriteAttribute(jsObject: jsObject, name: Strings.direction) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _hspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.hspace) - _loop = ReadWriteAttribute(jsObject: jsObject, name: Strings.loop) - _scrollAmount = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollAmount) - _scrollDelay = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollDelay) - _trueSpeed = ReadWriteAttribute(jsObject: jsObject, name: Strings.trueSpeed) - _vspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.vspace) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLMarqueeElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var behavior: String + @inlinable public var behavior: String { + get { jsObject[Strings.behavior].fromJSValue()! } + set { jsObject[Strings.behavior] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var bgColor: String + @inlinable public var bgColor: String { + get { jsObject[Strings.bgColor].fromJSValue()! } + set { jsObject[Strings.bgColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var direction: String + @inlinable public var direction: String { + get { jsObject[Strings.direction].fromJSValue()! } + set { jsObject[Strings.direction] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: String + @inlinable public var height: String { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hspace: UInt32 + @inlinable public var hspace: UInt32 { + get { jsObject[Strings.hspace].fromJSValue()! } + set { jsObject[Strings.hspace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var loop: Int32 + @inlinable public var loop: Int32 { + get { jsObject[Strings.loop].fromJSValue()! } + set { jsObject[Strings.loop] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var scrollAmount: UInt32 + @inlinable public var scrollAmount: UInt32 { + get { jsObject[Strings.scrollAmount].fromJSValue()! } + set { jsObject[Strings.scrollAmount] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var scrollDelay: UInt32 + @inlinable public var scrollDelay: UInt32 { + get { jsObject[Strings.scrollDelay].fromJSValue()! } + set { jsObject[Strings.scrollDelay] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var trueSpeed: Bool + @inlinable public var trueSpeed: Bool { + get { jsObject[Strings.trueSpeed].fromJSValue()! } + set { jsObject[Strings.trueSpeed] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vspace: UInt32 + @inlinable public var vspace: UInt32 { + get { jsObject[Strings.vspace].fromJSValue()! } + set { jsObject[Strings.vspace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @inlinable public func start() { + @inlinable final public func start() { let this = jsObject _ = this[Strings.start].function!(this: this, arguments: []) } - @inlinable public func stop() { + @inlinable final public func stop() { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: []) } } public class HTMLMediaElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMediaElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _error = ReadonlyAttribute(jsObject: jsObject, name: Strings.error) - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _srcObject = ReadWriteAttribute(jsObject: jsObject, name: Strings.srcObject) - _currentSrc = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentSrc) - _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) - _networkState = ReadonlyAttribute(jsObject: jsObject, name: Strings.networkState) - _preload = ReadWriteAttribute(jsObject: jsObject, name: Strings.preload) - _buffered = ReadonlyAttribute(jsObject: jsObject, name: Strings.buffered) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _seeking = ReadonlyAttribute(jsObject: jsObject, name: Strings.seeking) - _currentTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.currentTime) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - _paused = ReadonlyAttribute(jsObject: jsObject, name: Strings.paused) - _defaultPlaybackRate = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultPlaybackRate) - _playbackRate = ReadWriteAttribute(jsObject: jsObject, name: Strings.playbackRate) - _preservesPitch = ReadWriteAttribute(jsObject: jsObject, name: Strings.preservesPitch) - _played = ReadonlyAttribute(jsObject: jsObject, name: Strings.played) - _seekable = ReadonlyAttribute(jsObject: jsObject, name: Strings.seekable) - _ended = ReadonlyAttribute(jsObject: jsObject, name: Strings.ended) - _autoplay = ReadWriteAttribute(jsObject: jsObject, name: Strings.autoplay) - _loop = ReadWriteAttribute(jsObject: jsObject, name: Strings.loop) - _controls = ReadWriteAttribute(jsObject: jsObject, name: Strings.controls) - _volume = ReadWriteAttribute(jsObject: jsObject, name: Strings.volume) - _muted = ReadWriteAttribute(jsObject: jsObject, name: Strings.muted) - _defaultMuted = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultMuted) - _audioTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioTracks) - _videoTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoTracks) - _textTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.textTracks) - super.init(unsafelyWrapping: jsObject) - } - - @ReadonlyAttribute - public var error: MediaError? - - @ReadWriteAttribute - public var src: String - - @ReadWriteAttribute - public var srcObject: MediaProvider? - - @ReadonlyAttribute - public var currentSrc: String - - @ReadWriteAttribute - public var crossOrigin: String? + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMediaElement].function } - public static let NETWORK_EMPTY: UInt16 = 0 + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public static let NETWORK_IDLE: UInt16 = 1 + @inlinable public var error: MediaError? { jsObject[Strings.error].fromJSValue() } - public static let NETWORK_LOADING: UInt16 = 2 + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - public static let NETWORK_NO_SOURCE: UInt16 = 3 + @inlinable public var srcObject: MediaProvider? { + get { jsObject[Strings.srcObject].fromJSValue() } + set { jsObject[Strings.srcObject] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var networkState: UInt16 + @inlinable public var currentSrc: String { jsObject[Strings.currentSrc].fromJSValue()! } - @ReadWriteAttribute - public var preload: String + @inlinable public var crossOrigin: String? { + get { jsObject[Strings.crossOrigin].fromJSValue() } + set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } + } + + public static let NETWORK_EMPTY: UInt16 = 0 + + public static let NETWORK_IDLE: UInt16 = 1 + + public static let NETWORK_LOADING: UInt16 = 2 + + public static let NETWORK_NO_SOURCE: UInt16 = 3 + + @inlinable public var networkState: UInt16 { jsObject[Strings.networkState].fromJSValue()! } + + @inlinable public var preload: String { + get { jsObject[Strings.preload].fromJSValue()! } + set { jsObject[Strings.preload] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var buffered: TimeRanges + @inlinable public var buffered: TimeRanges { jsObject[Strings.buffered].fromJSValue()! } - @inlinable public func load() { + @inlinable final public func load() { let this = jsObject _ = this[Strings.load].function!(this: this, arguments: []) } - @inlinable public func canPlayType(type: String) -> CanPlayTypeResult { + @inlinable final public func canPlayType(type: String) -> CanPlayTypeResult { let this = jsObject return this[Strings.canPlayType].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } @@ -8203,1539 +9467,1557 @@ public class HTMLMediaElement: HTMLElement { public static let HAVE_ENOUGH_DATA: UInt16 = 4 - @ReadonlyAttribute - public var readyState: UInt16 + @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } - @ReadonlyAttribute - public var seeking: Bool + @inlinable public var seeking: Bool { jsObject[Strings.seeking].fromJSValue()! } - @ReadWriteAttribute - public var currentTime: Double + @inlinable public var currentTime: Double { + get { jsObject[Strings.currentTime].fromJSValue()! } + set { jsObject[Strings.currentTime] = _toJSValue(newValue) } + } - @inlinable public func fastSeek(time: Double) { + @inlinable final public func fastSeek(time: Double) { let this = jsObject _ = this[Strings.fastSeek].function!(this: this, arguments: [_toJSValue(time)]) } - @ReadonlyAttribute - public var duration: Double + @inlinable public var duration: Double { jsObject[Strings.duration].fromJSValue()! } - @inlinable public func getStartDate() -> JSObject { + @inlinable final public func getStartDate() -> JSObject { let this = jsObject return this[Strings.getStartDate].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var paused: Bool + @inlinable public var paused: Bool { jsObject[Strings.paused].fromJSValue()! } - @ReadWriteAttribute - public var defaultPlaybackRate: Double + @inlinable public var defaultPlaybackRate: Double { + get { jsObject[Strings.defaultPlaybackRate].fromJSValue()! } + set { jsObject[Strings.defaultPlaybackRate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var playbackRate: Double + @inlinable public var playbackRate: Double { + get { jsObject[Strings.playbackRate].fromJSValue()! } + set { jsObject[Strings.playbackRate] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var preservesPitch: Bool + @inlinable public var preservesPitch: Bool { + get { jsObject[Strings.preservesPitch].fromJSValue()! } + set { jsObject[Strings.preservesPitch] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var played: TimeRanges + @inlinable public var played: TimeRanges { jsObject[Strings.played].fromJSValue()! } - @ReadonlyAttribute - public var seekable: TimeRanges + @inlinable public var seekable: TimeRanges { jsObject[Strings.seekable].fromJSValue()! } - @ReadonlyAttribute - public var ended: Bool + @inlinable public var ended: Bool { jsObject[Strings.ended].fromJSValue()! } - @ReadWriteAttribute - public var autoplay: Bool + @inlinable public var autoplay: Bool { + get { jsObject[Strings.autoplay].fromJSValue()! } + set { jsObject[Strings.autoplay] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var loop: Bool + @inlinable public var loop: Bool { + get { jsObject[Strings.loop].fromJSValue()! } + set { jsObject[Strings.loop] = _toJSValue(newValue) } + } - @inlinable public func play() -> JSPromise { + @inlinable final public func play() -> JSPromise { let this = jsObject return this[Strings.play].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func play() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.play].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func play() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.play].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func pause() { + @inlinable final public func pause() { let this = jsObject _ = this[Strings.pause].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var controls: Bool + @inlinable public var controls: Bool { + get { jsObject[Strings.controls].fromJSValue()! } + set { jsObject[Strings.controls] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var volume: Double + @inlinable public var volume: Double { + get { jsObject[Strings.volume].fromJSValue()! } + set { jsObject[Strings.volume] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var muted: Bool + @inlinable public var muted: Bool { + get { jsObject[Strings.muted].fromJSValue()! } + set { jsObject[Strings.muted] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var defaultMuted: Bool + @inlinable public var defaultMuted: Bool { + get { jsObject[Strings.defaultMuted].fromJSValue()! } + set { jsObject[Strings.defaultMuted] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var audioTracks: AudioTrackList + @inlinable public var audioTracks: AudioTrackList { jsObject[Strings.audioTracks].fromJSValue()! } - @ReadonlyAttribute - public var videoTracks: VideoTrackList + @inlinable public var videoTracks: VideoTrackList { jsObject[Strings.videoTracks].fromJSValue()! } - @ReadonlyAttribute - public var textTracks: TextTrackList + @inlinable public var textTracks: TextTrackList { jsObject[Strings.textTracks].fromJSValue()! } - @inlinable public func addTextTrack(kind: TextTrackKind, label: String? = nil, language: String? = nil) -> TextTrack { + @inlinable final public func addTextTrack( + kind: TextTrackKind, + label: String? = nil, + language: String? = nil + ) -> TextTrack { let this = jsObject - return this[Strings.addTextTrack].function!(this: this, arguments: [_toJSValue(kind), _toJSValue(label), _toJSValue(language)]).fromJSValue()! + return this[Strings.addTextTrack].function!( + this: this, + arguments: [_toJSValue(kind), _toJSValue(label), _toJSValue(language)] + ).fromJSValue()! } } public class HTMLMenuElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMenuElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMenuElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var compact: Bool + @inlinable public var compact: Bool { + get { jsObject[Strings.compact].fromJSValue()! } + set { jsObject[Strings.compact] = _toJSValue(newValue) } + } } public class HTMLMetaElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMetaElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMetaElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _httpEquiv = ReadWriteAttribute(jsObject: jsObject, name: Strings.httpEquiv) - _content = ReadWriteAttribute(jsObject: jsObject, name: Strings.content) - _media = ReadWriteAttribute(jsObject: jsObject, name: Strings.media) - _scheme = ReadWriteAttribute(jsObject: jsObject, name: Strings.scheme) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var httpEquiv: String + @inlinable public var httpEquiv: String { + get { jsObject[Strings.httpEquiv].fromJSValue()! } + set { jsObject[Strings.httpEquiv] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var content: String + @inlinable public var content: String { + get { jsObject[Strings.content].fromJSValue()! } + set { jsObject[Strings.content] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var media: String + @inlinable public var media: String { + get { jsObject[Strings.media].fromJSValue()! } + set { jsObject[Strings.media] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var scheme: String + @inlinable public var scheme: String { + get { jsObject[Strings.scheme].fromJSValue()! } + set { jsObject[Strings.scheme] = _toJSValue(newValue) } + } } public class HTMLMeterElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLMeterElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLMeterElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _min = ReadWriteAttribute(jsObject: jsObject, name: Strings.min) - _max = ReadWriteAttribute(jsObject: jsObject, name: Strings.max) - _low = ReadWriteAttribute(jsObject: jsObject, name: Strings.low) - _high = ReadWriteAttribute(jsObject: jsObject, name: Strings.high) - _optimum = ReadWriteAttribute(jsObject: jsObject, name: Strings.optimum) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var value: Double + @inlinable public var value: Double { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var min: Double + @inlinable public var min: Double { + get { jsObject[Strings.min].fromJSValue()! } + set { jsObject[Strings.min] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var max: Double + @inlinable public var max: Double { + get { jsObject[Strings.max].fromJSValue()! } + set { jsObject[Strings.max] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var low: Double + @inlinable public var low: Double { + get { jsObject[Strings.low].fromJSValue()! } + set { jsObject[Strings.low] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var high: Double + @inlinable public var high: Double { + get { jsObject[Strings.high].fromJSValue()! } + set { jsObject[Strings.high] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var optimum: Double + @inlinable public var optimum: Double { + get { jsObject[Strings.optimum].fromJSValue()! } + set { jsObject[Strings.optimum] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var labels: NodeList + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } } public class HTMLModElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLModElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLModElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _cite = ReadWriteAttribute(jsObject: jsObject, name: Strings.cite) - _dateTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.dateTime) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var cite: String + @inlinable public var cite: String { + get { jsObject[Strings.cite].fromJSValue()! } + set { jsObject[Strings.cite] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var dateTime: String + @inlinable public var dateTime: String { + get { jsObject[Strings.dateTime].fromJSValue()! } + set { jsObject[Strings.dateTime] = _toJSValue(newValue) } + } } public class HTMLOListElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOListElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLOListElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _reversed = ReadWriteAttribute(jsObject: jsObject, name: Strings.reversed) - _start = ReadWriteAttribute(jsObject: jsObject, name: Strings.start) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var reversed: Bool + @inlinable public var reversed: Bool { + get { jsObject[Strings.reversed].fromJSValue()! } + set { jsObject[Strings.reversed] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var start: Int32 + @inlinable public var start: Int32 { + get { jsObject[Strings.start].fromJSValue()! } + set { jsObject[Strings.start] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var compact: Bool + @inlinable public var compact: Bool { + get { jsObject[Strings.compact].fromJSValue()! } + set { jsObject[Strings.compact] = _toJSValue(newValue) } + } } public class HTMLObjectElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLObjectElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _data = ReadWriteAttribute(jsObject: jsObject, name: Strings.data) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _contentDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentDocument) - _contentWindow = ReadonlyAttribute(jsObject: jsObject, name: Strings.contentWindow) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _archive = ReadWriteAttribute(jsObject: jsObject, name: Strings.archive) - _code = ReadWriteAttribute(jsObject: jsObject, name: Strings.code) - _declare = ReadWriteAttribute(jsObject: jsObject, name: Strings.declare) - _hspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.hspace) - _standby = ReadWriteAttribute(jsObject: jsObject, name: Strings.standby) - _vspace = ReadWriteAttribute(jsObject: jsObject, name: Strings.vspace) - _codeBase = ReadWriteAttribute(jsObject: jsObject, name: Strings.codeBase) - _codeType = ReadWriteAttribute(jsObject: jsObject, name: Strings.codeType) - _useMap = ReadWriteAttribute(jsObject: jsObject, name: Strings.useMap) - _border = ReadWriteAttribute(jsObject: jsObject, name: Strings.border) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLObjectElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var data: String + @inlinable public var data: String { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: String + @inlinable public var height: String { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var contentDocument: Document? + @inlinable public var contentDocument: Document? { jsObject[Strings.contentDocument].fromJSValue() } - @ReadonlyAttribute - public var contentWindow: WindowProxy? + @inlinable public var contentWindow: WindowProxy? { jsObject[Strings.contentWindow].fromJSValue() } - @inlinable public func getSVGDocument() -> Document? { + @inlinable final public func getSVGDocument() -> Document? { let this = jsObject return this[Strings.getSVGDocument].function!(this: this, arguments: []).fromJSValue() } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var archive: String + @inlinable public var archive: String { + get { jsObject[Strings.archive].fromJSValue()! } + set { jsObject[Strings.archive] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var code: String + @inlinable public var code: String { + get { jsObject[Strings.code].fromJSValue()! } + set { jsObject[Strings.code] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var declare: Bool + @inlinable public var declare: Bool { + get { jsObject[Strings.declare].fromJSValue()! } + set { jsObject[Strings.declare] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hspace: UInt32 + @inlinable public var hspace: UInt32 { + get { jsObject[Strings.hspace].fromJSValue()! } + set { jsObject[Strings.hspace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var standby: String + @inlinable public var standby: String { + get { jsObject[Strings.standby].fromJSValue()! } + set { jsObject[Strings.standby] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vspace: UInt32 + @inlinable public var vspace: UInt32 { + get { jsObject[Strings.vspace].fromJSValue()! } + set { jsObject[Strings.vspace] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var codeBase: String + @inlinable public var codeBase: String { + get { jsObject[Strings.codeBase].fromJSValue()! } + set { jsObject[Strings.codeBase] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var codeType: String + @inlinable public var codeType: String { + get { jsObject[Strings.codeType].fromJSValue()! } + set { jsObject[Strings.codeType] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var useMap: String + @inlinable public var useMap: String { + get { jsObject[Strings.useMap].fromJSValue()! } + set { jsObject[Strings.useMap] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var border: String + @inlinable public var border: String { + get { jsObject[Strings.border].fromJSValue()! } + set { jsObject[Strings.border] = _toJSValue(newValue) } + } } public class HTMLOptGroupElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOptGroupElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _label = ReadWriteAttribute(jsObject: jsObject, name: Strings.label) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLOptGroupElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var label: String + @inlinable public var label: String { + get { jsObject[Strings.label].fromJSValue()! } + set { jsObject[Strings.label] = _toJSValue(newValue) } + } } public class HTMLOptionElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOptionElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _label = ReadWriteAttribute(jsObject: jsObject, name: Strings.label) - _defaultSelected = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultSelected) - _selected = ReadWriteAttribute(jsObject: jsObject, name: Strings.selected) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) - _index = ReadonlyAttribute(jsObject: jsObject, name: Strings.index) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLOptionElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var label: String + @inlinable public var label: String { + get { jsObject[Strings.label].fromJSValue()! } + set { jsObject[Strings.label] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var defaultSelected: Bool + @inlinable public var defaultSelected: Bool { + get { jsObject[Strings.defaultSelected].fromJSValue()! } + set { jsObject[Strings.defaultSelected] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var selected: Bool + @inlinable public var selected: Bool { + get { jsObject[Strings.selected].fromJSValue()! } + set { jsObject[Strings.selected] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var text: String + @inlinable public var text: String { + get { jsObject[Strings.text].fromJSValue()! } + set { jsObject[Strings.text] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var index: Int32 + @inlinable public var index: Int32 { jsObject[Strings.index].fromJSValue()! } } public class HTMLOptionsCollection: HTMLCollection { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOptionsCollection].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadWriteAttribute(jsObject: jsObject, name: Strings.length) - _selectedIndex = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectedIndex) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLOptionsCollection].function } - @usableFromInline let _length: ReadWriteAttribute - @inlinable override public var length: UInt32 { - get { _length.wrappedValue } - set { _length.wrappedValue = newValue } - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable override public subscript(key: Int) -> HTMLOptionElement? { - get { - super[key] as? HTMLOptionElement - } - set { - jsObject[key] = _toJSValue(newValue) - } + @inlinable public override subscript(key: Int) -> HTMLOptionElement? { + get { super[key] as? HTMLOptionElement } + set { jsObject[key] = _toJSValue(newValue) } } - @inlinable public func add(element: HTMLOptGroupElement_or_HTMLOptionElement, before: HTMLElement_or_Int32? = nil) { + @inlinable final public func add( + element: HTMLOptGroupElement_or_HTMLOptionElement, + before: HTMLElement_or_Int32? = nil + ) { let this = jsObject _ = this[Strings.add].function!(this: this, arguments: [_toJSValue(element), _toJSValue(before)]) } - @inlinable public func remove(index: Int32) { + @inlinable final public func remove(index: Int32) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: [_toJSValue(index)]) } - @ReadWriteAttribute - public var selectedIndex: Int32 + @inlinable public var selectedIndex: Int32 { + get { jsObject[Strings.selectedIndex].fromJSValue()! } + set { jsObject[Strings.selectedIndex] = _toJSValue(newValue) } + } } public protocol HTMLOrSVGElement: JSBridgedClass {} -public extension HTMLOrSVGElement { - @inlinable var dataset: DOMStringMap { jsObject[Strings.dataset].fromJSValue()! } +extension HTMLOrSVGElement { + @inlinable public var dataset: DOMStringMap { jsObject[Strings.dataset].fromJSValue()! } - @inlinable var nonce: String { + @inlinable public var nonce: String { get { jsObject[Strings.nonce].fromJSValue()! } - nonmutating set { jsObject[Strings.nonce] = _toJSValue(newValue) } + set { jsObject[Strings.nonce] = _toJSValue(newValue) } } - @inlinable var autofocus: Bool { + @inlinable public var autofocus: Bool { get { jsObject[Strings.autofocus].fromJSValue()! } - nonmutating set { jsObject[Strings.autofocus] = _toJSValue(newValue) } + set { jsObject[Strings.autofocus] = _toJSValue(newValue) } } - @inlinable var tabIndex: Int32 { + @inlinable public var tabIndex: Int32 { get { jsObject[Strings.tabIndex].fromJSValue()! } - nonmutating set { jsObject[Strings.tabIndex] = _toJSValue(newValue) } + set { jsObject[Strings.tabIndex] = _toJSValue(newValue) } } - @inlinable func focus(options: FocusOptions? = nil) { + @inlinable public func focus(options: FocusOptions? = nil) { let this = jsObject _ = this[Strings.focus].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable func blur() { + @inlinable public func blur() { let this = jsObject _ = this[Strings.blur].function!(this: this, arguments: []) } } - public class HTMLOutputElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLOutputElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _htmlFor = ReadonlyAttribute(jsObject: jsObject, name: Strings.htmlFor) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _defaultValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultValue) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLOutputElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var htmlFor: DOMTokenList + @inlinable public var htmlFor: DOMTokenList { jsObject[Strings.htmlFor].fromJSValue()! } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadWriteAttribute - public var defaultValue: String + @inlinable public var defaultValue: String { + get { jsObject[Strings.defaultValue].fromJSValue()! } + set { jsObject[Strings.defaultValue] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @ReadonlyAttribute - public var labels: NodeList + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } } public class HTMLParagraphElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLParagraphElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLParagraphElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } } public class HTMLParamElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLParamElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLParamElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _valueType = ReadWriteAttribute(jsObject: jsObject, name: Strings.valueType) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var valueType: String + @inlinable public var valueType: String { + get { jsObject[Strings.valueType].fromJSValue()! } + set { jsObject[Strings.valueType] = _toJSValue(newValue) } + } } public class HTMLPictureElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLPictureElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLPictureElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } } public class HTMLPreElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLPreElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLPreElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var width: Int32 + @inlinable public var width: Int32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } } public class HTMLProgressElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLProgressElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _max = ReadWriteAttribute(jsObject: jsObject, name: Strings.max) - _position = ReadonlyAttribute(jsObject: jsObject, name: Strings.position) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLProgressElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var value: Double + @inlinable public var value: Double { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var max: Double + @inlinable public var max: Double { + get { jsObject[Strings.max].fromJSValue()! } + set { jsObject[Strings.max] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var position: Double + @inlinable public var position: Double { jsObject[Strings.position].fromJSValue()! } - @ReadonlyAttribute - public var labels: NodeList + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } } public class HTMLQuoteElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLQuoteElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLQuoteElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _cite = ReadWriteAttribute(jsObject: jsObject, name: Strings.cite) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var cite: String + @inlinable public var cite: String { + get { jsObject[Strings.cite].fromJSValue()! } + set { jsObject[Strings.cite] = _toJSValue(newValue) } + } } public class HTMLScriptElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLScriptElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _noModule = ReadWriteAttribute(jsObject: jsObject, name: Strings.noModule) - _async = ReadWriteAttribute(jsObject: jsObject, name: Strings.async) - _defer = ReadWriteAttribute(jsObject: jsObject, name: Strings.defer) - _crossOrigin = ReadWriteAttribute(jsObject: jsObject, name: Strings.crossOrigin) - _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) - _integrity = ReadWriteAttribute(jsObject: jsObject, name: Strings.integrity) - _referrerPolicy = ReadWriteAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _blocking = ReadonlyAttribute(jsObject: jsObject, name: Strings.blocking) - _fetchPriority = ReadWriteAttribute(jsObject: jsObject, name: Strings.fetchPriority) - _charset = ReadWriteAttribute(jsObject: jsObject, name: Strings.charset) - _event = ReadWriteAttribute(jsObject: jsObject, name: Strings.event) - _htmlFor = ReadWriteAttribute(jsObject: jsObject, name: Strings.htmlFor) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLScriptElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var noModule: Bool + @inlinable public var noModule: Bool { + get { jsObject[Strings.noModule].fromJSValue()! } + set { jsObject[Strings.noModule] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var async: Bool + @inlinable public var async: Bool { + get { jsObject[Strings.async].fromJSValue()! } + set { jsObject[Strings.async] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var `defer`: Bool + @inlinable public var `defer`: Bool { + get { jsObject[Strings.`defer`].fromJSValue()! } + set { jsObject[Strings.`defer`] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var crossOrigin: String? + @inlinable public var crossOrigin: String? { + get { jsObject[Strings.crossOrigin].fromJSValue() } + set { jsObject[Strings.crossOrigin] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var text: String + @inlinable public var text: String { + get { jsObject[Strings.text].fromJSValue()! } + set { jsObject[Strings.text] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var integrity: String + @inlinable public var integrity: String { + get { jsObject[Strings.integrity].fromJSValue()! } + set { jsObject[Strings.integrity] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var referrerPolicy: String + @inlinable public var referrerPolicy: String { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var blocking: DOMTokenList + @inlinable public var blocking: DOMTokenList { jsObject[Strings.blocking].fromJSValue()! } - @ReadWriteAttribute - public var fetchPriority: String + @inlinable public var fetchPriority: String { + get { jsObject[Strings.fetchPriority].fromJSValue()! } + set { jsObject[Strings.fetchPriority] = _toJSValue(newValue) } + } @inlinable public class func supports(type: String) -> Bool { let this = constructor! return this[Strings.supports].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @ReadWriteAttribute - public var charset: String + @inlinable public var charset: String { + get { jsObject[Strings.charset].fromJSValue()! } + set { jsObject[Strings.charset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var event: String + @inlinable public var event: String { + get { jsObject[Strings.event].fromJSValue()! } + set { jsObject[Strings.event] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var htmlFor: String + @inlinable public var htmlFor: String { + get { jsObject[Strings.htmlFor].fromJSValue()! } + set { jsObject[Strings.htmlFor] = _toJSValue(newValue) } + } } public class HTMLSelectElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLSelectElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _autocomplete = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocomplete) - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _multiple = ReadWriteAttribute(jsObject: jsObject, name: Strings.multiple) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _required = ReadWriteAttribute(jsObject: jsObject, name: Strings.required) - _size = ReadWriteAttribute(jsObject: jsObject, name: Strings.size) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _options = ReadonlyAttribute(jsObject: jsObject, name: Strings.options) - _length = ReadWriteAttribute(jsObject: jsObject, name: Strings.length) - _selectedOptions = ReadonlyAttribute(jsObject: jsObject, name: Strings.selectedOptions) - _selectedIndex = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectedIndex) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLSelectElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var autocomplete: String + @inlinable public var autocomplete: String { + get { jsObject[Strings.autocomplete].fromJSValue()! } + set { jsObject[Strings.autocomplete] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var multiple: Bool + @inlinable public var multiple: Bool { + get { jsObject[Strings.multiple].fromJSValue()! } + set { jsObject[Strings.multiple] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var required: Bool + @inlinable public var required: Bool { + get { jsObject[Strings.required].fromJSValue()! } + set { jsObject[Strings.required] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var size: UInt32 + @inlinable public var size: UInt32 { + get { jsObject[Strings.size].fromJSValue()! } + set { jsObject[Strings.size] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var options: HTMLOptionsCollection + @inlinable public var options: HTMLOptionsCollection { jsObject[Strings.options].fromJSValue()! } - @ReadWriteAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { + get { jsObject[Strings.length].fromJSValue()! } + set { jsObject[Strings.length] = _toJSValue(newValue) } + } - @inlinable public func item(index: UInt32) -> HTMLOptionElement? { + @inlinable final public func item(index: UInt32) -> HTMLOptionElement? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public func namedItem(name: String) -> HTMLOptionElement? { + @inlinable final public func namedItem(name: String) -> HTMLOptionElement? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable public func add(element: HTMLOptGroupElement_or_HTMLOptionElement, before: HTMLElement_or_Int32? = nil) { + @inlinable final public func add( + element: HTMLOptGroupElement_or_HTMLOptionElement, + before: HTMLElement_or_Int32? = nil + ) { let this = jsObject _ = this[Strings.add].function!(this: this, arguments: [_toJSValue(element), _toJSValue(before)]) } - @inlinable public func remove() { + @inlinable final public func remove() { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: []) } - @inlinable public func remove(index: Int32) { + @inlinable final public func remove(index: Int32) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: [_toJSValue(index)]) } @inlinable public subscript(key: Int) -> HTMLOptionElement? { - get { - jsObject[key].fromJSValue() - } - set { - jsObject[key] = _toJSValue(newValue) - } + get { jsObject[key].fromJSValue() } + set { jsObject[key] = _toJSValue(newValue) } } - @ReadonlyAttribute - public var selectedOptions: HTMLCollection + @inlinable public var selectedOptions: HTMLCollection { jsObject[Strings.selectedOptions].fromJSValue()! } - @ReadWriteAttribute - public var selectedIndex: Int32 + @inlinable public var selectedIndex: Int32 { + get { jsObject[Strings.selectedIndex].fromJSValue()! } + set { jsObject[Strings.selectedIndex] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @ReadonlyAttribute - public var labels: NodeList + @inlinable final public func showPicker() { + let this = jsObject + _ = this[Strings.showPicker].function!(this: this, arguments: []) + } + + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } } public class HTMLSlotElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLSlotElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLSlotElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } - @inlinable public func assignedNodes(options: AssignedNodesOptions? = nil) -> [Node] { + @inlinable final public func assignedNodes(options: AssignedNodesOptions? = nil) -> [Node] { let this = jsObject return this[Strings.assignedNodes].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func assignedElements(options: AssignedNodesOptions? = nil) -> [Element] { + @inlinable final public func assignedElements(options: AssignedNodesOptions? = nil) -> [Element] { let this = jsObject return this[Strings.assignedElements].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func assign(nodes: Element_or_Text...) { + @inlinable final public func assign(nodes: Element_or_Text...) { let this = jsObject _ = this[Strings.assign].function!(this: this, arguments: nodes.map(_toJSValue)) } } public class HTMLSourceElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLSourceElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - _srcset = ReadWriteAttribute(jsObject: jsObject, name: Strings.srcset) - _sizes = ReadWriteAttribute(jsObject: jsObject, name: Strings.sizes) - _media = ReadWriteAttribute(jsObject: jsObject, name: Strings.media) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLSourceElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var srcset: String + @inlinable public var srcset: String { + get { jsObject[Strings.srcset].fromJSValue()! } + set { jsObject[Strings.srcset] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var sizes: String + @inlinable public var sizes: String { + get { jsObject[Strings.sizes].fromJSValue()! } + set { jsObject[Strings.sizes] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var media: String + @inlinable public var media: String { + get { jsObject[Strings.media].fromJSValue()! } + set { jsObject[Strings.media] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: UInt32 + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: UInt32 + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } } public class HTMLSpanElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLSpanElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLSpanElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } } public class HTMLStyleElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLStyleElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLStyleElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _media = ReadWriteAttribute(jsObject: jsObject, name: Strings.media) - _blocking = ReadonlyAttribute(jsObject: jsObject, name: Strings.blocking) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var disabled: Bool + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var media: String + @inlinable public var media: String { + get { jsObject[Strings.media].fromJSValue()! } + set { jsObject[Strings.media] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var blocking: DOMTokenList + @inlinable public var blocking: DOMTokenList { jsObject[Strings.blocking].fromJSValue()! } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } } public class HTMLTableCaptionElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableCaptionElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTableCaptionElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var align: String + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } } public class HTMLTableCellElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableCellElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _colSpan = ReadWriteAttribute(jsObject: jsObject, name: Strings.colSpan) - _rowSpan = ReadWriteAttribute(jsObject: jsObject, name: Strings.rowSpan) - _headers = ReadWriteAttribute(jsObject: jsObject, name: Strings.headers) - _cellIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.cellIndex) - _scope = ReadWriteAttribute(jsObject: jsObject, name: Strings.scope) - _abbr = ReadWriteAttribute(jsObject: jsObject, name: Strings.abbr) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _axis = ReadWriteAttribute(jsObject: jsObject, name: Strings.axis) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _ch = ReadWriteAttribute(jsObject: jsObject, name: Strings.ch) - _chOff = ReadWriteAttribute(jsObject: jsObject, name: Strings.chOff) - _noWrap = ReadWriteAttribute(jsObject: jsObject, name: Strings.noWrap) - _vAlign = ReadWriteAttribute(jsObject: jsObject, name: Strings.vAlign) - _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTableCellElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var colSpan: UInt32 + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var rowSpan: UInt32 + @inlinable public var colSpan: UInt32 { + get { jsObject[Strings.colSpan].fromJSValue()! } + set { jsObject[Strings.colSpan] = _toJSValue(newValue) } + } + + @inlinable public var rowSpan: UInt32 { + get { jsObject[Strings.rowSpan].fromJSValue()! } + set { jsObject[Strings.rowSpan] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var headers: String + @inlinable public var headers: String { + get { jsObject[Strings.headers].fromJSValue()! } + set { jsObject[Strings.headers] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var cellIndex: Int32 + @inlinable public var cellIndex: Int32 { jsObject[Strings.cellIndex].fromJSValue()! } - @ReadWriteAttribute - public var scope: String + @inlinable public var scope: String { + get { jsObject[Strings.scope].fromJSValue()! } + set { jsObject[Strings.scope] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var abbr: String + @inlinable public var abbr: String { + get { jsObject[Strings.abbr].fromJSValue()! } + set { jsObject[Strings.abbr] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var axis: String + @inlinable public var axis: String { + get { jsObject[Strings.axis].fromJSValue()! } + set { jsObject[Strings.axis] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: String + @inlinable public var height: String { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ch: String + @inlinable public var ch: String { + get { jsObject[Strings.ch].fromJSValue()! } + set { jsObject[Strings.ch] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var chOff: String + @inlinable public var chOff: String { + get { jsObject[Strings.chOff].fromJSValue()! } + set { jsObject[Strings.chOff] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var noWrap: Bool + @inlinable public var noWrap: Bool { + get { jsObject[Strings.noWrap].fromJSValue()! } + set { jsObject[Strings.noWrap] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vAlign: String + @inlinable public var vAlign: String { + get { jsObject[Strings.vAlign].fromJSValue()! } + set { jsObject[Strings.vAlign] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var bgColor: String + @inlinable public var bgColor: String { + get { jsObject[Strings.bgColor].fromJSValue()! } + set { jsObject[Strings.bgColor] = _toJSValue(newValue) } + } } public class HTMLTableColElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableColElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _span = ReadWriteAttribute(jsObject: jsObject, name: Strings.span) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _ch = ReadWriteAttribute(jsObject: jsObject, name: Strings.ch) - _chOff = ReadWriteAttribute(jsObject: jsObject, name: Strings.chOff) - _vAlign = ReadWriteAttribute(jsObject: jsObject, name: Strings.vAlign) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTableColElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var span: UInt32 + @inlinable public var span: UInt32 { + get { jsObject[Strings.span].fromJSValue()! } + set { jsObject[Strings.span] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ch: String + @inlinable public var ch: String { + get { jsObject[Strings.ch].fromJSValue()! } + set { jsObject[Strings.ch] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var chOff: String + @inlinable public var chOff: String { + get { jsObject[Strings.chOff].fromJSValue()! } + set { jsObject[Strings.chOff] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vAlign: String + @inlinable public var vAlign: String { + get { jsObject[Strings.vAlign].fromJSValue()! } + set { jsObject[Strings.vAlign] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } } public class HTMLTableElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _caption = ReadWriteAttribute(jsObject: jsObject, name: Strings.caption) - _tHead = ReadWriteAttribute(jsObject: jsObject, name: Strings.tHead) - _tFoot = ReadWriteAttribute(jsObject: jsObject, name: Strings.tFoot) - _tBodies = ReadonlyAttribute(jsObject: jsObject, name: Strings.tBodies) - _rows = ReadonlyAttribute(jsObject: jsObject, name: Strings.rows) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _border = ReadWriteAttribute(jsObject: jsObject, name: Strings.border) - _frame = ReadWriteAttribute(jsObject: jsObject, name: Strings.frame) - _rules = ReadWriteAttribute(jsObject: jsObject, name: Strings.rules) - _summary = ReadWriteAttribute(jsObject: jsObject, name: Strings.summary) - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) - _cellPadding = ReadWriteAttribute(jsObject: jsObject, name: Strings.cellPadding) - _cellSpacing = ReadWriteAttribute(jsObject: jsObject, name: Strings.cellSpacing) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var caption: HTMLTableCaptionElement? + @inlinable public var caption: HTMLTableCaptionElement? { + get { jsObject[Strings.caption].fromJSValue() } + set { jsObject[Strings.caption] = _toJSValue(newValue) } + } - @inlinable public func createCaption() -> HTMLTableCaptionElement { + @inlinable final public func createCaption() -> HTMLTableCaptionElement { let this = jsObject return this[Strings.createCaption].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func deleteCaption() { + @inlinable final public func deleteCaption() { let this = jsObject _ = this[Strings.deleteCaption].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var tHead: HTMLTableSectionElement? + @inlinable public var tHead: HTMLTableSectionElement? { + get { jsObject[Strings.tHead].fromJSValue() } + set { jsObject[Strings.tHead] = _toJSValue(newValue) } + } - @inlinable public func createTHead() -> HTMLTableSectionElement { + @inlinable final public func createTHead() -> HTMLTableSectionElement { let this = jsObject return this[Strings.createTHead].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func deleteTHead() { + @inlinable final public func deleteTHead() { let this = jsObject _ = this[Strings.deleteTHead].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var tFoot: HTMLTableSectionElement? + @inlinable public var tFoot: HTMLTableSectionElement? { + get { jsObject[Strings.tFoot].fromJSValue() } + set { jsObject[Strings.tFoot] = _toJSValue(newValue) } + } - @inlinable public func createTFoot() -> HTMLTableSectionElement { + @inlinable final public func createTFoot() -> HTMLTableSectionElement { let this = jsObject return this[Strings.createTFoot].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func deleteTFoot() { + @inlinable final public func deleteTFoot() { let this = jsObject _ = this[Strings.deleteTFoot].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var tBodies: HTMLCollection + @inlinable public var tBodies: HTMLCollection { jsObject[Strings.tBodies].fromJSValue()! } - @inlinable public func createTBody() -> HTMLTableSectionElement { + @inlinable final public func createTBody() -> HTMLTableSectionElement { let this = jsObject return this[Strings.createTBody].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var rows: HTMLCollection + @inlinable public var rows: HTMLCollection { jsObject[Strings.rows].fromJSValue()! } - @inlinable public func insertRow(index: Int32? = nil) -> HTMLTableRowElement { + @inlinable final public func insertRow(index: Int32? = nil) -> HTMLTableRowElement { let this = jsObject return this[Strings.insertRow].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func deleteRow(index: Int32) { + @inlinable final public func deleteRow(index: Int32) { let this = jsObject _ = this[Strings.deleteRow].function!(this: this, arguments: [_toJSValue(index)]) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var border: String + @inlinable public var border: String { + get { jsObject[Strings.border].fromJSValue()! } + set { jsObject[Strings.border] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var frame: String + @inlinable public var frame: String { + get { jsObject[Strings.frame].fromJSValue()! } + set { jsObject[Strings.frame] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rules: String + @inlinable public var rules: String { + get { jsObject[Strings.rules].fromJSValue()! } + set { jsObject[Strings.rules] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var summary: String + @inlinable public var summary: String { + get { jsObject[Strings.summary].fromJSValue()! } + set { jsObject[Strings.summary] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var width: String + @inlinable public var width: String { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var bgColor: String + @inlinable public var bgColor: String { + get { jsObject[Strings.bgColor].fromJSValue()! } + set { jsObject[Strings.bgColor] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var cellPadding: String + @inlinable public var cellPadding: String { + get { jsObject[Strings.cellPadding].fromJSValue()! } + set { jsObject[Strings.cellPadding] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var cellSpacing: String + @inlinable public var cellSpacing: String { + get { jsObject[Strings.cellSpacing].fromJSValue()! } + set { jsObject[Strings.cellSpacing] = _toJSValue(newValue) } + } } public class HTMLTableRowElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableRowElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _rowIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.rowIndex) - _sectionRowIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.sectionRowIndex) - _cells = ReadonlyAttribute(jsObject: jsObject, name: Strings.cells) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _ch = ReadWriteAttribute(jsObject: jsObject, name: Strings.ch) - _chOff = ReadWriteAttribute(jsObject: jsObject, name: Strings.chOff) - _vAlign = ReadWriteAttribute(jsObject: jsObject, name: Strings.vAlign) - _bgColor = ReadWriteAttribute(jsObject: jsObject, name: Strings.bgColor) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTableRowElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var rowIndex: Int32 + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var sectionRowIndex: Int32 + @inlinable public var rowIndex: Int32 { jsObject[Strings.rowIndex].fromJSValue()! } - @ReadonlyAttribute - public var cells: HTMLCollection + @inlinable public var sectionRowIndex: Int32 { jsObject[Strings.sectionRowIndex].fromJSValue()! } - @inlinable public func insertCell(index: Int32? = nil) -> HTMLTableCellElement { + @inlinable public var cells: HTMLCollection { jsObject[Strings.cells].fromJSValue()! } + + @inlinable final public func insertCell(index: Int32? = nil) -> HTMLTableCellElement { let this = jsObject return this[Strings.insertCell].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func deleteCell(index: Int32) { + @inlinable final public func deleteCell(index: Int32) { let this = jsObject _ = this[Strings.deleteCell].function!(this: this, arguments: [_toJSValue(index)]) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ch: String + @inlinable public var ch: String { + get { jsObject[Strings.ch].fromJSValue()! } + set { jsObject[Strings.ch] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var chOff: String + @inlinable public var chOff: String { + get { jsObject[Strings.chOff].fromJSValue()! } + set { jsObject[Strings.chOff] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vAlign: String + @inlinable public var vAlign: String { + get { jsObject[Strings.vAlign].fromJSValue()! } + set { jsObject[Strings.vAlign] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var bgColor: String + @inlinable public var bgColor: String { + get { jsObject[Strings.bgColor].fromJSValue()! } + set { jsObject[Strings.bgColor] = _toJSValue(newValue) } + } } public class HTMLTableSectionElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTableSectionElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _rows = ReadonlyAttribute(jsObject: jsObject, name: Strings.rows) - _align = ReadWriteAttribute(jsObject: jsObject, name: Strings.align) - _ch = ReadWriteAttribute(jsObject: jsObject, name: Strings.ch) - _chOff = ReadWriteAttribute(jsObject: jsObject, name: Strings.chOff) - _vAlign = ReadWriteAttribute(jsObject: jsObject, name: Strings.vAlign) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTableSectionElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var rows: HTMLCollection + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public func insertRow(index: Int32? = nil) -> HTMLTableRowElement { + @inlinable public var rows: HTMLCollection { jsObject[Strings.rows].fromJSValue()! } + + @inlinable final public func insertRow(index: Int32? = nil) -> HTMLTableRowElement { let this = jsObject return this[Strings.insertRow].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func deleteRow(index: Int32) { + @inlinable final public func deleteRow(index: Int32) { let this = jsObject _ = this[Strings.deleteRow].function!(this: this, arguments: [_toJSValue(index)]) } - @ReadWriteAttribute - public var align: String + @inlinable public var align: String { + get { jsObject[Strings.align].fromJSValue()! } + set { jsObject[Strings.align] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var ch: String + @inlinable public var ch: String { + get { jsObject[Strings.ch].fromJSValue()! } + set { jsObject[Strings.ch] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var chOff: String + @inlinable public var chOff: String { + get { jsObject[Strings.chOff].fromJSValue()! } + set { jsObject[Strings.chOff] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var vAlign: String + @inlinable public var vAlign: String { + get { jsObject[Strings.vAlign].fromJSValue()! } + set { jsObject[Strings.vAlign] = _toJSValue(newValue) } + } } public class HTMLTemplateElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTemplateElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _content = ReadonlyAttribute(jsObject: jsObject, name: Strings.content) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTemplateElement].function } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var content: DocumentFragment -} + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } -public class HTMLTextAreaElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTextAreaElement].function } + @inlinable public var content: DocumentFragment { jsObject[Strings.content].fromJSValue()! } - public required init(unsafelyWrapping jsObject: JSObject) { - _autocomplete = ReadWriteAttribute(jsObject: jsObject, name: Strings.autocomplete) - _cols = ReadWriteAttribute(jsObject: jsObject, name: Strings.cols) - _dirName = ReadWriteAttribute(jsObject: jsObject, name: Strings.dirName) - _disabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.disabled) - _form = ReadonlyAttribute(jsObject: jsObject, name: Strings.form) - _maxLength = ReadWriteAttribute(jsObject: jsObject, name: Strings.maxLength) - _minLength = ReadWriteAttribute(jsObject: jsObject, name: Strings.minLength) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _placeholder = ReadWriteAttribute(jsObject: jsObject, name: Strings.placeholder) - _readOnly = ReadWriteAttribute(jsObject: jsObject, name: Strings.readOnly) - _required = ReadWriteAttribute(jsObject: jsObject, name: Strings.required) - _rows = ReadWriteAttribute(jsObject: jsObject, name: Strings.rows) - _wrap = ReadWriteAttribute(jsObject: jsObject, name: Strings.wrap) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _defaultValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.defaultValue) - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - _textLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.textLength) - _willValidate = ReadonlyAttribute(jsObject: jsObject, name: Strings.willValidate) - _validity = ReadonlyAttribute(jsObject: jsObject, name: Strings.validity) - _validationMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.validationMessage) - _labels = ReadonlyAttribute(jsObject: jsObject, name: Strings.labels) - _selectionStart = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionStart) - _selectionEnd = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionEnd) - _selectionDirection = ReadWriteAttribute(jsObject: jsObject, name: Strings.selectionDirection) - super.init(unsafelyWrapping: jsObject) + @inlinable public var shadowRootMode: String { + get { jsObject[Strings.shadowRootMode].fromJSValue()! } + set { jsObject[Strings.shadowRootMode] = _toJSValue(newValue) } } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) + @inlinable public var shadowRootDelegatesFocus: Bool { + get { jsObject[Strings.shadowRootDelegatesFocus].fromJSValue()! } + set { jsObject[Strings.shadowRootDelegatesFocus] = _toJSValue(newValue) } } - @ReadWriteAttribute - public var autocomplete: String + @inlinable public var shadowRootClonable: Bool { + get { jsObject[Strings.shadowRootClonable].fromJSValue()! } + set { jsObject[Strings.shadowRootClonable] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var cols: UInt32 + @inlinable public var shadowRootSerializable: Bool { + get { jsObject[Strings.shadowRootSerializable].fromJSValue()! } + set { jsObject[Strings.shadowRootSerializable] = _toJSValue(newValue) } + } +} - @ReadWriteAttribute - public var dirName: String +public class HTMLTextAreaElement: HTMLElement { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLTextAreaElement].function + } - @ReadWriteAttribute - public var disabled: Bool + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var form: HTMLFormElement? + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var maxLength: Int32 + @inlinable public var autocomplete: String { + get { jsObject[Strings.autocomplete].fromJSValue()! } + set { jsObject[Strings.autocomplete] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var minLength: Int32 + @inlinable public var cols: UInt32 { + get { jsObject[Strings.cols].fromJSValue()! } + set { jsObject[Strings.cols] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var name: String + @inlinable public var dirName: String { + get { jsObject[Strings.dirName].fromJSValue()! } + set { jsObject[Strings.dirName] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var placeholder: String + @inlinable public var disabled: Bool { + get { jsObject[Strings.disabled].fromJSValue()! } + set { jsObject[Strings.disabled] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var readOnly: Bool + @inlinable public var form: HTMLFormElement? { jsObject[Strings.form].fromJSValue() } - @ReadWriteAttribute - public var required: Bool + @inlinable public var maxLength: Int32 { + get { jsObject[Strings.maxLength].fromJSValue()! } + set { jsObject[Strings.maxLength] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var rows: UInt32 + @inlinable public var minLength: Int32 { + get { jsObject[Strings.minLength].fromJSValue()! } + set { jsObject[Strings.minLength] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var wrap: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } + + @inlinable public var placeholder: String { + get { jsObject[Strings.placeholder].fromJSValue()! } + set { jsObject[Strings.placeholder] = _toJSValue(newValue) } + } + + @inlinable public var readOnly: Bool { + get { jsObject[Strings.readOnly].fromJSValue()! } + set { jsObject[Strings.readOnly] = _toJSValue(newValue) } + } + + @inlinable public var required: Bool { + get { jsObject[Strings.required].fromJSValue()! } + set { jsObject[Strings.required] = _toJSValue(newValue) } + } + + @inlinable public var rows: UInt32 { + get { jsObject[Strings.rows].fromJSValue()! } + set { jsObject[Strings.rows] = _toJSValue(newValue) } + } + + @inlinable public var wrap: String { + get { jsObject[Strings.wrap].fromJSValue()! } + set { jsObject[Strings.wrap] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadWriteAttribute - public var defaultValue: String + @inlinable public var defaultValue: String { + get { jsObject[Strings.defaultValue].fromJSValue()! } + set { jsObject[Strings.defaultValue] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var textLength: UInt32 + @inlinable public var textLength: UInt32 { jsObject[Strings.textLength].fromJSValue()! } - @ReadonlyAttribute - public var willValidate: Bool + @inlinable public var willValidate: Bool { jsObject[Strings.willValidate].fromJSValue()! } - @ReadonlyAttribute - public var validity: ValidityState + @inlinable public var validity: ValidityState { jsObject[Strings.validity].fromJSValue()! } - @ReadonlyAttribute - public var validationMessage: String + @inlinable public var validationMessage: String { jsObject[Strings.validationMessage].fromJSValue()! } - @inlinable public func checkValidity() -> Bool { + @inlinable final public func checkValidity() -> Bool { let this = jsObject return this[Strings.checkValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func reportValidity() -> Bool { + @inlinable final public func reportValidity() -> Bool { let this = jsObject return this[Strings.reportValidity].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func setCustomValidity(error: String) { + @inlinable final public func setCustomValidity(error: String) { let this = jsObject _ = this[Strings.setCustomValidity].function!(this: this, arguments: [_toJSValue(error)]) } - @ReadonlyAttribute - public var labels: NodeList + @inlinable public var labels: NodeList { jsObject[Strings.labels].fromJSValue()! } - @inlinable public func select() { + @inlinable final public func select() { let this = jsObject _ = this[Strings.select].function!(this: this, arguments: []) } - @ReadWriteAttribute - public var selectionStart: UInt32 + @inlinable public var selectionStart: UInt32 { + get { jsObject[Strings.selectionStart].fromJSValue()! } + set { jsObject[Strings.selectionStart] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var selectionEnd: UInt32 + @inlinable public var selectionEnd: UInt32 { + get { jsObject[Strings.selectionEnd].fromJSValue()! } + set { jsObject[Strings.selectionEnd] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var selectionDirection: String + @inlinable public var selectionDirection: String { + get { jsObject[Strings.selectionDirection].fromJSValue()! } + set { jsObject[Strings.selectionDirection] = _toJSValue(newValue) } + } - @inlinable public func setRangeText(replacement: String) { + @inlinable final public func setRangeText(replacement: String) { let this = jsObject _ = this[Strings.setRangeText].function!(this: this, arguments: [_toJSValue(replacement)]) } - @inlinable public func setRangeText(replacement: String, start: UInt32, end: UInt32, selectionMode: SelectionMode? = nil) { + @inlinable final public func setRangeText( + replacement: String, + start: UInt32, + end: UInt32, + selectionMode: SelectionMode? = nil + ) { let this = jsObject - _ = this[Strings.setRangeText].function!(this: this, arguments: [_toJSValue(replacement), _toJSValue(start), _toJSValue(end), _toJSValue(selectionMode)]) + _ = this[Strings.setRangeText].function!( + this: this, + arguments: [_toJSValue(replacement), _toJSValue(start), _toJSValue(end), _toJSValue(selectionMode)] + ) } - @inlinable public func setSelectionRange(start: UInt32, end: UInt32, direction: String? = nil) { + @inlinable final public func setSelectionRange(start: UInt32, end: UInt32, direction: String? = nil) { let this = jsObject - _ = this[Strings.setSelectionRange].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(direction)]) + _ = this[Strings.setSelectionRange].function!( + this: this, + arguments: [_toJSValue(start), _toJSValue(end), _toJSValue(direction)] + ) } } public class HTMLTimeElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTimeElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLTimeElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _dateTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.dateTime) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var dateTime: String + @inlinable public var dateTime: String { + get { jsObject[Strings.dateTime].fromJSValue()! } + set { jsObject[Strings.dateTime] = _toJSValue(newValue) } + } } public class HTMLTitleElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTitleElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLTitleElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _text = ReadWriteAttribute(jsObject: jsObject, name: Strings.text) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var text: String + @inlinable public var text: String { + get { jsObject[Strings.text].fromJSValue()! } + set { jsObject[Strings.text] = _toJSValue(newValue) } + } } public class HTMLTrackElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLTrackElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLTrackElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _kind = ReadWriteAttribute(jsObject: jsObject, name: Strings.kind) - _src = ReadWriteAttribute(jsObject: jsObject, name: Strings.src) - _srclang = ReadWriteAttribute(jsObject: jsObject, name: Strings.srclang) - _label = ReadWriteAttribute(jsObject: jsObject, name: Strings.label) - _default = ReadWriteAttribute(jsObject: jsObject, name: Strings.default) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _track = ReadonlyAttribute(jsObject: jsObject, name: Strings.track) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var kind: String + @inlinable public var kind: String { + get { jsObject[Strings.kind].fromJSValue()! } + set { jsObject[Strings.kind] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var src: String + @inlinable public var src: String { + get { jsObject[Strings.src].fromJSValue()! } + set { jsObject[Strings.src] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var srclang: String + @inlinable public var srclang: String { + get { jsObject[Strings.srclang].fromJSValue()! } + set { jsObject[Strings.srclang] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var label: String + @inlinable public var label: String { + get { jsObject[Strings.label].fromJSValue()! } + set { jsObject[Strings.label] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var `default`: Bool + @inlinable public var `default`: Bool { + get { jsObject[Strings.`default`].fromJSValue()! } + set { jsObject[Strings.`default`] = _toJSValue(newValue) } + } public static let NONE: UInt16 = 0 @@ -9745,75 +11027,68 @@ public class HTMLTrackElement: HTMLElement { public static let ERROR: UInt16 = 3 - @ReadonlyAttribute - public var readyState: UInt16 + @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } - @ReadonlyAttribute - public var track: TextTrack + @inlinable public var track: TextTrack { jsObject[Strings.track].fromJSValue()! } } public class HTMLUListElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLUListElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLUListElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _compact = ReadWriteAttribute(jsObject: jsObject, name: Strings.compact) - _type = ReadWriteAttribute(jsObject: jsObject, name: Strings.type) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var compact: Bool + @inlinable public var compact: Bool { + get { jsObject[Strings.compact].fromJSValue()! } + set { jsObject[Strings.compact] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var type: String + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } } public class HTMLUnknownElement: HTMLElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLUnknownElement].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.HTMLUnknownElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } public class HTMLVideoElement: HTMLMediaElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HTMLVideoElement].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HTMLVideoElement].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _videoWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoWidth) - _videoHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoHeight) - _poster = ReadWriteAttribute(jsObject: jsObject, name: Strings.poster) - _playsInline = ReadWriteAttribute(jsObject: jsObject, name: Strings.playsInline) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadWriteAttribute - public var width: UInt32 + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: UInt32 + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var videoWidth: UInt32 + @inlinable public var videoWidth: UInt32 { jsObject[Strings.videoWidth].fromJSValue()! } - @ReadonlyAttribute - public var videoHeight: UInt32 + @inlinable public var videoHeight: UInt32 { jsObject[Strings.videoHeight].fromJSValue()! } - @ReadWriteAttribute - public var poster: String + @inlinable public var poster: String { + get { jsObject[Strings.poster].fromJSValue()! } + set { jsObject[Strings.poster] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var playsInline: Bool + @inlinable public var playsInline: Bool { + get { jsObject[Strings.playsInline].fromJSValue()! } + set { jsObject[Strings.playsInline] = _toJSValue(newValue) } + } } public enum HardwareAcceleration: JSString, JSValueCompatible { @@ -9822,107 +11097,101 @@ public enum HardwareAcceleration: JSString, JSValueCompatible { case preferSoftware = "prefer-software" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class HashChangeEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.HashChangeEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.HashChangeEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _oldURL = ReadonlyAttribute(jsObject: jsObject, name: Strings.oldURL) - _newURL = ReadonlyAttribute(jsObject: jsObject, name: Strings.newURL) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: HashChangeEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var oldURL: String + @inlinable public var oldURL: String { jsObject[Strings.oldURL].fromJSValue()! } - @ReadonlyAttribute - public var newURL: String + @inlinable public var newURL: String { jsObject[Strings.newURL].fromJSValue()! } } -public class HashChangeEventInit: BridgedDictionary { - public convenience init(oldURL: String, newURL: String) { +open class HashChangeEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + oldURL: String? = nil, + newURL: String? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.oldURL] = _toJSValue(oldURL) object[Strings.newURL] = _toJSValue(newURL) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _oldURL = ReadWriteAttribute(jsObject: object, name: Strings.oldURL) - _newURL = ReadWriteAttribute(jsObject: object, name: Strings.newURL) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var oldURL: String? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var newURL: String? + @inlinable public var oldURL: String { + get { jsObject[Strings.oldURL].fromJSValue()! } + set { jsObject[Strings.oldURL] = _toJSValue(newValue) } + } + @inlinable public var newURL: String { + get { jsObject[Strings.newURL].fromJSValue()! } + set { jsObject[Strings.newURL] = _toJSValue(newValue) } + } } - public class Headers: JSBridgedClass, Sequence { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Headers].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: HeadersInit? = nil) { + @inlinable public convenience init(`init`: HeadersInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @inlinable public func append(name: String, value: String) { + @inlinable final public func append(name: String, value: String) { let this = jsObject _ = this[Strings.append].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @inlinable public func delete(name: String) { + @inlinable final public func delete(name: String) { let this = jsObject _ = this[Strings.delete].function!(this: this, arguments: [_toJSValue(name)]) } - @inlinable public func get(name: String) -> String? { + @inlinable final public func get(name: String) -> String? { let this = jsObject return this[Strings.get].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable public func getSetCookie() -> [String] { + @inlinable final public func getSetCookie() -> [String] { let this = jsObject return this[Strings.getSetCookie].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func has(name: String) -> Bool { + @inlinable final public func has(name: String) -> Bool { let this = jsObject return this[Strings.has].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue()! } - @inlinable public func set(name: String, value: String) { + @inlinable final public func set(name: String, value: String) { let this = jsObject _ = this[Strings.set].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } public typealias Element = String - public func makeIterator() -> ValueIterableIterator { - ValueIterableIterator(sequence: self) - } + public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } } public class History: JSBridgedClass { @@ -9930,45 +11199,46 @@ public class History: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _scrollRestoration = ReadWriteAttribute(jsObject: jsObject, name: Strings.scrollRestoration) - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ReadWriteAttribute - public var scrollRestoration: ScrollRestoration + @inlinable public var scrollRestoration: ScrollRestoration { + get { jsObject[Strings.scrollRestoration].fromJSValue()! } + set { jsObject[Strings.scrollRestoration] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var state: JSValue + @inlinable public var state: JSValue { jsObject[Strings.state].fromJSValue()! } - @inlinable public func go(delta: Int32? = nil) { + @inlinable final public func go(delta: Int32? = nil) { let this = jsObject _ = this[Strings.go].function!(this: this, arguments: [_toJSValue(delta)]) } - @inlinable public func back() { + @inlinable final public func back() { let this = jsObject _ = this[Strings.back].function!(this: this, arguments: []) } - @inlinable public func forward() { + @inlinable final public func forward() { let this = jsObject _ = this[Strings.forward].function!(this: this, arguments: []) } - @inlinable public func pushState(data: JSValue, unused: String, url: String? = nil) { + @inlinable final public func pushState(data: JSValue, unused: String, url: String? = nil) { let this = jsObject - _ = this[Strings.pushState].function!(this: this, arguments: [_toJSValue(data), _toJSValue(unused), _toJSValue(url)]) + _ = this[Strings.pushState].function!( + this: this, + arguments: [_toJSValue(data), _toJSValue(unused), _toJSValue(url)] + ) } - @inlinable public func replaceState(data: JSValue, unused: String, url: String? = nil) { + @inlinable final public func replaceState(data: JSValue, unused: String, url: String? = nil) { let this = jsObject - _ = this[Strings.replaceState].function!(this: this, arguments: [_toJSValue(data), _toJSValue(unused), _toJSValue(url)]) + _ = this[Strings.replaceState].function!( + this: this, + arguments: [_toJSValue(data), _toJSValue(unused), _toJSValue(url)] + ) } } @@ -9977,26 +11247,29 @@ public class ImageBitmap: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var width: UInt32 + @inlinable public var width: UInt32 { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: UInt32 + @inlinable public var height: UInt32 { jsObject[Strings.height].fromJSValue()! } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } } -public class ImageBitmapOptions: BridgedDictionary { - public convenience init(imageOrientation: ImageOrientation, premultiplyAlpha: PremultiplyAlpha, colorSpaceConversion: ColorSpaceConversion, resizeWidth: UInt32, resizeHeight: UInt32, resizeQuality: ResizeQuality) { +open class ImageBitmapOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + imageOrientation: ImageOrientation? = nil, + premultiplyAlpha: PremultiplyAlpha? = nil, + colorSpaceConversion: ColorSpaceConversion? = nil, + resizeWidth: UInt32? = nil, + resizeHeight: UInt32? = nil, + resizeQuality: ResizeQuality? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.imageOrientation] = _toJSValue(imageOrientation) object[Strings.premultiplyAlpha] = _toJSValue(premultiplyAlpha) @@ -10004,212 +11277,208 @@ public class ImageBitmapOptions: BridgedDictionary { object[Strings.resizeWidth] = _toJSValue(resizeWidth) object[Strings.resizeHeight] = _toJSValue(resizeHeight) object[Strings.resizeQuality] = _toJSValue(resizeQuality) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _imageOrientation = ReadWriteAttribute(jsObject: object, name: Strings.imageOrientation) - _premultiplyAlpha = ReadWriteAttribute(jsObject: object, name: Strings.premultiplyAlpha) - _colorSpaceConversion = ReadWriteAttribute(jsObject: object, name: Strings.colorSpaceConversion) - _resizeWidth = ReadWriteAttribute(jsObject: object, name: Strings.resizeWidth) - _resizeHeight = ReadWriteAttribute(jsObject: object, name: Strings.resizeHeight) - _resizeQuality = ReadWriteAttribute(jsObject: object, name: Strings.resizeQuality) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var imageOrientation: ImageOrientation? - - @ReadWriteAttribute - public var premultiplyAlpha: PremultiplyAlpha? - - @ReadWriteAttribute - public var colorSpaceConversion: ColorSpaceConversion? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var resizeWidth: UInt32? - - @ReadWriteAttribute - public var resizeHeight: UInt32? - - @ReadWriteAttribute - public var resizeQuality: ResizeQuality? + @inlinable public var imageOrientation: ImageOrientation { + get { jsObject[Strings.imageOrientation].fromJSValue()! } + set { jsObject[Strings.imageOrientation] = _toJSValue(newValue) } + } + @inlinable public var premultiplyAlpha: PremultiplyAlpha { + get { jsObject[Strings.premultiplyAlpha].fromJSValue()! } + set { jsObject[Strings.premultiplyAlpha] = _toJSValue(newValue) } + } + @inlinable public var colorSpaceConversion: ColorSpaceConversion { + get { jsObject[Strings.colorSpaceConversion].fromJSValue()! } + set { jsObject[Strings.colorSpaceConversion] = _toJSValue(newValue) } + } + @inlinable public var resizeWidth: UInt32 { + get { jsObject[Strings.resizeWidth].fromJSValue()! } + set { jsObject[Strings.resizeWidth] = _toJSValue(newValue) } + } + @inlinable public var resizeHeight: UInt32 { + get { jsObject[Strings.resizeHeight].fromJSValue()! } + set { jsObject[Strings.resizeHeight] = _toJSValue(newValue) } + } + @inlinable public var resizeQuality: ResizeQuality { + get { jsObject[Strings.resizeQuality].fromJSValue()! } + set { jsObject[Strings.resizeQuality] = _toJSValue(newValue) } + } } - public class ImageBitmapRenderingContext: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ImageBitmapRenderingContext].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.ImageBitmapRenderingContext].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _canvas = ReadonlyAttribute(jsObject: jsObject, name: Strings.canvas) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var canvas: HTMLCanvasElement_or_OffscreenCanvas + @inlinable public var canvas: HTMLCanvasElement_or_OffscreenCanvas { jsObject[Strings.canvas].fromJSValue()! } - @inlinable public func transferFromImageBitmap(bitmap: ImageBitmap?) { + @inlinable final public func transferFromImageBitmap(bitmap: ImageBitmap?) { let this = jsObject _ = this[Strings.transferFromImageBitmap].function!(this: this, arguments: [_toJSValue(bitmap)]) } } -public class ImageBitmapRenderingContextSettings: BridgedDictionary { - public convenience init(alpha: Bool) { +open class ImageBitmapRenderingContextSettings: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(alpha: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.alpha] = _toJSValue(alpha) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var alpha: Bool? + @inlinable public var alpha: Bool { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } } - public class ImageData: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ImageData].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) - _colorSpace = ReadonlyAttribute(jsObject: jsObject, name: Strings.colorSpace) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(sw: UInt32, sh: UInt32, settings: ImageDataSettings? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(sw), _toJSValue(sh), _toJSValue(settings)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(sw), _toJSValue(sh), _toJSValue(settings)]) + ) } - @inlinable public convenience init(data: Uint8ClampedArray, sw: UInt32, sh: UInt32? = nil, settings: ImageDataSettings? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(data), _toJSValue(sw), _toJSValue(sh), _toJSValue(settings)])) + @inlinable public convenience init( + data: Uint8ClampedArray, + sw: UInt32, + sh: UInt32? = nil, + settings: ImageDataSettings? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(data), _toJSValue(sw), _toJSValue(sh), _toJSValue(settings), + ]) + ) } - @ReadonlyAttribute - public var width: UInt32 + @inlinable public var width: UInt32 { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: UInt32 + @inlinable public var height: UInt32 { jsObject[Strings.height].fromJSValue()! } - @ReadonlyAttribute - public var data: Uint8ClampedArray + @inlinable public var data: Uint8ClampedArray { jsObject[Strings.data].fromJSValue()! } - @ReadonlyAttribute - public var colorSpace: PredefinedColorSpace + @inlinable public var colorSpace: PredefinedColorSpace { jsObject[Strings.colorSpace].fromJSValue()! } } -public class ImageDataSettings: BridgedDictionary { - public convenience init(colorSpace: PredefinedColorSpace) { +open class ImageDataSettings: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(colorSpace: PredefinedColorSpace? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.colorSpace] = _toJSValue(colorSpace) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var colorSpace: PredefinedColorSpace? + @inlinable public var colorSpace: PredefinedColorSpace { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } } +open class ImageDecodeOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ImageDecodeOptions: BridgedDictionary { - public convenience init(frameIndex: UInt32, completeFramesOnly: Bool) { + public convenience init(frameIndex: UInt32? = nil, completeFramesOnly: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.frameIndex] = _toJSValue(frameIndex) object[Strings.completeFramesOnly] = _toJSValue(completeFramesOnly) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _frameIndex = ReadWriteAttribute(jsObject: object, name: Strings.frameIndex) - _completeFramesOnly = ReadWriteAttribute(jsObject: object, name: Strings.completeFramesOnly) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var frameIndex: UInt32? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var completeFramesOnly: Bool? + @inlinable public var frameIndex: UInt32 { + get { jsObject[Strings.frameIndex].fromJSValue()! } + set { jsObject[Strings.frameIndex] = _toJSValue(newValue) } + } + @inlinable public var completeFramesOnly: Bool { + get { jsObject[Strings.completeFramesOnly].fromJSValue()! } + set { jsObject[Strings.completeFramesOnly] = _toJSValue(newValue) } + } } +open class ImageDecodeResult: JSDictionaryCompatible { + public let jsObject: JSObject -public class ImageDecodeResult: BridgedDictionary { public convenience init(image: VideoFrame, complete: Bool) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.image] = _toJSValue(image) object[Strings.complete] = _toJSValue(complete) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _image = ReadWriteAttribute(jsObject: object, name: Strings.image) - _complete = ReadWriteAttribute(jsObject: object, name: Strings.complete) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var image: VideoFrame + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var complete: Bool + @inlinable public var image: VideoFrame { + get { jsObject[Strings.image].fromJSValue()! } + set { jsObject[Strings.image] = _toJSValue(newValue) } + } + @inlinable public var complete: Bool { + get { jsObject[Strings.complete].fromJSValue()! } + set { jsObject[Strings.complete] = _toJSValue(newValue) } + } } - public class ImageDecoder: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ImageDecoder].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _complete = ReadonlyAttribute(jsObject: jsObject, name: Strings.complete) - _completed = ReadonlyAttribute(jsObject: jsObject, name: Strings.completed) - _tracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.tracks) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: ImageDecoderInit) { + @inlinable public convenience init(`init`: ImageDecoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var complete: Bool + @inlinable public var complete: Bool { jsObject[Strings.complete].fromJSValue()! } - @ReadonlyAttribute - public var completed: JSPromise + @inlinable public var completed: JSPromise { jsObject[Strings.completed].fromJSValue()! } - @ReadonlyAttribute - public var tracks: ImageTrackList + @inlinable public var tracks: ImageTrackList { jsObject[Strings.tracks].fromJSValue()! } - @inlinable public func decode(options: ImageDecodeOptions? = nil) -> JSPromise { + @inlinable final public func decode(options: ImageDecodeOptions? = nil) -> JSPromise { let this = jsObject return this[Strings.decode].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func decode(options: ImageDecodeOptions? = nil) async throws -> ImageDecodeResult { - let this = jsObject - let _promise: JSPromise = this[Strings.decode].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func decode( + options: ImageDecodeOptions? = nil + ) async throws(JSException) -> ImageDecodeResult { + let this = jsObject + let _promise: JSPromise = this[Strings.decode].function!(this: this, arguments: [_toJSValue(options)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -10219,16 +11488,30 @@ public class ImageDecoder: JSBridgedClass { return this[Strings.isTypeSupported].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public class func isTypeSupported(type: String) async throws -> Bool { - let this = constructor! - let _promise: JSPromise = this[Strings.isTypeSupported].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isTypeSupported( + type: String + ) async throws(JSException) -> Bool { + let this = constructor! + let _promise: JSPromise = this[Strings.isTypeSupported].function!(this: this, arguments: [_toJSValue(type)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class ImageDecoderInit: BridgedDictionary { - public convenience init(type: String, data: ImageBufferSource, colorSpaceConversion: ColorSpaceConversion, desiredWidth: UInt32, desiredHeight: UInt32, preferAnimation: Bool, transfer: [ArrayBuffer]) { +open class ImageDecoderInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + type: String, + data: ImageBufferSource, + colorSpaceConversion: ColorSpaceConversion? = nil, + desiredWidth: UInt32? = nil, + desiredHeight: UInt32? = nil, + preferAnimation: Bool? = nil, + transfer: [ArrayBuffer]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.data] = _toJSValue(data) @@ -10237,124 +11520,107 @@ public class ImageDecoderInit: BridgedDictionary { object[Strings.desiredHeight] = _toJSValue(desiredHeight) object[Strings.preferAnimation] = _toJSValue(preferAnimation) object[Strings.transfer] = _toJSValue(transfer) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - _colorSpaceConversion = ReadWriteAttribute(jsObject: object, name: Strings.colorSpaceConversion) - _desiredWidth = ReadWriteAttribute(jsObject: object, name: Strings.desiredWidth) - _desiredHeight = ReadWriteAttribute(jsObject: object, name: Strings.desiredHeight) - _preferAnimation = ReadWriteAttribute(jsObject: object, name: Strings.preferAnimation) - _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: String - - @ReadWriteAttribute - public var data: ImageBufferSource - - @ReadWriteAttribute - public var colorSpaceConversion: ColorSpaceConversion? - - @ReadWriteAttribute - public var desiredWidth: UInt32? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var desiredHeight: UInt32? - - @ReadWriteAttribute - public var preferAnimation: Bool? - - @ReadWriteAttribute - public var transfer: [ArrayBuffer]? + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var data: ImageBufferSource { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } + @inlinable public var colorSpaceConversion: ColorSpaceConversion { + get { jsObject[Strings.colorSpaceConversion].fromJSValue()! } + set { jsObject[Strings.colorSpaceConversion] = _toJSValue(newValue) } + } + @inlinable public var desiredWidth: UInt32 { + get { jsObject[Strings.desiredWidth].fromJSValue()! } + set { jsObject[Strings.desiredWidth] = _toJSValue(newValue) } + } + @inlinable public var desiredHeight: UInt32 { + get { jsObject[Strings.desiredHeight].fromJSValue()! } + set { jsObject[Strings.desiredHeight] = _toJSValue(newValue) } + } + @inlinable public var preferAnimation: Bool { + get { jsObject[Strings.preferAnimation].fromJSValue()! } + set { jsObject[Strings.preferAnimation] = _toJSValue(newValue) } + } + @inlinable public var transfer: [ArrayBuffer] { + get { jsObject[Strings.transfer].fromJSValue()! } + set { jsObject[Strings.transfer] = _toJSValue(newValue) } + } } +open class ImageEncodeOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ImageEncodeOptions: BridgedDictionary { - public convenience init(type: String, quality: Double) { + public convenience init(type: String? = nil, quality: Double? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.quality] = _toJSValue(quality) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _quality = ReadWriteAttribute(jsObject: object, name: Strings.quality) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: String? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var quality: Double? + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var quality: Double { + get { jsObject[Strings.quality].fromJSValue()! } + set { jsObject[Strings.quality] = _toJSValue(newValue) } + } } - public enum ImageOrientation: JSString, JSValueCompatible { case fromImage = "from-image" case flipY = "flipY" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ImageSmoothingQuality: JSString, JSValueCompatible { case low = "low" case medium = "medium" case high = "high" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class ImageTrack: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ImageTrack].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _animated = ReadonlyAttribute(jsObject: jsObject, name: Strings.animated) - _frameCount = ReadonlyAttribute(jsObject: jsObject, name: Strings.frameCount) - _repetitionCount = ReadonlyAttribute(jsObject: jsObject, name: Strings.repetitionCount) - _selected = ReadWriteAttribute(jsObject: jsObject, name: Strings.selected) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var animated: Bool + @inlinable public var animated: Bool { jsObject[Strings.animated].fromJSValue()! } - @ReadonlyAttribute - public var frameCount: UInt32 + @inlinable public var frameCount: UInt32 { jsObject[Strings.frameCount].fromJSValue()! } - @ReadonlyAttribute - public var repetitionCount: Float + @inlinable public var repetitionCount: Float { jsObject[Strings.repetitionCount].fromJSValue()! } - @ReadWriteAttribute - public var selected: Bool + @inlinable public var selected: Bool { + get { jsObject[Strings.selected].fromJSValue()! } + set { jsObject[Strings.selected] = _toJSValue(newValue) } + } } public class ImageTrackList: JSBridgedClass { @@ -10362,111 +11628,86 @@ public class ImageTrackList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _ready = ReadonlyAttribute(jsObject: jsObject, name: Strings.ready) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _selectedIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.selectedIndex) - _selectedTrack = ReadonlyAttribute(jsObject: jsObject, name: Strings.selectedTrack) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public subscript(key: Int) -> ImageTrack { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> ImageTrack { jsObject[key].fromJSValue()! } - @ReadonlyAttribute - public var ready: JSPromise + @inlinable public var ready: JSPromise { jsObject[Strings.ready].fromJSValue()! } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ReadonlyAttribute - public var selectedIndex: Int32 + @inlinable public var selectedIndex: Int32 { jsObject[Strings.selectedIndex].fromJSValue()! } - @ReadonlyAttribute - public var selectedTrack: ImageTrack? + @inlinable public var selectedTrack: ImageTrack? { jsObject[Strings.selectedTrack].fromJSValue() } } public class InputDeviceInfo: MediaDeviceInfo { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.InputDeviceInfo].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.InputDeviceInfo].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public func getCapabilities() -> MediaTrackCapabilities { + @inlinable final public func getCapabilities() -> MediaTrackCapabilities { let this = jsObject return this[Strings.getCapabilities].function!(this: this, arguments: []).fromJSValue()! } } public class InputEvent: UIEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.InputEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.InputEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) - _isComposing = ReadonlyAttribute(jsObject: jsObject, name: Strings.isComposing) - _inputType = ReadonlyAttribute(jsObject: jsObject, name: Strings.inputType) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: InputEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var data: String? + @inlinable public var data: String? { jsObject[Strings.data].fromJSValue() } - @ReadonlyAttribute - public var isComposing: Bool + @inlinable public var isComposing: Bool { jsObject[Strings.isComposing].fromJSValue()! } - @ReadonlyAttribute - public var inputType: String + @inlinable public var inputType: String { jsObject[Strings.inputType].fromJSValue()! } } -public class InputEventInit: BridgedDictionary { - public convenience init(data: String?, isComposing: Bool, inputType: String) { +open class InputEventInit: UIEventInit { + + public convenience init( + view: Window?, + detail: Int32? = nil, + which: UInt32? = nil, + data: String?, + isComposing: Bool? = nil, + inputType: String? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.view] = _toJSValue(view) + object[Strings.detail] = _toJSValue(detail) + object[Strings.which] = _toJSValue(which) object[Strings.data] = _toJSValue(data) object[Strings.isComposing] = _toJSValue(isComposing) object[Strings.inputType] = _toJSValue(inputType) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - _isComposing = ReadWriteAttribute(jsObject: object, name: Strings.isComposing) - _inputType = ReadWriteAttribute(jsObject: object, name: Strings.inputType) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var data: String? - - @ReadWriteAttribute - public var isComposing: Bool? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var inputType: String? + @inlinable public var data: String? { + get { jsObject[Strings.data].fromJSValue() } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } + @inlinable public var isComposing: Bool { + get { jsObject[Strings.isComposing].fromJSValue()! } + set { jsObject[Strings.isComposing] = _toJSValue(newValue) } + } + @inlinable public var inputType: String { + get { jsObject[Strings.inputType].fromJSValue()! } + set { jsObject[Strings.inputType] = _toJSValue(newValue) } + } } - public class KeyboardEvent: UIEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.KeyboardEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _key = ReadonlyAttribute(jsObject: jsObject, name: Strings.key) - _code = ReadonlyAttribute(jsObject: jsObject, name: Strings.code) - _location = ReadonlyAttribute(jsObject: jsObject, name: Strings.location) - _ctrlKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.ctrlKey) - _shiftKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.shiftKey) - _altKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.altKey) - _metaKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.metaKey) - _repeat = ReadonlyAttribute(jsObject: jsObject, name: Strings.repeat) - _isComposing = ReadonlyAttribute(jsObject: jsObject, name: Strings.isComposing) - _charCode = ReadonlyAttribute(jsObject: jsObject, name: Strings.charCode) - _keyCode = ReadonlyAttribute(jsObject: jsObject, name: Strings.keyCode) - super.init(unsafelyWrapping: jsObject) - } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.KeyboardEvent].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: KeyboardEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) @@ -10480,213 +11721,304 @@ public class KeyboardEvent: UIEvent { public static let DOM_KEY_LOCATION_NUMPAD: UInt32 = 0x03 - @ReadonlyAttribute - public var key: String + @inlinable public var key: String { jsObject[Strings.key].fromJSValue()! } - @ReadonlyAttribute - public var code: String + @inlinable public var code: String { jsObject[Strings.code].fromJSValue()! } - @ReadonlyAttribute - public var location: UInt32 + @inlinable public var location: UInt32 { jsObject[Strings.location].fromJSValue()! } - @ReadonlyAttribute - public var ctrlKey: Bool + @inlinable public var ctrlKey: Bool { jsObject[Strings.ctrlKey].fromJSValue()! } - @ReadonlyAttribute - public var shiftKey: Bool + @inlinable public var shiftKey: Bool { jsObject[Strings.shiftKey].fromJSValue()! } - @ReadonlyAttribute - public var altKey: Bool + @inlinable public var altKey: Bool { jsObject[Strings.altKey].fromJSValue()! } - @ReadonlyAttribute - public var metaKey: Bool + @inlinable public var metaKey: Bool { jsObject[Strings.metaKey].fromJSValue()! } - @ReadonlyAttribute - public var `repeat`: Bool + @inlinable public var `repeat`: Bool { jsObject[Strings.`repeat`].fromJSValue()! } - @ReadonlyAttribute - public var isComposing: Bool + @inlinable public var isComposing: Bool { jsObject[Strings.isComposing].fromJSValue()! } - @inlinable public func getModifierState(keyArg: String) -> Bool { + @inlinable final public func getModifierState(keyArg: String) -> Bool { let this = jsObject return this[Strings.getModifierState].function!(this: this, arguments: [_toJSValue(keyArg)]).fromJSValue()! } - @inlinable public func initKeyboardEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, viewArg: Window? = nil, keyArg: String? = nil, locationArg: UInt32? = nil, ctrlKey: Bool? = nil, altKey: Bool? = nil, shiftKey: Bool? = nil, metaKey: Bool? = nil) { - let this = jsObject - _ = this[Strings.initKeyboardEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), _toJSValue(keyArg), _toJSValue(locationArg), _toJSValue(ctrlKey), _toJSValue(altKey), _toJSValue(shiftKey), _toJSValue(metaKey)]) - } - - @ReadonlyAttribute - public var charCode: UInt32 - - @ReadonlyAttribute - public var keyCode: UInt32 -} - -public class KeyboardEventInit: BridgedDictionary { - public convenience init(key: String, code: String, location: UInt32, repeat: Bool, isComposing: Bool, charCode: UInt32, keyCode: UInt32) { + @inlinable final public func initKeyboardEvent( + typeArg: String, + bubblesArg: Bool? = nil, + cancelableArg: Bool? = nil, + viewArg: Window? = nil, + keyArg: String? = nil, + locationArg: UInt32? = nil, + ctrlKey: Bool? = nil, + altKey: Bool? = nil, + shiftKey: Bool? = nil, + metaKey: Bool? = nil + ) { + let this = jsObject + _ = this[Strings.initKeyboardEvent].function!( + this: this, + arguments: [ + _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), + _toJSValue(keyArg), _toJSValue(locationArg), _toJSValue(ctrlKey), _toJSValue(altKey), + _toJSValue(shiftKey), _toJSValue(metaKey), + ] + ) + } + + @inlinable public var charCode: UInt32 { jsObject[Strings.charCode].fromJSValue()! } + + @inlinable public var keyCode: UInt32 { jsObject[Strings.keyCode].fromJSValue()! } +} + +open class KeyboardEventInit: EventModifierInit { + + public convenience init( + ctrlKey: Bool? = nil, + shiftKey: Bool? = nil, + altKey: Bool? = nil, + metaKey: Bool? = nil, + modifierAltGraph: Bool? = nil, + modifierCapsLock: Bool? = nil, + modifierFn: Bool? = nil, + modifierFnLock: Bool? = nil, + modifierHyper: Bool? = nil, + modifierNumLock: Bool? = nil, + modifierScrollLock: Bool? = nil, + modifierSuper: Bool? = nil, + modifierSymbol: Bool? = nil, + modifierSymbolLock: Bool? = nil, + key: String? = nil, + code: String? = nil, + location: UInt32? = nil, + `repeat`: Bool? = nil, + isComposing: Bool? = nil, + charCode: UInt32? = nil, + keyCode: UInt32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.ctrlKey] = _toJSValue(ctrlKey) + object[Strings.shiftKey] = _toJSValue(shiftKey) + object[Strings.altKey] = _toJSValue(altKey) + object[Strings.metaKey] = _toJSValue(metaKey) + object[Strings.modifierAltGraph] = _toJSValue(modifierAltGraph) + object[Strings.modifierCapsLock] = _toJSValue(modifierCapsLock) + object[Strings.modifierFn] = _toJSValue(modifierFn) + object[Strings.modifierFnLock] = _toJSValue(modifierFnLock) + object[Strings.modifierHyper] = _toJSValue(modifierHyper) + object[Strings.modifierNumLock] = _toJSValue(modifierNumLock) + object[Strings.modifierScrollLock] = _toJSValue(modifierScrollLock) + object[Strings.modifierSuper] = _toJSValue(modifierSuper) + object[Strings.modifierSymbol] = _toJSValue(modifierSymbol) + object[Strings.modifierSymbolLock] = _toJSValue(modifierSymbolLock) object[Strings.key] = _toJSValue(key) object[Strings.code] = _toJSValue(code) object[Strings.location] = _toJSValue(location) - object[Strings.repeat] = _toJSValue(`repeat`) + object[Strings.`repeat`] = _toJSValue(`repeat`) object[Strings.isComposing] = _toJSValue(isComposing) object[Strings.charCode] = _toJSValue(charCode) object[Strings.keyCode] = _toJSValue(keyCode) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _key = ReadWriteAttribute(jsObject: object, name: Strings.key) - _code = ReadWriteAttribute(jsObject: object, name: Strings.code) - _location = ReadWriteAttribute(jsObject: object, name: Strings.location) - _repeat = ReadWriteAttribute(jsObject: object, name: Strings.repeat) - _isComposing = ReadWriteAttribute(jsObject: object, name: Strings.isComposing) - _charCode = ReadWriteAttribute(jsObject: object, name: Strings.charCode) - _keyCode = ReadWriteAttribute(jsObject: object, name: Strings.keyCode) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var key: String? - - @ReadWriteAttribute - public var code: String? - - @ReadWriteAttribute - public var location: UInt32? - - @ReadWriteAttribute - public var `repeat`: Bool? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var isComposing: Bool? - - @ReadWriteAttribute - public var charCode: UInt32? - - @ReadWriteAttribute - public var keyCode: UInt32? + @inlinable public var key: String { + get { jsObject[Strings.key].fromJSValue()! } + set { jsObject[Strings.key] = _toJSValue(newValue) } + } + @inlinable public var code: String { + get { jsObject[Strings.code].fromJSValue()! } + set { jsObject[Strings.code] = _toJSValue(newValue) } + } + @inlinable public var location: UInt32 { + get { jsObject[Strings.location].fromJSValue()! } + set { jsObject[Strings.location] = _toJSValue(newValue) } + } + @inlinable public var `repeat`: Bool { + get { jsObject[Strings.`repeat`].fromJSValue()! } + set { jsObject[Strings.`repeat`] = _toJSValue(newValue) } + } + @inlinable public var isComposing: Bool { + get { jsObject[Strings.isComposing].fromJSValue()! } + set { jsObject[Strings.isComposing] = _toJSValue(newValue) } + } + @inlinable public var charCode: UInt32 { + get { jsObject[Strings.charCode].fromJSValue()! } + set { jsObject[Strings.charCode] = _toJSValue(newValue) } + } + @inlinable public var keyCode: UInt32 { + get { jsObject[Strings.keyCode].fromJSValue()! } + set { jsObject[Strings.keyCode] = _toJSValue(newValue) } + } } - public enum LatencyMode: JSString, JSValueCompatible { case quality = "quality" case realtime = "realtime" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class Location: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Location].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _href = ReadWriteAttribute(jsObject: jsObject, name: Strings.href) - _origin = ReadonlyAttribute(jsObject: jsObject, name: Strings.origin) - _protocol = ReadWriteAttribute(jsObject: jsObject, name: Strings.protocol) - _host = ReadWriteAttribute(jsObject: jsObject, name: Strings.host) - _hostname = ReadWriteAttribute(jsObject: jsObject, name: Strings.hostname) - _port = ReadWriteAttribute(jsObject: jsObject, name: Strings.port) - _pathname = ReadWriteAttribute(jsObject: jsObject, name: Strings.pathname) - _search = ReadWriteAttribute(jsObject: jsObject, name: Strings.search) - _hash = ReadWriteAttribute(jsObject: jsObject, name: Strings.hash) - _ancestorOrigins = ReadonlyAttribute(jsObject: jsObject, name: Strings.ancestorOrigins) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadWriteAttribute - public var href: String + @inlinable public var href: String { + get { jsObject[Strings.href].fromJSValue()! } + set { jsObject[Strings.href] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var origin: String + @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } - @ReadWriteAttribute - public var `protocol`: String + @inlinable public var `protocol`: String { + get { jsObject[Strings.`protocol`].fromJSValue()! } + set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var host: String + @inlinable public var host: String { + get { jsObject[Strings.host].fromJSValue()! } + set { jsObject[Strings.host] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hostname: String + @inlinable public var hostname: String { + get { jsObject[Strings.hostname].fromJSValue()! } + set { jsObject[Strings.hostname] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var port: String + @inlinable public var port: String { + get { jsObject[Strings.port].fromJSValue()! } + set { jsObject[Strings.port] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var pathname: String + @inlinable public var pathname: String { + get { jsObject[Strings.pathname].fromJSValue()! } + set { jsObject[Strings.pathname] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var search: String + @inlinable public var search: String { + get { jsObject[Strings.search].fromJSValue()! } + set { jsObject[Strings.search] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var hash: String + @inlinable public var hash: String { + get { jsObject[Strings.hash].fromJSValue()! } + set { jsObject[Strings.hash] = _toJSValue(newValue) } + } - @inlinable public func assign(url: String) { + @inlinable final public func assign(url: String) { let this = jsObject _ = this[Strings.assign].function!(this: this, arguments: [_toJSValue(url)]) } - @inlinable public func replace(url: String) { + @inlinable final public func replace(url: String) { let this = jsObject _ = this[Strings.replace].function!(this: this, arguments: [_toJSValue(url)]) } - @inlinable public func reload() { + @inlinable final public func reload() { let this = jsObject _ = this[Strings.reload].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var ancestorOrigins: DOMStringList + @inlinable public var ancestorOrigins: DOMStringList { jsObject[Strings.ancestorOrigins].fromJSValue()! } } -public class MathMLElement: Element, GlobalEventHandlers, HTMLOrSVGElement { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MathMLElement].function } +public class ManagedMediaSource: MediaSource { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.ManagedMediaSource].function + } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable public var streaming: Bool { jsObject[Strings.streaming].fromJSValue()! } + + @inlinable public var onstartstreaming: EventHandler { + get { + guard let function = jsObject[Strings.onstartstreaming].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onstartstreaming] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onstartstreaming] = .null + } + } + } + + @inlinable public var onendstreaming: EventHandler { + get { + guard let function = jsObject[Strings.onendstreaming].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onendstreaming] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onendstreaming] = .null + } + } + } +} + +public class ManagedSourceBuffer: SourceBuffer { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.ManagedSourceBuffer].function + } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + @inlinable public var onbufferedchange: EventHandler { + get { + guard let function = jsObject[Strings.onbufferedchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onbufferedchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onbufferedchange] = .null + } + } } } +public class MathMLElement: Element, GlobalEventHandlers, HTMLOrSVGElement { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MathMLElement].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + +} + public class MediaDeviceInfo: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.MediaDeviceInfo].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _deviceId = ReadonlyAttribute(jsObject: jsObject, name: Strings.deviceId) - _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) - _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) - _groupId = ReadonlyAttribute(jsObject: jsObject, name: Strings.groupId) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var deviceId: String + @inlinable public var deviceId: String { jsObject[Strings.deviceId].fromJSValue()! } - @ReadonlyAttribute - public var kind: MediaDeviceKind + @inlinable public var kind: MediaDeviceKind { jsObject[Strings.kind].fromJSValue()! } - @ReadonlyAttribute - public var label: String + @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } - @ReadonlyAttribute - public var groupId: String + @inlinable public var groupId: String { jsObject[Strings.groupId].fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -10698,58 +12030,70 @@ public enum MediaDeviceKind: JSString, JSValueCompatible { case videoinput = "videoinput" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class MediaDevices: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaDevices].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaDevices].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - _ondevicechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondevicechange) - super.init(unsafelyWrapping: jsObject) + @inlinable public var ondevicechange: EventHandler { + get { + guard let function = jsObject[Strings.ondevicechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondevicechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondevicechange] = .null + } + } } - @ClosureAttribute1Optional - public var ondevicechange: EventHandler - - @inlinable public func enumerateDevices() -> JSPromise { + @inlinable final public func enumerateDevices() -> JSPromise { let this = jsObject return this[Strings.enumerateDevices].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func enumerateDevices() async throws -> [MediaDeviceInfo] { - let this = jsObject - let _promise: JSPromise = this[Strings.enumerateDevices].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func enumerateDevices() + async throws(JSException) -> [MediaDeviceInfo] + { + let this = jsObject + let _promise: JSPromise = this[Strings.enumerateDevices].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func getSupportedConstraints() -> MediaTrackSupportedConstraints { + @inlinable final public func getSupportedConstraints() -> MediaTrackSupportedConstraints { let this = jsObject return this[Strings.getSupportedConstraints].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getUserMedia(constraints: MediaStreamConstraints? = nil) -> JSPromise { + @inlinable final public func getUserMedia(constraints: MediaStreamConstraints? = nil) -> JSPromise { let this = jsObject return this[Strings.getUserMedia].function!(this: this, arguments: [_toJSValue(constraints)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func getUserMedia(constraints: MediaStreamConstraints? = nil) async throws -> MediaStream { - let this = jsObject - let _promise: JSPromise = this[Strings.getUserMedia].function!(this: this, arguments: [_toJSValue(constraints)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getUserMedia( + constraints: MediaStreamConstraints? = nil + ) async throws(JSException) -> MediaStream { + let this = jsObject + let _promise: JSPromise = this[Strings.getUserMedia].function!( + this: this, + arguments: [_toJSValue(constraints)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } public class MediaError: JSBridgedClass { @@ -10757,11 +12101,7 @@ public class MediaError: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _code = ReadonlyAttribute(jsObject: jsObject, name: Strings.code) - _message = ReadonlyAttribute(jsObject: jsObject, name: Strings.message) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } public static let MEDIA_ERR_ABORTED: UInt16 = 1 @@ -10771,164 +12111,217 @@ public class MediaError: JSBridgedClass { public static let MEDIA_ERR_SRC_NOT_SUPPORTED: UInt16 = 4 - @ReadonlyAttribute - public var code: UInt16 + @inlinable public var code: UInt16 { jsObject[Strings.code].fromJSValue()! } - @ReadonlyAttribute - public var message: String + @inlinable public var message: String { jsObject[Strings.message].fromJSValue()! } } public class MediaQueryList: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaQueryList].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaQueryList].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _media = ReadonlyAttribute(jsObject: jsObject, name: Strings.media) - _matches = ReadonlyAttribute(jsObject: jsObject, name: Strings.matches) - _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var media: String + @inlinable public var media: String { jsObject[Strings.media].fromJSValue()! } - @ReadonlyAttribute - public var matches: Bool + @inlinable public var matches: Bool { jsObject[Strings.matches].fromJSValue()! } - @inlinable public func addListener(callback: EventListener?) { + @inlinable final public func addListener(callback: EventListener?) { let this = jsObject _ = this[Strings.addListener].function!(this: this, arguments: [_toJSValue(callback)]) } - @inlinable public func removeListener(callback: EventListener?) { + @inlinable final public func removeListener(callback: EventListener?) { let this = jsObject _ = this[Strings.removeListener].function!(this: this, arguments: [_toJSValue(callback)]) } - @ClosureAttribute1Optional - public var onchange: EventHandler + @inlinable public var onchange: EventHandler { + get { + guard let function = jsObject[Strings.onchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onchange] = .null + } + } + } } public class MediaQueryListEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaQueryListEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _media = ReadonlyAttribute(jsObject: jsObject, name: Strings.media) - _matches = ReadonlyAttribute(jsObject: jsObject, name: Strings.matches) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.MediaQueryListEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: MediaQueryListEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var media: String + @inlinable public var media: String { jsObject[Strings.media].fromJSValue()! } - @ReadonlyAttribute - public var matches: Bool + @inlinable public var matches: Bool { jsObject[Strings.matches].fromJSValue()! } } -public class MediaQueryListEventInit: BridgedDictionary { - public convenience init(media: String, matches: Bool) { +open class MediaQueryListEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + media: String? = nil, + matches: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.media] = _toJSValue(media) object[Strings.matches] = _toJSValue(matches) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _media = ReadWriteAttribute(jsObject: object, name: Strings.media) - _matches = ReadWriteAttribute(jsObject: object, name: Strings.matches) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var media: String? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var matches: Bool? + @inlinable public var media: String { + get { jsObject[Strings.media].fromJSValue()! } + set { jsObject[Strings.media] = _toJSValue(newValue) } + } + @inlinable public var matches: Bool { + get { jsObject[Strings.matches].fromJSValue()! } + set { jsObject[Strings.matches] = _toJSValue(newValue) } + } } - public class MediaRecorder: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaRecorder].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _stream = ReadonlyAttribute(jsObject: jsObject, name: Strings.stream) - _mimeType = ReadonlyAttribute(jsObject: jsObject, name: Strings.mimeType) - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _onstart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstart) - _onstop = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstop) - _ondataavailable = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondataavailable) - _onpause = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onpause) - _onresume = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onresume) - _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) - _videoBitsPerSecond = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoBitsPerSecond) - _audioBitsPerSecond = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioBitsPerSecond) - _audioBitrateMode = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioBitrateMode) - super.init(unsafelyWrapping: jsObject) - } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaRecorder].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(stream: MediaStream, options: MediaRecorderOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream), _toJSValue(options)])) } - @ReadonlyAttribute - public var stream: MediaStream + @inlinable public var stream: MediaStream { jsObject[Strings.stream].fromJSValue()! } - @ReadonlyAttribute - public var mimeType: String + @inlinable public var mimeType: String { jsObject[Strings.mimeType].fromJSValue()! } - @ReadonlyAttribute - public var state: RecordingState + @inlinable public var state: RecordingState { jsObject[Strings.state].fromJSValue()! } - @ClosureAttribute1Optional - public var onstart: EventHandler + @inlinable public var onstart: EventHandler { + get { + guard let function = jsObject[Strings.onstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onstart] = .null + } + } + } - @ClosureAttribute1Optional - public var onstop: EventHandler + @inlinable public var onstop: EventHandler { + get { + guard let function = jsObject[Strings.onstop].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onstop] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onstop] = .null + } + } + } - @ClosureAttribute1Optional - public var ondataavailable: EventHandler + @inlinable public var ondataavailable: EventHandler { + get { + guard let function = jsObject[Strings.ondataavailable].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondataavailable] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondataavailable] = .null + } + } + } - @ClosureAttribute1Optional - public var onpause: EventHandler + @inlinable public var onpause: EventHandler { + get { + guard let function = jsObject[Strings.onpause].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpause] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpause] = .null + } + } + } - @ClosureAttribute1Optional - public var onresume: EventHandler + @inlinable public var onresume: EventHandler { + get { + guard let function = jsObject[Strings.onresume].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onresume] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onresume] = .null + } + } + } - @ClosureAttribute1Optional - public var onerror: EventHandler + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } - @ReadonlyAttribute - public var videoBitsPerSecond: UInt32 + @inlinable public var videoBitsPerSecond: UInt32 { jsObject[Strings.videoBitsPerSecond].fromJSValue()! } - @ReadonlyAttribute - public var audioBitsPerSecond: UInt32 + @inlinable public var audioBitsPerSecond: UInt32 { jsObject[Strings.audioBitsPerSecond].fromJSValue()! } - @ReadonlyAttribute - public var audioBitrateMode: BitrateMode + @inlinable public var audioBitrateMode: BitrateMode { jsObject[Strings.audioBitrateMode].fromJSValue()! } - @inlinable public func start(timeslice: UInt32? = nil) { + @inlinable final public func start(timeslice: UInt32? = nil) { let this = jsObject _ = this[Strings.start].function!(this: this, arguments: [_toJSValue(timeslice)]) } - @inlinable public func stop() { + @inlinable final public func stop() { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: []) } - @inlinable public func pause() { + @inlinable final public func pause() { let this = jsObject _ = this[Strings.pause].function!(this: this, arguments: []) } - @inlinable public func resume() { + @inlinable final public func resume() { let this = jsObject _ = this[Strings.resume].function!(this: this, arguments: []) } - @inlinable public func requestData() { + @inlinable final public func requestData() { let this = jsObject _ = this[Strings.requestData].function!(this: this, arguments: []) } @@ -10939,8 +12332,18 @@ public class MediaRecorder: EventTarget { } } -public class MediaRecorderOptions: BridgedDictionary { - public convenience init(mimeType: String, audioBitsPerSecond: UInt32, videoBitsPerSecond: UInt32, bitsPerSecond: UInt32, audioBitrateMode: BitrateMode, videoKeyFrameIntervalDuration: DOMHighResTimeStamp, videoKeyFrameIntervalCount: UInt32) { +open class MediaRecorderOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + mimeType: String? = nil, + audioBitsPerSecond: UInt32? = nil, + videoBitsPerSecond: UInt32? = nil, + bitsPerSecond: UInt32? = nil, + audioBitrateMode: BitrateMode? = nil, + videoKeyFrameIntervalDuration: DOMHighResTimeStamp? = nil, + videoKeyFrameIntervalCount: UInt32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.mimeType] = _toJSValue(mimeType) object[Strings.audioBitsPerSecond] = _toJSValue(audioBitsPerSecond) @@ -10949,110 +12352,128 @@ public class MediaRecorderOptions: BridgedDictionary { object[Strings.audioBitrateMode] = _toJSValue(audioBitrateMode) object[Strings.videoKeyFrameIntervalDuration] = _toJSValue(videoKeyFrameIntervalDuration) object[Strings.videoKeyFrameIntervalCount] = _toJSValue(videoKeyFrameIntervalCount) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _mimeType = ReadWriteAttribute(jsObject: object, name: Strings.mimeType) - _audioBitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.audioBitsPerSecond) - _videoBitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.videoBitsPerSecond) - _bitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.bitsPerSecond) - _audioBitrateMode = ReadWriteAttribute(jsObject: object, name: Strings.audioBitrateMode) - _videoKeyFrameIntervalDuration = ReadWriteAttribute(jsObject: object, name: Strings.videoKeyFrameIntervalDuration) - _videoKeyFrameIntervalCount = ReadWriteAttribute(jsObject: object, name: Strings.videoKeyFrameIntervalCount) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var mimeType: String? - - @ReadWriteAttribute - public var audioBitsPerSecond: UInt32? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var videoBitsPerSecond: UInt32? - - @ReadWriteAttribute - public var bitsPerSecond: UInt32? - - @ReadWriteAttribute - public var audioBitrateMode: BitrateMode? - - @ReadWriteAttribute - public var videoKeyFrameIntervalDuration: DOMHighResTimeStamp? - - @ReadWriteAttribute - public var videoKeyFrameIntervalCount: UInt32? + @inlinable public var mimeType: String { + get { jsObject[Strings.mimeType].fromJSValue()! } + set { jsObject[Strings.mimeType] = _toJSValue(newValue) } + } + @inlinable public var audioBitsPerSecond: UInt32 { + get { jsObject[Strings.audioBitsPerSecond].fromJSValue()! } + set { jsObject[Strings.audioBitsPerSecond] = _toJSValue(newValue) } + } + @inlinable public var videoBitsPerSecond: UInt32 { + get { jsObject[Strings.videoBitsPerSecond].fromJSValue()! } + set { jsObject[Strings.videoBitsPerSecond] = _toJSValue(newValue) } + } + @inlinable public var bitsPerSecond: UInt32 { + get { jsObject[Strings.bitsPerSecond].fromJSValue()! } + set { jsObject[Strings.bitsPerSecond] = _toJSValue(newValue) } + } + @inlinable public var audioBitrateMode: BitrateMode { + get { jsObject[Strings.audioBitrateMode].fromJSValue()! } + set { jsObject[Strings.audioBitrateMode] = _toJSValue(newValue) } + } + @inlinable public var videoKeyFrameIntervalDuration: DOMHighResTimeStamp { + get { jsObject[Strings.videoKeyFrameIntervalDuration].fromJSValue()! } + set { jsObject[Strings.videoKeyFrameIntervalDuration] = _toJSValue(newValue) } + } + @inlinable public var videoKeyFrameIntervalCount: UInt32 { + get { jsObject[Strings.videoKeyFrameIntervalCount].fromJSValue()! } + set { jsObject[Strings.videoKeyFrameIntervalCount] = _toJSValue(newValue) } + } } - public class MediaSource: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaSource].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaSource].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _handle = ReadonlyAttribute(jsObject: jsObject, name: Strings.handle) - _sourceBuffers = ReadonlyAttribute(jsObject: jsObject, name: Strings.sourceBuffers) - _activeSourceBuffers = ReadonlyAttribute(jsObject: jsObject, name: Strings.activeSourceBuffers) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _duration = ReadWriteAttribute(jsObject: jsObject, name: Strings.duration) - _onsourceopen = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onsourceopen) - _onsourceended = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onsourceended) - _onsourceclose = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onsourceclose) - _canConstructInDedicatedWorker = ReadonlyAttribute(jsObject: jsObject, name: Strings.canConstructInDedicatedWorker) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var handle: MediaSourceHandle + @inlinable public var handle: MediaSourceHandle { jsObject[Strings.handle].fromJSValue()! } - @ReadonlyAttribute - public var sourceBuffers: SourceBufferList + @inlinable public var sourceBuffers: SourceBufferList { jsObject[Strings.sourceBuffers].fromJSValue()! } - @ReadonlyAttribute - public var activeSourceBuffers: SourceBufferList + @inlinable public var activeSourceBuffers: SourceBufferList { jsObject[Strings.activeSourceBuffers].fromJSValue()! } - @ReadonlyAttribute - public var readyState: ReadyState + @inlinable public var readyState: ReadyState { jsObject[Strings.readyState].fromJSValue()! } - @ReadWriteAttribute - public var duration: Double + @inlinable public var duration: Double { + get { jsObject[Strings.duration].fromJSValue()! } + set { jsObject[Strings.duration] = _toJSValue(newValue) } + } - @ClosureAttribute1Optional - public var onsourceopen: EventHandler + @inlinable public var onsourceopen: EventHandler { + get { + guard let function = jsObject[Strings.onsourceopen].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onsourceopen] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onsourceopen] = .null + } + } + } - @ClosureAttribute1Optional - public var onsourceended: EventHandler + @inlinable public var onsourceended: EventHandler { + get { + guard let function = jsObject[Strings.onsourceended].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onsourceended] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onsourceended] = .null + } + } + } - @ClosureAttribute1Optional - public var onsourceclose: EventHandler + @inlinable public var onsourceclose: EventHandler { + get { + guard let function = jsObject[Strings.onsourceclose].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onsourceclose] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onsourceclose] = .null + } + } + } - @ReadonlyAttribute - public var canConstructInDedicatedWorker: Bool + @inlinable public var canConstructInDedicatedWorker: Bool { + jsObject[Strings.canConstructInDedicatedWorker].fromJSValue()! + } - @inlinable public func addSourceBuffer(type: String) -> SourceBuffer { + @inlinable final public func addSourceBuffer(type: String) -> SourceBuffer { let this = jsObject return this[Strings.addSourceBuffer].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @inlinable public func removeSourceBuffer(sourceBuffer: SourceBuffer) { + @inlinable final public func removeSourceBuffer(sourceBuffer: SourceBuffer) { let this = jsObject _ = this[Strings.removeSourceBuffer].function!(this: this, arguments: [_toJSValue(sourceBuffer)]) } - @inlinable public func endOfStream(error: EndOfStreamError? = nil) { + @inlinable final public func endOfStream(error: EndOfStreamError? = nil) { let this = jsObject _ = this[Strings.endOfStream].function!(this: this, arguments: [_toJSValue(error)]) } - @inlinable public func setLiveSeekableRange(start: Double, end: Double) { + @inlinable final public func setLiveSeekableRange(start: Double, end: Double) { let this = jsObject _ = this[Strings.setLiveSeekableRange].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end)]) } - @inlinable public func clearLiveSeekableRange() { + @inlinable final public func clearLiveSeekableRange() { let this = jsObject _ = this[Strings.clearLiveSeekableRange].function!(this: this, arguments: []) } @@ -11068,25 +12489,16 @@ public class MediaSourceHandle: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + } public class MediaStream: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaStream].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaStream].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _active = ReadonlyAttribute(jsObject: jsObject, name: Strings.active) - _onaddtrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddtrack) - _onremovetrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovetrack) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } @inlinable public convenience init(stream: MediaStream) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream)])) @@ -11096,208 +12508,274 @@ public class MediaStream: EventTarget { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(tracks)])) } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @inlinable public func getAudioTracks() -> [MediaStreamTrack] { + @inlinable final public func getAudioTracks() -> [MediaStreamTrack] { let this = jsObject return this[Strings.getAudioTracks].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getVideoTracks() -> [MediaStreamTrack] { + @inlinable final public func getVideoTracks() -> [MediaStreamTrack] { let this = jsObject return this[Strings.getVideoTracks].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getTracks() -> [MediaStreamTrack] { + @inlinable final public func getTracks() -> [MediaStreamTrack] { let this = jsObject return this[Strings.getTracks].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getTrackById(trackId: String) -> MediaStreamTrack? { + @inlinable final public func getTrackById(trackId: String) -> MediaStreamTrack? { let this = jsObject return this[Strings.getTrackById].function!(this: this, arguments: [_toJSValue(trackId)]).fromJSValue() } - @inlinable public func addTrack(track: MediaStreamTrack) { + @inlinable final public func addTrack(track: MediaStreamTrack) { let this = jsObject _ = this[Strings.addTrack].function!(this: this, arguments: [_toJSValue(track)]) } - @inlinable public func removeTrack(track: MediaStreamTrack) { + @inlinable final public func removeTrack(track: MediaStreamTrack) { let this = jsObject _ = this[Strings.removeTrack].function!(this: this, arguments: [_toJSValue(track)]) } - @inlinable public func clone() -> Self { + @inlinable final public func clone() -> MediaStream { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var active: Bool + @inlinable public var active: Bool { jsObject[Strings.active].fromJSValue()! } - @ClosureAttribute1Optional - public var onaddtrack: EventHandler + @inlinable public var onaddtrack: EventHandler { + get { + guard let function = jsObject[Strings.onaddtrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onaddtrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onaddtrack] = .null + } + } + } - @ClosureAttribute1Optional - public var onremovetrack: EventHandler + @inlinable public var onremovetrack: EventHandler { + get { + guard let function = jsObject[Strings.onremovetrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onremovetrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onremovetrack] = .null + } + } + } } -public class MediaStreamConstraints: BridgedDictionary { - public convenience init(video: Bool_or_MediaTrackConstraints, audio: Bool_or_MediaTrackConstraints) { +open class MediaStreamConstraints: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(video: Bool_or_MediaTrackConstraints? = nil, audio: Bool_or_MediaTrackConstraints? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.video] = _toJSValue(video) object[Strings.audio] = _toJSValue(audio) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _video = ReadWriteAttribute(jsObject: object, name: Strings.video) - _audio = ReadWriteAttribute(jsObject: object, name: Strings.audio) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var video: Bool_or_MediaTrackConstraints? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var audio: Bool_or_MediaTrackConstraints? + @inlinable public var video: Bool_or_MediaTrackConstraints { + get { jsObject[Strings.video].fromJSValue()! } + set { jsObject[Strings.video] = _toJSValue(newValue) } + } + @inlinable public var audio: Bool_or_MediaTrackConstraints { + get { jsObject[Strings.audio].fromJSValue()! } + set { jsObject[Strings.audio] = _toJSValue(newValue) } + } } - public class MediaStreamTrack: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaStreamTrack].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MediaStreamTrack].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) - _enabled = ReadWriteAttribute(jsObject: jsObject, name: Strings.enabled) - _muted = ReadonlyAttribute(jsObject: jsObject, name: Strings.muted) - _onmute = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmute) - _onunmute = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onunmute) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _onended = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onended) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var kind: String + @inlinable public var kind: String { jsObject[Strings.kind].fromJSValue()! } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var label: String + @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } - @ReadWriteAttribute - public var enabled: Bool + @inlinable public var enabled: Bool { + get { jsObject[Strings.enabled].fromJSValue()! } + set { jsObject[Strings.enabled] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var muted: Bool + @inlinable public var muted: Bool { jsObject[Strings.muted].fromJSValue()! } - @ClosureAttribute1Optional - public var onmute: EventHandler + @inlinable public var onmute: EventHandler { + get { + guard let function = jsObject[Strings.onmute].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmute] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmute] = .null + } + } + } - @ClosureAttribute1Optional - public var onunmute: EventHandler + @inlinable public var onunmute: EventHandler { + get { + guard let function = jsObject[Strings.onunmute].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onunmute] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onunmute] = .null + } + } + } - @ReadonlyAttribute - public var readyState: MediaStreamTrackState + @inlinable public var readyState: MediaStreamTrackState { jsObject[Strings.readyState].fromJSValue()! } - @ClosureAttribute1Optional - public var onended: EventHandler + @inlinable public var onended: EventHandler { + get { + guard let function = jsObject[Strings.onended].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onended] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onended] = .null + } + } + } - @inlinable public func clone() -> Self { + @inlinable final public func clone() -> MediaStreamTrack { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func stop() { + @inlinable final public func stop() { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: []) } - @inlinable public func getCapabilities() -> MediaTrackCapabilities { + @inlinable final public func getCapabilities() -> MediaTrackCapabilities { let this = jsObject return this[Strings.getCapabilities].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getConstraints() -> MediaTrackConstraints { + @inlinable final public func getConstraints() -> MediaTrackConstraints { let this = jsObject return this[Strings.getConstraints].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getSettings() -> MediaTrackSettings { + @inlinable final public func getSettings() -> MediaTrackSettings { let this = jsObject return this[Strings.getSettings].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func applyConstraints(constraints: MediaTrackConstraints? = nil) -> JSPromise { + @inlinable final public func applyConstraints(constraints: MediaTrackConstraints? = nil) -> JSPromise { let this = jsObject return this[Strings.applyConstraints].function!(this: this, arguments: [_toJSValue(constraints)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func applyConstraints(constraints: MediaTrackConstraints? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.applyConstraints].function!(this: this, arguments: [_toJSValue(constraints)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func applyConstraints( + constraints: MediaTrackConstraints? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.applyConstraints].function!( + this: this, + arguments: [_toJSValue(constraints)] + ).fromJSValue()! + _ = try await _promise.value + } + #endif } public class MediaStreamTrackEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MediaStreamTrackEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _track = ReadonlyAttribute(jsObject: jsObject, name: Strings.track) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.MediaStreamTrackEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: MediaStreamTrackEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var track: MediaStreamTrack + @inlinable public var track: MediaStreamTrack { jsObject[Strings.track].fromJSValue()! } } -public class MediaStreamTrackEventInit: BridgedDictionary { - public convenience init(track: MediaStreamTrack) { +open class MediaStreamTrackEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + track: MediaStreamTrack + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.track] = _toJSValue(track) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _track = ReadWriteAttribute(jsObject: object, name: Strings.track) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var track: MediaStreamTrack + @inlinable public var track: MediaStreamTrack { + get { jsObject[Strings.track].fromJSValue()! } + set { jsObject[Strings.track] = _toJSValue(newValue) } + } } - public enum MediaStreamTrackState: JSString, JSValueCompatible { case live = "live" case ended = "ended" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class MediaTrackCapabilities: JSDictionaryCompatible { + public let jsObject: JSObject -public class MediaTrackCapabilities: BridgedDictionary { - public convenience init(width: ULongRange, height: ULongRange, aspectRatio: DoubleRange, frameRate: DoubleRange, facingMode: [String], resizeMode: [String], sampleRate: ULongRange, sampleSize: ULongRange, echoCancellation: [Bool], autoGainControl: [Bool], noiseSuppression: [Bool], latency: DoubleRange, channelCount: ULongRange, deviceId: String, groupId: String) { + public convenience init( + width: ULongRange? = nil, + height: ULongRange? = nil, + aspectRatio: DoubleRange? = nil, + frameRate: DoubleRange? = nil, + facingMode: [String]? = nil, + resizeMode: [String]? = nil, + sampleRate: ULongRange? = nil, + sampleSize: ULongRange? = nil, + echoCancellation: [Bool]? = nil, + autoGainControl: [Bool]? = nil, + noiseSuppression: [Bool]? = nil, + latency: DoubleRange? = nil, + channelCount: ULongRange? = nil, + deviceId: String? = nil, + groupId: String? = nil, + backgroundBlur: [Bool]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) @@ -11314,76 +12792,99 @@ public class MediaTrackCapabilities: BridgedDictionary { object[Strings.channelCount] = _toJSValue(channelCount) object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.groupId] = _toJSValue(groupId) - self.init(unsafelyWrapping: object) - } + object[Strings.backgroundBlur] = _toJSValue(backgroundBlur) - public required init(unsafelyWrapping object: JSObject) { - _width = ReadWriteAttribute(jsObject: object, name: Strings.width) - _height = ReadWriteAttribute(jsObject: object, name: Strings.height) - _aspectRatio = ReadWriteAttribute(jsObject: object, name: Strings.aspectRatio) - _frameRate = ReadWriteAttribute(jsObject: object, name: Strings.frameRate) - _facingMode = ReadWriteAttribute(jsObject: object, name: Strings.facingMode) - _resizeMode = ReadWriteAttribute(jsObject: object, name: Strings.resizeMode) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _sampleSize = ReadWriteAttribute(jsObject: object, name: Strings.sampleSize) - _echoCancellation = ReadWriteAttribute(jsObject: object, name: Strings.echoCancellation) - _autoGainControl = ReadWriteAttribute(jsObject: object, name: Strings.autoGainControl) - _noiseSuppression = ReadWriteAttribute(jsObject: object, name: Strings.noiseSuppression) - _latency = ReadWriteAttribute(jsObject: object, name: Strings.latency) - _channelCount = ReadWriteAttribute(jsObject: object, name: Strings.channelCount) - _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) - _groupId = ReadWriteAttribute(jsObject: object, name: Strings.groupId) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var width: ULongRange? - - @ReadWriteAttribute - public var height: ULongRange? - - @ReadWriteAttribute - public var aspectRatio: DoubleRange? - - @ReadWriteAttribute - public var frameRate: DoubleRange? - - @ReadWriteAttribute - public var facingMode: [String]? - - @ReadWriteAttribute - public var resizeMode: [String]? - - @ReadWriteAttribute - public var sampleRate: ULongRange? - - @ReadWriteAttribute - public var sampleSize: ULongRange? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var echoCancellation: [Bool]? - - @ReadWriteAttribute - public var autoGainControl: [Bool]? - - @ReadWriteAttribute - public var noiseSuppression: [Bool]? - - @ReadWriteAttribute - public var latency: DoubleRange? - - @ReadWriteAttribute - public var channelCount: ULongRange? - - @ReadWriteAttribute - public var deviceId: String? - - @ReadWriteAttribute - public var groupId: String? + @inlinable public var width: ULongRange { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + @inlinable public var height: ULongRange { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } + @inlinable public var aspectRatio: DoubleRange { + get { jsObject[Strings.aspectRatio].fromJSValue()! } + set { jsObject[Strings.aspectRatio] = _toJSValue(newValue) } + } + @inlinable public var frameRate: DoubleRange { + get { jsObject[Strings.frameRate].fromJSValue()! } + set { jsObject[Strings.frameRate] = _toJSValue(newValue) } + } + @inlinable public var facingMode: [String] { + get { jsObject[Strings.facingMode].fromJSValue()! } + set { jsObject[Strings.facingMode] = _toJSValue(newValue) } + } + @inlinable public var resizeMode: [String] { + get { jsObject[Strings.resizeMode].fromJSValue()! } + set { jsObject[Strings.resizeMode] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: ULongRange { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var sampleSize: ULongRange { + get { jsObject[Strings.sampleSize].fromJSValue()! } + set { jsObject[Strings.sampleSize] = _toJSValue(newValue) } + } + @inlinable public var echoCancellation: [Bool] { + get { jsObject[Strings.echoCancellation].fromJSValue()! } + set { jsObject[Strings.echoCancellation] = _toJSValue(newValue) } + } + @inlinable public var autoGainControl: [Bool] { + get { jsObject[Strings.autoGainControl].fromJSValue()! } + set { jsObject[Strings.autoGainControl] = _toJSValue(newValue) } + } + @inlinable public var noiseSuppression: [Bool] { + get { jsObject[Strings.noiseSuppression].fromJSValue()! } + set { jsObject[Strings.noiseSuppression] = _toJSValue(newValue) } + } + @inlinable public var latency: DoubleRange { + get { jsObject[Strings.latency].fromJSValue()! } + set { jsObject[Strings.latency] = _toJSValue(newValue) } + } + @inlinable public var channelCount: ULongRange { + get { jsObject[Strings.channelCount].fromJSValue()! } + set { jsObject[Strings.channelCount] = _toJSValue(newValue) } + } + @inlinable public var deviceId: String { + get { jsObject[Strings.deviceId].fromJSValue()! } + set { jsObject[Strings.deviceId] = _toJSValue(newValue) } + } + @inlinable public var groupId: String { + get { jsObject[Strings.groupId].fromJSValue()! } + set { jsObject[Strings.groupId] = _toJSValue(newValue) } + } + @inlinable public var backgroundBlur: [Bool] { + get { jsObject[Strings.backgroundBlur].fromJSValue()! } + set { jsObject[Strings.backgroundBlur] = _toJSValue(newValue) } + } } +open class MediaTrackConstraintSet: JSDictionaryCompatible { + public let jsObject: JSObject -public class MediaTrackConstraintSet: BridgedDictionary { - public convenience init(width: ConstrainULong, height: ConstrainULong, aspectRatio: ConstrainDouble, frameRate: ConstrainDouble, facingMode: ConstrainDOMString, resizeMode: ConstrainDOMString, sampleRate: ConstrainULong, sampleSize: ConstrainULong, echoCancellation: ConstrainBoolean, autoGainControl: ConstrainBoolean, noiseSuppression: ConstrainBoolean, latency: ConstrainDouble, channelCount: ConstrainULong, deviceId: ConstrainDOMString, groupId: ConstrainDOMString) { + public convenience init( + width: ConstrainULong? = nil, + height: ConstrainULong? = nil, + aspectRatio: ConstrainDouble? = nil, + frameRate: ConstrainDouble? = nil, + facingMode: ConstrainDOMString? = nil, + resizeMode: ConstrainDOMString? = nil, + sampleRate: ConstrainULong? = nil, + sampleSize: ConstrainULong? = nil, + echoCancellation: ConstrainBoolean? = nil, + autoGainControl: ConstrainBoolean? = nil, + noiseSuppression: ConstrainBoolean? = nil, + latency: ConstrainDouble? = nil, + channelCount: ConstrainULong? = nil, + deviceId: ConstrainDOMString? = nil, + groupId: ConstrainDOMString? = nil, + backgroundBlur: ConstrainBoolean? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) @@ -11400,92 +12901,149 @@ public class MediaTrackConstraintSet: BridgedDictionary { object[Strings.channelCount] = _toJSValue(channelCount) object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.groupId] = _toJSValue(groupId) - self.init(unsafelyWrapping: object) - } + object[Strings.backgroundBlur] = _toJSValue(backgroundBlur) - public required init(unsafelyWrapping object: JSObject) { - _width = ReadWriteAttribute(jsObject: object, name: Strings.width) - _height = ReadWriteAttribute(jsObject: object, name: Strings.height) - _aspectRatio = ReadWriteAttribute(jsObject: object, name: Strings.aspectRatio) - _frameRate = ReadWriteAttribute(jsObject: object, name: Strings.frameRate) - _facingMode = ReadWriteAttribute(jsObject: object, name: Strings.facingMode) - _resizeMode = ReadWriteAttribute(jsObject: object, name: Strings.resizeMode) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _sampleSize = ReadWriteAttribute(jsObject: object, name: Strings.sampleSize) - _echoCancellation = ReadWriteAttribute(jsObject: object, name: Strings.echoCancellation) - _autoGainControl = ReadWriteAttribute(jsObject: object, name: Strings.autoGainControl) - _noiseSuppression = ReadWriteAttribute(jsObject: object, name: Strings.noiseSuppression) - _latency = ReadWriteAttribute(jsObject: object, name: Strings.latency) - _channelCount = ReadWriteAttribute(jsObject: object, name: Strings.channelCount) - _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) - _groupId = ReadWriteAttribute(jsObject: object, name: Strings.groupId) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var width: ConstrainULong? - - @ReadWriteAttribute - public var height: ConstrainULong? - - @ReadWriteAttribute - public var aspectRatio: ConstrainDouble? - - @ReadWriteAttribute - public var frameRate: ConstrainDouble? - - @ReadWriteAttribute - public var facingMode: ConstrainDOMString? - - @ReadWriteAttribute - public var resizeMode: ConstrainDOMString? - - @ReadWriteAttribute - public var sampleRate: ConstrainULong? - - @ReadWriteAttribute - public var sampleSize: ConstrainULong? - - @ReadWriteAttribute - public var echoCancellation: ConstrainBoolean? - - @ReadWriteAttribute - public var autoGainControl: ConstrainBoolean? - - @ReadWriteAttribute - public var noiseSuppression: ConstrainBoolean? - - @ReadWriteAttribute - public var latency: ConstrainDouble? - - @ReadWriteAttribute - public var channelCount: ConstrainULong? - - @ReadWriteAttribute - public var deviceId: ConstrainDOMString? - - @ReadWriteAttribute - public var groupId: ConstrainDOMString? -} - -public class MediaTrackConstraints: BridgedDictionary { - public convenience init(advanced: [MediaTrackConstraintSet]) { + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var width: ConstrainULong { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + @inlinable public var height: ConstrainULong { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } + @inlinable public var aspectRatio: ConstrainDouble { + get { jsObject[Strings.aspectRatio].fromJSValue()! } + set { jsObject[Strings.aspectRatio] = _toJSValue(newValue) } + } + @inlinable public var frameRate: ConstrainDouble { + get { jsObject[Strings.frameRate].fromJSValue()! } + set { jsObject[Strings.frameRate] = _toJSValue(newValue) } + } + @inlinable public var facingMode: ConstrainDOMString { + get { jsObject[Strings.facingMode].fromJSValue()! } + set { jsObject[Strings.facingMode] = _toJSValue(newValue) } + } + @inlinable public var resizeMode: ConstrainDOMString { + get { jsObject[Strings.resizeMode].fromJSValue()! } + set { jsObject[Strings.resizeMode] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: ConstrainULong { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var sampleSize: ConstrainULong { + get { jsObject[Strings.sampleSize].fromJSValue()! } + set { jsObject[Strings.sampleSize] = _toJSValue(newValue) } + } + @inlinable public var echoCancellation: ConstrainBoolean { + get { jsObject[Strings.echoCancellation].fromJSValue()! } + set { jsObject[Strings.echoCancellation] = _toJSValue(newValue) } + } + @inlinable public var autoGainControl: ConstrainBoolean { + get { jsObject[Strings.autoGainControl].fromJSValue()! } + set { jsObject[Strings.autoGainControl] = _toJSValue(newValue) } + } + @inlinable public var noiseSuppression: ConstrainBoolean { + get { jsObject[Strings.noiseSuppression].fromJSValue()! } + set { jsObject[Strings.noiseSuppression] = _toJSValue(newValue) } + } + @inlinable public var latency: ConstrainDouble { + get { jsObject[Strings.latency].fromJSValue()! } + set { jsObject[Strings.latency] = _toJSValue(newValue) } + } + @inlinable public var channelCount: ConstrainULong { + get { jsObject[Strings.channelCount].fromJSValue()! } + set { jsObject[Strings.channelCount] = _toJSValue(newValue) } + } + @inlinable public var deviceId: ConstrainDOMString { + get { jsObject[Strings.deviceId].fromJSValue()! } + set { jsObject[Strings.deviceId] = _toJSValue(newValue) } + } + @inlinable public var groupId: ConstrainDOMString { + get { jsObject[Strings.groupId].fromJSValue()! } + set { jsObject[Strings.groupId] = _toJSValue(newValue) } + } + @inlinable public var backgroundBlur: ConstrainBoolean { + get { jsObject[Strings.backgroundBlur].fromJSValue()! } + set { jsObject[Strings.backgroundBlur] = _toJSValue(newValue) } + } +} +open class MediaTrackConstraints: MediaTrackConstraintSet { + + public convenience init( + width: ConstrainULong? = nil, + height: ConstrainULong? = nil, + aspectRatio: ConstrainDouble? = nil, + frameRate: ConstrainDouble? = nil, + facingMode: ConstrainDOMString? = nil, + resizeMode: ConstrainDOMString? = nil, + sampleRate: ConstrainULong? = nil, + sampleSize: ConstrainULong? = nil, + echoCancellation: ConstrainBoolean? = nil, + autoGainControl: ConstrainBoolean? = nil, + noiseSuppression: ConstrainBoolean? = nil, + latency: ConstrainDouble? = nil, + channelCount: ConstrainULong? = nil, + deviceId: ConstrainDOMString? = nil, + groupId: ConstrainDOMString? = nil, + backgroundBlur: ConstrainBoolean? = nil, + advanced: [MediaTrackConstraintSet]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.width] = _toJSValue(width) + object[Strings.height] = _toJSValue(height) + object[Strings.aspectRatio] = _toJSValue(aspectRatio) + object[Strings.frameRate] = _toJSValue(frameRate) + object[Strings.facingMode] = _toJSValue(facingMode) + object[Strings.resizeMode] = _toJSValue(resizeMode) + object[Strings.sampleRate] = _toJSValue(sampleRate) + object[Strings.sampleSize] = _toJSValue(sampleSize) + object[Strings.echoCancellation] = _toJSValue(echoCancellation) + object[Strings.autoGainControl] = _toJSValue(autoGainControl) + object[Strings.noiseSuppression] = _toJSValue(noiseSuppression) + object[Strings.latency] = _toJSValue(latency) + object[Strings.channelCount] = _toJSValue(channelCount) + object[Strings.deviceId] = _toJSValue(deviceId) + object[Strings.groupId] = _toJSValue(groupId) + object[Strings.backgroundBlur] = _toJSValue(backgroundBlur) object[Strings.advanced] = _toJSValue(advanced) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _advanced = ReadWriteAttribute(jsObject: object, name: Strings.advanced) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var advanced: [MediaTrackConstraintSet]? + @inlinable public var advanced: [MediaTrackConstraintSet] { + get { jsObject[Strings.advanced].fromJSValue()! } + set { jsObject[Strings.advanced] = _toJSValue(newValue) } + } } +open class MediaTrackSettings: JSDictionaryCompatible { + public let jsObject: JSObject -public class MediaTrackSettings: BridgedDictionary { - public convenience init(width: UInt32, height: UInt32, aspectRatio: Double, frameRate: Double, facingMode: String, resizeMode: String, sampleRate: UInt32, sampleSize: UInt32, echoCancellation: Bool, autoGainControl: Bool, noiseSuppression: Bool, latency: Double, channelCount: UInt32, deviceId: String, groupId: String) { + public convenience init( + width: UInt32? = nil, + height: UInt32? = nil, + aspectRatio: Double? = nil, + frameRate: Double? = nil, + facingMode: String? = nil, + resizeMode: String? = nil, + sampleRate: UInt32? = nil, + sampleSize: UInt32? = nil, + echoCancellation: Bool? = nil, + autoGainControl: Bool? = nil, + noiseSuppression: Bool? = nil, + latency: Double? = nil, + channelCount: UInt32? = nil, + deviceId: String? = nil, + groupId: String? = nil, + backgroundBlur: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) @@ -11502,76 +13060,99 @@ public class MediaTrackSettings: BridgedDictionary { object[Strings.channelCount] = _toJSValue(channelCount) object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.groupId] = _toJSValue(groupId) - self.init(unsafelyWrapping: object) - } + object[Strings.backgroundBlur] = _toJSValue(backgroundBlur) - public required init(unsafelyWrapping object: JSObject) { - _width = ReadWriteAttribute(jsObject: object, name: Strings.width) - _height = ReadWriteAttribute(jsObject: object, name: Strings.height) - _aspectRatio = ReadWriteAttribute(jsObject: object, name: Strings.aspectRatio) - _frameRate = ReadWriteAttribute(jsObject: object, name: Strings.frameRate) - _facingMode = ReadWriteAttribute(jsObject: object, name: Strings.facingMode) - _resizeMode = ReadWriteAttribute(jsObject: object, name: Strings.resizeMode) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _sampleSize = ReadWriteAttribute(jsObject: object, name: Strings.sampleSize) - _echoCancellation = ReadWriteAttribute(jsObject: object, name: Strings.echoCancellation) - _autoGainControl = ReadWriteAttribute(jsObject: object, name: Strings.autoGainControl) - _noiseSuppression = ReadWriteAttribute(jsObject: object, name: Strings.noiseSuppression) - _latency = ReadWriteAttribute(jsObject: object, name: Strings.latency) - _channelCount = ReadWriteAttribute(jsObject: object, name: Strings.channelCount) - _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) - _groupId = ReadWriteAttribute(jsObject: object, name: Strings.groupId) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var width: UInt32? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var height: UInt32? - - @ReadWriteAttribute - public var aspectRatio: Double? - - @ReadWriteAttribute - public var frameRate: Double? - - @ReadWriteAttribute - public var facingMode: String? - - @ReadWriteAttribute - public var resizeMode: String? - - @ReadWriteAttribute - public var sampleRate: UInt32? - - @ReadWriteAttribute - public var sampleSize: UInt32? - - @ReadWriteAttribute - public var echoCancellation: Bool? - - @ReadWriteAttribute - public var autoGainControl: Bool? - - @ReadWriteAttribute - public var noiseSuppression: Bool? - - @ReadWriteAttribute - public var latency: Double? - - @ReadWriteAttribute - public var channelCount: UInt32? - - @ReadWriteAttribute - public var deviceId: String? - - @ReadWriteAttribute - public var groupId: String? + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } + @inlinable public var aspectRatio: Double { + get { jsObject[Strings.aspectRatio].fromJSValue()! } + set { jsObject[Strings.aspectRatio] = _toJSValue(newValue) } + } + @inlinable public var frameRate: Double { + get { jsObject[Strings.frameRate].fromJSValue()! } + set { jsObject[Strings.frameRate] = _toJSValue(newValue) } + } + @inlinable public var facingMode: String { + get { jsObject[Strings.facingMode].fromJSValue()! } + set { jsObject[Strings.facingMode] = _toJSValue(newValue) } + } + @inlinable public var resizeMode: String { + get { jsObject[Strings.resizeMode].fromJSValue()! } + set { jsObject[Strings.resizeMode] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: UInt32 { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var sampleSize: UInt32 { + get { jsObject[Strings.sampleSize].fromJSValue()! } + set { jsObject[Strings.sampleSize] = _toJSValue(newValue) } + } + @inlinable public var echoCancellation: Bool { + get { jsObject[Strings.echoCancellation].fromJSValue()! } + set { jsObject[Strings.echoCancellation] = _toJSValue(newValue) } + } + @inlinable public var autoGainControl: Bool { + get { jsObject[Strings.autoGainControl].fromJSValue()! } + set { jsObject[Strings.autoGainControl] = _toJSValue(newValue) } + } + @inlinable public var noiseSuppression: Bool { + get { jsObject[Strings.noiseSuppression].fromJSValue()! } + set { jsObject[Strings.noiseSuppression] = _toJSValue(newValue) } + } + @inlinable public var latency: Double { + get { jsObject[Strings.latency].fromJSValue()! } + set { jsObject[Strings.latency] = _toJSValue(newValue) } + } + @inlinable public var channelCount: UInt32 { + get { jsObject[Strings.channelCount].fromJSValue()! } + set { jsObject[Strings.channelCount] = _toJSValue(newValue) } + } + @inlinable public var deviceId: String { + get { jsObject[Strings.deviceId].fromJSValue()! } + set { jsObject[Strings.deviceId] = _toJSValue(newValue) } + } + @inlinable public var groupId: String { + get { jsObject[Strings.groupId].fromJSValue()! } + set { jsObject[Strings.groupId] = _toJSValue(newValue) } + } + @inlinable public var backgroundBlur: Bool { + get { jsObject[Strings.backgroundBlur].fromJSValue()! } + set { jsObject[Strings.backgroundBlur] = _toJSValue(newValue) } + } } +open class MediaTrackSupportedConstraints: JSDictionaryCompatible { + public let jsObject: JSObject -public class MediaTrackSupportedConstraints: BridgedDictionary { - public convenience init(width: Bool, height: Bool, aspectRatio: Bool, frameRate: Bool, facingMode: Bool, resizeMode: Bool, sampleRate: Bool, sampleSize: Bool, echoCancellation: Bool, autoGainControl: Bool, noiseSuppression: Bool, latency: Bool, channelCount: Bool, deviceId: Bool, groupId: Bool) { + public convenience init( + width: Bool? = nil, + height: Bool? = nil, + aspectRatio: Bool? = nil, + frameRate: Bool? = nil, + facingMode: Bool? = nil, + resizeMode: Bool? = nil, + sampleRate: Bool? = nil, + sampleSize: Bool? = nil, + echoCancellation: Bool? = nil, + autoGainControl: Bool? = nil, + noiseSuppression: Bool? = nil, + latency: Bool? = nil, + channelCount: Bool? = nil, + deviceId: Bool? = nil, + groupId: Bool? = nil, + backgroundBlur: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.width] = _toJSValue(width) object[Strings.height] = _toJSValue(height) @@ -11588,203 +13169,248 @@ public class MediaTrackSupportedConstraints: BridgedDictionary { object[Strings.channelCount] = _toJSValue(channelCount) object[Strings.deviceId] = _toJSValue(deviceId) object[Strings.groupId] = _toJSValue(groupId) + object[Strings.backgroundBlur] = _toJSValue(backgroundBlur) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _width = ReadWriteAttribute(jsObject: object, name: Strings.width) - _height = ReadWriteAttribute(jsObject: object, name: Strings.height) - _aspectRatio = ReadWriteAttribute(jsObject: object, name: Strings.aspectRatio) - _frameRate = ReadWriteAttribute(jsObject: object, name: Strings.frameRate) - _facingMode = ReadWriteAttribute(jsObject: object, name: Strings.facingMode) - _resizeMode = ReadWriteAttribute(jsObject: object, name: Strings.resizeMode) - _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) - _sampleSize = ReadWriteAttribute(jsObject: object, name: Strings.sampleSize) - _echoCancellation = ReadWriteAttribute(jsObject: object, name: Strings.echoCancellation) - _autoGainControl = ReadWriteAttribute(jsObject: object, name: Strings.autoGainControl) - _noiseSuppression = ReadWriteAttribute(jsObject: object, name: Strings.noiseSuppression) - _latency = ReadWriteAttribute(jsObject: object, name: Strings.latency) - _channelCount = ReadWriteAttribute(jsObject: object, name: Strings.channelCount) - _deviceId = ReadWriteAttribute(jsObject: object, name: Strings.deviceId) - _groupId = ReadWriteAttribute(jsObject: object, name: Strings.groupId) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var width: Bool? - - @ReadWriteAttribute - public var height: Bool? - - @ReadWriteAttribute - public var aspectRatio: Bool? - - @ReadWriteAttribute - public var frameRate: Bool? - - @ReadWriteAttribute - public var facingMode: Bool? - - @ReadWriteAttribute - public var resizeMode: Bool? - - @ReadWriteAttribute - public var sampleRate: Bool? - - @ReadWriteAttribute - public var sampleSize: Bool? - - @ReadWriteAttribute - public var echoCancellation: Bool? - - @ReadWriteAttribute - public var autoGainControl: Bool? - - @ReadWriteAttribute - public var noiseSuppression: Bool? - - @ReadWriteAttribute - public var latency: Bool? - - @ReadWriteAttribute - public var channelCount: Bool? - - @ReadWriteAttribute - public var deviceId: Bool? - - @ReadWriteAttribute - public var groupId: Bool? + @inlinable public var width: Bool { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + @inlinable public var height: Bool { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } + @inlinable public var aspectRatio: Bool { + get { jsObject[Strings.aspectRatio].fromJSValue()! } + set { jsObject[Strings.aspectRatio] = _toJSValue(newValue) } + } + @inlinable public var frameRate: Bool { + get { jsObject[Strings.frameRate].fromJSValue()! } + set { jsObject[Strings.frameRate] = _toJSValue(newValue) } + } + @inlinable public var facingMode: Bool { + get { jsObject[Strings.facingMode].fromJSValue()! } + set { jsObject[Strings.facingMode] = _toJSValue(newValue) } + } + @inlinable public var resizeMode: Bool { + get { jsObject[Strings.resizeMode].fromJSValue()! } + set { jsObject[Strings.resizeMode] = _toJSValue(newValue) } + } + @inlinable public var sampleRate: Bool { + get { jsObject[Strings.sampleRate].fromJSValue()! } + set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } + } + @inlinable public var sampleSize: Bool { + get { jsObject[Strings.sampleSize].fromJSValue()! } + set { jsObject[Strings.sampleSize] = _toJSValue(newValue) } + } + @inlinable public var echoCancellation: Bool { + get { jsObject[Strings.echoCancellation].fromJSValue()! } + set { jsObject[Strings.echoCancellation] = _toJSValue(newValue) } + } + @inlinable public var autoGainControl: Bool { + get { jsObject[Strings.autoGainControl].fromJSValue()! } + set { jsObject[Strings.autoGainControl] = _toJSValue(newValue) } + } + @inlinable public var noiseSuppression: Bool { + get { jsObject[Strings.noiseSuppression].fromJSValue()! } + set { jsObject[Strings.noiseSuppression] = _toJSValue(newValue) } + } + @inlinable public var latency: Bool { + get { jsObject[Strings.latency].fromJSValue()! } + set { jsObject[Strings.latency] = _toJSValue(newValue) } + } + @inlinable public var channelCount: Bool { + get { jsObject[Strings.channelCount].fromJSValue()! } + set { jsObject[Strings.channelCount] = _toJSValue(newValue) } + } + @inlinable public var deviceId: Bool { + get { jsObject[Strings.deviceId].fromJSValue()! } + set { jsObject[Strings.deviceId] = _toJSValue(newValue) } + } + @inlinable public var groupId: Bool { + get { jsObject[Strings.groupId].fromJSValue()! } + set { jsObject[Strings.groupId] = _toJSValue(newValue) } + } + @inlinable public var backgroundBlur: Bool { + get { jsObject[Strings.backgroundBlur].fromJSValue()! } + set { jsObject[Strings.backgroundBlur] = _toJSValue(newValue) } + } } - public class MessageChannel: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.MessageChannel].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _port1 = ReadonlyAttribute(jsObject: jsObject, name: Strings.port1) - _port2 = ReadonlyAttribute(jsObject: jsObject, name: Strings.port2) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var port1: MessagePort + @inlinable public var port1: MessagePort { jsObject[Strings.port1].fromJSValue()! } - @ReadonlyAttribute - public var port2: MessagePort + @inlinable public var port2: MessagePort { jsObject[Strings.port2].fromJSValue()! } } public class MessageEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MessageEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MessageEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data) - _origin = ReadonlyAttribute(jsObject: jsObject, name: Strings.origin) - _lastEventId = ReadonlyAttribute(jsObject: jsObject, name: Strings.lastEventId) - _source = ReadonlyAttribute(jsObject: jsObject, name: Strings.source) - _ports = ReadonlyAttribute(jsObject: jsObject, name: Strings.ports) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: MessageEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var data: JSValue + @inlinable public var data: JSValue { jsObject[Strings.data].fromJSValue()! } - @ReadonlyAttribute - public var origin: String + @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } - @ReadonlyAttribute - public var lastEventId: String + @inlinable public var lastEventId: String { jsObject[Strings.lastEventId].fromJSValue()! } - @ReadonlyAttribute - public var source: MessageEventSource? + @inlinable public var source: MessageEventSource? { jsObject[Strings.source].fromJSValue() } - @ReadonlyAttribute - public var ports: [MessagePort] + @inlinable public var ports: [MessagePort] { jsObject[Strings.ports].fromJSValue()! } - @inlinable public func initMessageEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil, data: JSValue? = nil, origin: String? = nil, lastEventId: String? = nil, source: MessageEventSource? = nil, ports: [MessagePort]? = nil) { + @inlinable final public func initMessageEvent( + type: String, + bubbles: Bool? = nil, + cancelable: Bool? = nil, + data: JSValue? = nil, + origin: String? = nil, + lastEventId: String? = nil, + source: MessageEventSource? = nil, + ports: [MessagePort]? = nil + ) { let this = jsObject - _ = this[Strings.initMessageEvent].function!(this: this, arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(data), _toJSValue(origin), _toJSValue(lastEventId), _toJSValue(source), _toJSValue(ports)]) + _ = this[Strings.initMessageEvent].function!( + this: this, + arguments: [ + _toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(data), _toJSValue(origin), + _toJSValue(lastEventId), _toJSValue(source), _toJSValue(ports), + ] + ) } } -public class MessageEventInit: BridgedDictionary { - public convenience init(data: JSValue, origin: String, lastEventId: String, source: MessageEventSource?, ports: [MessagePort]) { +open class MessageEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + data: JSValue? = nil, + origin: String? = nil, + lastEventId: String? = nil, + source: MessageEventSource?, + ports: [MessagePort]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.data] = _toJSValue(data) object[Strings.origin] = _toJSValue(origin) object[Strings.lastEventId] = _toJSValue(lastEventId) object[Strings.source] = _toJSValue(source) object[Strings.ports] = _toJSValue(ports) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _data = ReadWriteAttribute(jsObject: object, name: Strings.data) - _origin = ReadWriteAttribute(jsObject: object, name: Strings.origin) - _lastEventId = ReadWriteAttribute(jsObject: object, name: Strings.lastEventId) - _source = ReadWriteAttribute(jsObject: object, name: Strings.source) - _ports = ReadWriteAttribute(jsObject: object, name: Strings.ports) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var data: JSValue? - - @ReadWriteAttribute - public var origin: String? - - @ReadWriteAttribute - public var lastEventId: String? - - @ReadWriteAttribute - public var source: MessageEventSource? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var ports: [MessagePort]? + @inlinable public var data: JSValue { + get { jsObject[Strings.data].fromJSValue()! } + set { jsObject[Strings.data] = _toJSValue(newValue) } + } + @inlinable public var origin: String { + get { jsObject[Strings.origin].fromJSValue()! } + set { jsObject[Strings.origin] = _toJSValue(newValue) } + } + @inlinable public var lastEventId: String { + get { jsObject[Strings.lastEventId].fromJSValue()! } + set { jsObject[Strings.lastEventId] = _toJSValue(newValue) } + } + @inlinable public var source: MessageEventSource? { + get { jsObject[Strings.source].fromJSValue() } + set { jsObject[Strings.source] = _toJSValue(newValue) } + } + @inlinable public var ports: [MessagePort] { + get { jsObject[Strings.ports].fromJSValue()! } + set { jsObject[Strings.ports] = _toJSValue(newValue) } + } } +public protocol MessageEventTarget: JSBridgedClass {} +extension MessageEventTarget { + @inlinable public var onmessage: EventHandler { + get { + guard let function = jsObject[Strings.onmessage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessage] = .null + } + } + } -public class MessagePort: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MessagePort].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) - _onmessageerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessageerror) - super.init(unsafelyWrapping: jsObject) + @inlinable public var onmessageerror: EventHandler { + get { + guard let function = jsObject[Strings.onmessageerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessageerror] = .null + } + } } +} +public class MessagePort: EventTarget, MessageEventTarget { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MessagePort].function } - @inlinable public func postMessage(message: JSValue, transfer: [JSObject]) { + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable final public func postMessage(message: JSValue, transfer: [JSObject]) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(transfer)]) } - @inlinable public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { + @inlinable final public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(options)]) } - @inlinable public func start() { + @inlinable final public func start() { let this = jsObject _ = this[Strings.start].function!(this: this, arguments: []) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @ClosureAttribute1Optional - public var onmessage: EventHandler - - @ClosureAttribute1Optional - public var onmessageerror: EventHandler + @inlinable public var onclose: EventHandler { + get { + guard let function = jsObject[Strings.onclose].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onclose] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onclose] = .null + } + } + } } public class MimeType: JSBridgedClass { @@ -11792,25 +13418,15 @@ public class MimeType: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _description = ReadonlyAttribute(jsObject: jsObject, name: Strings.description) - _suffixes = ReadonlyAttribute(jsObject: jsObject, name: Strings.suffixes) - _enabledPlugin = ReadonlyAttribute(jsObject: jsObject, name: Strings.enabledPlugin) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var description: String + @inlinable public var description: String { jsObject[Strings.description].fromJSValue()! } - @ReadonlyAttribute - public var suffixes: String + @inlinable public var suffixes: String { jsObject[Strings.suffixes].fromJSValue()! } - @ReadonlyAttribute - public var enabledPlugin: Plugin + @inlinable public var enabledPlugin: Plugin { jsObject[Strings.enabledPlugin].fromJSValue()! } } public class MimeTypeArray: JSBridgedClass { @@ -11818,126 +13434,147 @@ public class MimeTypeArray: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> MimeType? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> MimeType? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> MimeType? { + @inlinable final public func item(index: UInt32) -> MimeType? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> MimeType? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: String) -> MimeType? { jsObject[key].fromJSValue() } - @inlinable public func namedItem(name: String) -> MimeType? { + @inlinable final public func namedItem(name: String) -> MimeType? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } } public class MouseEvent: UIEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MouseEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _screenX = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenX) - _screenY = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenY) - _clientX = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientX) - _clientY = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientY) - _ctrlKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.ctrlKey) - _shiftKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.shiftKey) - _altKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.altKey) - _metaKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.metaKey) - _button = ReadonlyAttribute(jsObject: jsObject, name: Strings.button) - _buttons = ReadonlyAttribute(jsObject: jsObject, name: Strings.buttons) - _relatedTarget = ReadonlyAttribute(jsObject: jsObject, name: Strings.relatedTarget) - _pageX = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageX) - _pageY = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageY) - _x = ReadonlyAttribute(jsObject: jsObject, name: Strings.x) - _y = ReadonlyAttribute(jsObject: jsObject, name: Strings.y) - _offsetX = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetX) - _offsetY = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetY) - super.init(unsafelyWrapping: jsObject) - } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.MouseEvent].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: MouseEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var screenX: Int32 + @inlinable public var screenX: Int32 { jsObject[Strings.screenX].fromJSValue()! } - @ReadonlyAttribute - public var screenY: Int32 + @inlinable public var screenY: Int32 { jsObject[Strings.screenY].fromJSValue()! } - @ReadonlyAttribute - public var clientX: Int32 + @inlinable public var clientX: Int32 { jsObject[Strings.clientX].fromJSValue()! } - @ReadonlyAttribute - public var clientY: Int32 + @inlinable public var clientY: Int32 { jsObject[Strings.clientY].fromJSValue()! } - @ReadonlyAttribute - public var ctrlKey: Bool + @inlinable public var layerX: Int32 { jsObject[Strings.layerX].fromJSValue()! } - @ReadonlyAttribute - public var shiftKey: Bool + @inlinable public var layerY: Int32 { jsObject[Strings.layerY].fromJSValue()! } - @ReadonlyAttribute - public var altKey: Bool + @inlinable public var ctrlKey: Bool { jsObject[Strings.ctrlKey].fromJSValue()! } - @ReadonlyAttribute - public var metaKey: Bool + @inlinable public var shiftKey: Bool { jsObject[Strings.shiftKey].fromJSValue()! } - @ReadonlyAttribute - public var button: Int16 + @inlinable public var altKey: Bool { jsObject[Strings.altKey].fromJSValue()! } - @ReadonlyAttribute - public var buttons: UInt16 + @inlinable public var metaKey: Bool { jsObject[Strings.metaKey].fromJSValue()! } - @ReadonlyAttribute - public var relatedTarget: EventTarget? + @inlinable public var button: Int16 { jsObject[Strings.button].fromJSValue()! } - @inlinable public func getModifierState(keyArg: String) -> Bool { - let this = jsObject - return this[Strings.getModifierState].function!(this: this, arguments: [_toJSValue(keyArg)]).fromJSValue()! - } + @inlinable public var buttons: UInt16 { jsObject[Strings.buttons].fromJSValue()! } - @inlinable public func initMouseEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, viewArg: Window? = nil, detailArg: Int32? = nil, screenXArg: Int32? = nil, screenYArg: Int32? = nil, clientXArg: Int32? = nil, clientYArg: Int32? = nil, ctrlKeyArg: Bool? = nil, altKeyArg: Bool? = nil, shiftKeyArg: Bool? = nil, metaKeyArg: Bool? = nil, buttonArg: Int16? = nil, relatedTargetArg: EventTarget? = nil) { + @inlinable public var relatedTarget: EventTarget? { jsObject[Strings.relatedTarget].fromJSValue() } + + @inlinable final public func getModifierState(keyArg: String) -> Bool { let this = jsObject - _ = this[Strings.initMouseEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), _toJSValue(detailArg), _toJSValue(screenXArg), _toJSValue(screenYArg), _toJSValue(clientXArg), _toJSValue(clientYArg), _toJSValue(ctrlKeyArg), _toJSValue(altKeyArg), _toJSValue(shiftKeyArg), _toJSValue(metaKeyArg), _toJSValue(buttonArg), _toJSValue(relatedTargetArg)]) + return this[Strings.getModifierState].function!(this: this, arguments: [_toJSValue(keyArg)]).fromJSValue()! } - @ReadonlyAttribute - public var pageX: Double - - @ReadonlyAttribute - public var pageY: Double - - @ReadonlyAttribute - public var x: Double - - @ReadonlyAttribute - public var y: Double - - @ReadonlyAttribute - public var offsetX: Double - - @ReadonlyAttribute - public var offsetY: Double -} - -public class MouseEventInit: BridgedDictionary { - public convenience init(screenX: Int32, screenY: Int32, clientX: Int32, clientY: Int32, button: Int16, buttons: UInt16, relatedTarget: EventTarget?) { + @inlinable final public func initMouseEvent( + typeArg: String, + bubblesArg: Bool? = nil, + cancelableArg: Bool? = nil, + viewArg: Window? = nil, + detailArg: Int32? = nil, + screenXArg: Int32? = nil, + screenYArg: Int32? = nil, + clientXArg: Int32? = nil, + clientYArg: Int32? = nil, + ctrlKeyArg: Bool? = nil, + altKeyArg: Bool? = nil, + shiftKeyArg: Bool? = nil, + metaKeyArg: Bool? = nil, + buttonArg: Int16? = nil, + relatedTargetArg: EventTarget? = nil + ) { + let this = jsObject + _ = this[Strings.initMouseEvent].function!( + this: this, + arguments: [ + _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), + _toJSValue(detailArg), _toJSValue(screenXArg), _toJSValue(screenYArg), _toJSValue(clientXArg), + _toJSValue(clientYArg), _toJSValue(ctrlKeyArg), _toJSValue(altKeyArg), _toJSValue(shiftKeyArg), + _toJSValue(metaKeyArg), _toJSValue(buttonArg), _toJSValue(relatedTargetArg), + ] + ) + } + + @inlinable public var pageX: Double { jsObject[Strings.pageX].fromJSValue()! } + + @inlinable public var pageY: Double { jsObject[Strings.pageY].fromJSValue()! } + + @inlinable public var x: Double { jsObject[Strings.x].fromJSValue()! } + + @inlinable public var y: Double { jsObject[Strings.y].fromJSValue()! } + + @inlinable public var offsetX: Double { jsObject[Strings.offsetX].fromJSValue()! } + + @inlinable public var offsetY: Double { jsObject[Strings.offsetY].fromJSValue()! } +} + +open class MouseEventInit: EventModifierInit { + + public convenience init( + ctrlKey: Bool? = nil, + shiftKey: Bool? = nil, + altKey: Bool? = nil, + metaKey: Bool? = nil, + modifierAltGraph: Bool? = nil, + modifierCapsLock: Bool? = nil, + modifierFn: Bool? = nil, + modifierFnLock: Bool? = nil, + modifierHyper: Bool? = nil, + modifierNumLock: Bool? = nil, + modifierScrollLock: Bool? = nil, + modifierSuper: Bool? = nil, + modifierSymbol: Bool? = nil, + modifierSymbolLock: Bool? = nil, + screenX: Int32? = nil, + screenY: Int32? = nil, + clientX: Int32? = nil, + clientY: Int32? = nil, + button: Int16? = nil, + buttons: UInt16? = nil, + relatedTarget: EventTarget? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.ctrlKey] = _toJSValue(ctrlKey) + object[Strings.shiftKey] = _toJSValue(shiftKey) + object[Strings.altKey] = _toJSValue(altKey) + object[Strings.metaKey] = _toJSValue(metaKey) + object[Strings.modifierAltGraph] = _toJSValue(modifierAltGraph) + object[Strings.modifierCapsLock] = _toJSValue(modifierCapsLock) + object[Strings.modifierFn] = _toJSValue(modifierFn) + object[Strings.modifierFnLock] = _toJSValue(modifierFnLock) + object[Strings.modifierHyper] = _toJSValue(modifierHyper) + object[Strings.modifierNumLock] = _toJSValue(modifierNumLock) + object[Strings.modifierScrollLock] = _toJSValue(modifierScrollLock) + object[Strings.modifierSuper] = _toJSValue(modifierSuper) + object[Strings.modifierSymbol] = _toJSValue(modifierSymbol) + object[Strings.modifierSymbolLock] = _toJSValue(modifierSymbolLock) object[Strings.screenX] = _toJSValue(screenX) object[Strings.screenY] = _toJSValue(screenY) object[Strings.clientX] = _toJSValue(clientX) @@ -11945,128 +13582,104 @@ public class MouseEventInit: BridgedDictionary { object[Strings.button] = _toJSValue(button) object[Strings.buttons] = _toJSValue(buttons) object[Strings.relatedTarget] = _toJSValue(relatedTarget) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _screenX = ReadWriteAttribute(jsObject: object, name: Strings.screenX) - _screenY = ReadWriteAttribute(jsObject: object, name: Strings.screenY) - _clientX = ReadWriteAttribute(jsObject: object, name: Strings.clientX) - _clientY = ReadWriteAttribute(jsObject: object, name: Strings.clientY) - _button = ReadWriteAttribute(jsObject: object, name: Strings.button) - _buttons = ReadWriteAttribute(jsObject: object, name: Strings.buttons) - _relatedTarget = ReadWriteAttribute(jsObject: object, name: Strings.relatedTarget) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var screenX: Int32? - - @ReadWriteAttribute - public var screenY: Int32? - - @ReadWriteAttribute - public var clientX: Int32? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var clientY: Int32? - - @ReadWriteAttribute - public var button: Int16? - - @ReadWriteAttribute - public var buttons: UInt16? - - @ReadWriteAttribute - public var relatedTarget: EventTarget? -} - -public class MultiCacheQueryOptions: BridgedDictionary { - public convenience init(cacheName: String) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.cacheName] = _toJSValue(cacheName) - self.init(unsafelyWrapping: object) + @inlinable public var screenX: Int32 { + get { jsObject[Strings.screenX].fromJSValue()! } + set { jsObject[Strings.screenX] = _toJSValue(newValue) } } - - public required init(unsafelyWrapping object: JSObject) { - _cacheName = ReadWriteAttribute(jsObject: object, name: Strings.cacheName) - super.init(unsafelyWrapping: object) + @inlinable public var screenY: Int32 { + get { jsObject[Strings.screenY].fromJSValue()! } + set { jsObject[Strings.screenY] = _toJSValue(newValue) } + } + @inlinable public var clientX: Int32 { + get { jsObject[Strings.clientX].fromJSValue()! } + set { jsObject[Strings.clientX] = _toJSValue(newValue) } + } + @inlinable public var clientY: Int32 { + get { jsObject[Strings.clientY].fromJSValue()! } + set { jsObject[Strings.clientY] = _toJSValue(newValue) } + } + @inlinable public var button: Int16 { + get { jsObject[Strings.button].fromJSValue()! } + set { jsObject[Strings.button] = _toJSValue(newValue) } + } + @inlinable public var buttons: UInt16 { + get { jsObject[Strings.buttons].fromJSValue()! } + set { jsObject[Strings.buttons] = _toJSValue(newValue) } + } + @inlinable public var relatedTarget: EventTarget? { + get { jsObject[Strings.relatedTarget].fromJSValue() } + set { jsObject[Strings.relatedTarget] = _toJSValue(newValue) } } - - @ReadWriteAttribute - public var cacheName: String? } +open class MultiCacheQueryOptions: CacheQueryOptions { -public class MutationEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.MutationEvent].function } + public convenience init( + ignoreSearch: Bool? = nil, + ignoreMethod: Bool? = nil, + ignoreVary: Bool? = nil, + cacheName: String? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.ignoreSearch] = _toJSValue(ignoreSearch) + object[Strings.ignoreMethod] = _toJSValue(ignoreMethod) + object[Strings.ignoreVary] = _toJSValue(ignoreVary) + object[Strings.cacheName] = _toJSValue(cacheName) - public required init(unsafelyWrapping jsObject: JSObject) { - _relatedNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.relatedNode) - _prevValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.prevValue) - _newValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.newValue) - _attrName = ReadonlyAttribute(jsObject: jsObject, name: Strings.attrName) - _attrChange = ReadonlyAttribute(jsObject: jsObject, name: Strings.attrChange) - super.init(unsafelyWrapping: jsObject) + self.init(unsafelyWrapping: object) } - public static let MODIFICATION: UInt16 = 1 - - public static let ADDITION: UInt16 = 2 - - public static let REMOVAL: UInt16 = 3 - - @ReadonlyAttribute - public var relatedNode: Node? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadonlyAttribute - public var prevValue: String - - @ReadonlyAttribute - public var newValue: String - - @ReadonlyAttribute - public var attrName: String - - @ReadonlyAttribute - public var attrChange: UInt16 - - @inlinable public func initMutationEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, relatedNodeArg: Node? = nil, prevValueArg: String? = nil, newValueArg: String? = nil, attrNameArg: String? = nil, attrChangeArg: UInt16? = nil) { - let this = jsObject - _ = this[Strings.initMutationEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(relatedNodeArg), _toJSValue(prevValueArg), _toJSValue(newValueArg), _toJSValue(attrNameArg), _toJSValue(attrChangeArg)]) + @inlinable public var cacheName: String { + get { jsObject[Strings.cacheName].fromJSValue()! } + set { jsObject[Strings.cacheName] = _toJSValue(newValue) } } } - public class MutationObserver: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.MutationObserver].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(callback: @escaping MutationCallback) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(callback)])) } - @inlinable public func observe(target: Node, options: MutationObserverInit? = nil) { + @inlinable final public func observe(target: Node, options: MutationObserverInit? = nil) { let this = jsObject _ = this[Strings.observe].function!(this: this, arguments: [_toJSValue(target), _toJSValue(options)]) } - @inlinable public func disconnect() { + @inlinable final public func disconnect() { let this = jsObject _ = this[Strings.disconnect].function!(this: this, arguments: []) } - @inlinable public func takeRecords() -> [MutationRecord] { + @inlinable final public func takeRecords() -> [MutationRecord] { let this = jsObject return this[Strings.takeRecords].function!(this: this, arguments: []).fromJSValue()! } } -public class MutationObserverInit: BridgedDictionary { - public convenience init(childList: Bool, attributes: Bool, characterData: Bool, subtree: Bool, attributeOldValue: Bool, characterDataOldValue: Bool, attributeFilter: [String]) { +open class MutationObserverInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + childList: Bool? = nil, + attributes: Bool? = nil, + characterData: Bool? = nil, + subtree: Bool? = nil, + attributeOldValue: Bool? = nil, + characterDataOldValue: Bool? = nil, + attributeFilter: [String]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.childList] = _toJSValue(childList) object[Strings.attributes] = _toJSValue(attributes) @@ -12075,86 +13688,65 @@ public class MutationObserverInit: BridgedDictionary { object[Strings.attributeOldValue] = _toJSValue(attributeOldValue) object[Strings.characterDataOldValue] = _toJSValue(characterDataOldValue) object[Strings.attributeFilter] = _toJSValue(attributeFilter) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _childList = ReadWriteAttribute(jsObject: object, name: Strings.childList) - _attributes = ReadWriteAttribute(jsObject: object, name: Strings.attributes) - _characterData = ReadWriteAttribute(jsObject: object, name: Strings.characterData) - _subtree = ReadWriteAttribute(jsObject: object, name: Strings.subtree) - _attributeOldValue = ReadWriteAttribute(jsObject: object, name: Strings.attributeOldValue) - _characterDataOldValue = ReadWriteAttribute(jsObject: object, name: Strings.characterDataOldValue) - _attributeFilter = ReadWriteAttribute(jsObject: object, name: Strings.attributeFilter) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var childList: Bool? - - @ReadWriteAttribute - public var attributes: Bool? - - @ReadWriteAttribute - public var characterData: Bool? - - @ReadWriteAttribute - public var subtree: Bool? - - @ReadWriteAttribute - public var attributeOldValue: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var characterDataOldValue: Bool? - - @ReadWriteAttribute - public var attributeFilter: [String]? + @inlinable public var childList: Bool { + get { jsObject[Strings.childList].fromJSValue()! } + set { jsObject[Strings.childList] = _toJSValue(newValue) } + } + @inlinable public var attributes: Bool { + get { jsObject[Strings.attributes].fromJSValue()! } + set { jsObject[Strings.attributes] = _toJSValue(newValue) } + } + @inlinable public var characterData: Bool { + get { jsObject[Strings.characterData].fromJSValue()! } + set { jsObject[Strings.characterData] = _toJSValue(newValue) } + } + @inlinable public var subtree: Bool { + get { jsObject[Strings.subtree].fromJSValue()! } + set { jsObject[Strings.subtree] = _toJSValue(newValue) } + } + @inlinable public var attributeOldValue: Bool { + get { jsObject[Strings.attributeOldValue].fromJSValue()! } + set { jsObject[Strings.attributeOldValue] = _toJSValue(newValue) } + } + @inlinable public var characterDataOldValue: Bool { + get { jsObject[Strings.characterDataOldValue].fromJSValue()! } + set { jsObject[Strings.characterDataOldValue] = _toJSValue(newValue) } + } + @inlinable public var attributeFilter: [String] { + get { jsObject[Strings.attributeFilter].fromJSValue()! } + set { jsObject[Strings.attributeFilter] = _toJSValue(newValue) } + } } - public class MutationRecord: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.MutationRecord].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _target = ReadonlyAttribute(jsObject: jsObject, name: Strings.target) - _addedNodes = ReadonlyAttribute(jsObject: jsObject, name: Strings.addedNodes) - _removedNodes = ReadonlyAttribute(jsObject: jsObject, name: Strings.removedNodes) - _previousSibling = ReadonlyAttribute(jsObject: jsObject, name: Strings.previousSibling) - _nextSibling = ReadonlyAttribute(jsObject: jsObject, name: Strings.nextSibling) - _attributeName = ReadonlyAttribute(jsObject: jsObject, name: Strings.attributeName) - _attributeNamespace = ReadonlyAttribute(jsObject: jsObject, name: Strings.attributeNamespace) - _oldValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.oldValue) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var type: String + @inlinable public var type: String { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var target: Node + @inlinable public var target: Node { jsObject[Strings.target].fromJSValue()! } - @ReadonlyAttribute - public var addedNodes: NodeList + @inlinable public var addedNodes: NodeList { jsObject[Strings.addedNodes].fromJSValue()! } - @ReadonlyAttribute - public var removedNodes: NodeList + @inlinable public var removedNodes: NodeList { jsObject[Strings.removedNodes].fromJSValue()! } - @ReadonlyAttribute - public var previousSibling: Node? + @inlinable public var previousSibling: Node? { jsObject[Strings.previousSibling].fromJSValue() } - @ReadonlyAttribute - public var nextSibling: Node? + @inlinable public var nextSibling: Node? { jsObject[Strings.nextSibling].fromJSValue() } - @ReadonlyAttribute - public var attributeName: String? + @inlinable public var attributeName: String? { jsObject[Strings.attributeName].fromJSValue() } - @ReadonlyAttribute - public var attributeNamespace: String? + @inlinable public var attributeNamespace: String? { jsObject[Strings.attributeNamespace].fromJSValue() } - @ReadonlyAttribute - public var oldValue: String? + @inlinable public var oldValue: String? { jsObject[Strings.oldValue].fromJSValue() } } public class NamedNodeMap: JSBridgedClass { @@ -12162,119 +13754,121 @@ public class NamedNodeMap: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> Attr? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> Attr? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> Attr? { + @inlinable final public func item(index: UInt32) -> Attr? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> Attr? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: String) -> Attr? { jsObject[key].fromJSValue() } - @inlinable public func getNamedItem(qualifiedName: String) -> Attr? { + @inlinable final public func getNamedItem(qualifiedName: String) -> Attr? { let this = jsObject return this[Strings.getNamedItem].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue() } - @inlinable public func getNamedItemNS(namespace: String?, localName: String) -> Attr? { + @inlinable final public func getNamedItemNS(namespace: String?, localName: String) -> Attr? { let this = jsObject - return this[Strings.getNamedItemNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue() + return this[Strings.getNamedItemNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue() } - @inlinable public func setNamedItem(attr: Attr) -> Attr? { + @inlinable final public func setNamedItem(attr: Attr) -> Attr? { let this = jsObject return this[Strings.setNamedItem].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue() } - @inlinable public func setNamedItemNS(attr: Attr) -> Attr? { + @inlinable final public func setNamedItemNS(attr: Attr) -> Attr? { let this = jsObject return this[Strings.setNamedItemNS].function!(this: this, arguments: [_toJSValue(attr)]).fromJSValue() } - @inlinable public func removeNamedItem(qualifiedName: String) -> Attr { + @inlinable final public func removeNamedItem(qualifiedName: String) -> Attr { let this = jsObject - return this[Strings.removeNamedItem].function!(this: this, arguments: [_toJSValue(qualifiedName)]).fromJSValue()! + return this[Strings.removeNamedItem].function!(this: this, arguments: [_toJSValue(qualifiedName)]) + .fromJSValue()! } - @inlinable public func removeNamedItemNS(namespace: String?, localName: String) -> Attr { + @inlinable final public func removeNamedItemNS(namespace: String?, localName: String) -> Attr { let this = jsObject - return this[Strings.removeNamedItemNS].function!(this: this, arguments: [_toJSValue(namespace), _toJSValue(localName)]).fromJSValue()! + return this[Strings.removeNamedItemNS].function!( + this: this, + arguments: [_toJSValue(namespace), _toJSValue(localName)] + ).fromJSValue()! } } public class NavigateEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.NavigateEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.NavigateEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _navigationType = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigationType) - _destination = ReadonlyAttribute(jsObject: jsObject, name: Strings.destination) - _canIntercept = ReadonlyAttribute(jsObject: jsObject, name: Strings.canIntercept) - _userInitiated = ReadonlyAttribute(jsObject: jsObject, name: Strings.userInitiated) - _hashChange = ReadonlyAttribute(jsObject: jsObject, name: Strings.hashChange) - _signal = ReadonlyAttribute(jsObject: jsObject, name: Strings.signal) - _formData = ReadonlyAttribute(jsObject: jsObject, name: Strings.formData) - _downloadRequest = ReadonlyAttribute(jsObject: jsObject, name: Strings.downloadRequest) - _info = ReadonlyAttribute(jsObject: jsObject, name: Strings.info) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: NavigateEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var navigationType: NavigationType + @inlinable public var navigationType: NavigationType { jsObject[Strings.navigationType].fromJSValue()! } + + @inlinable public var destination: NavigationDestination { jsObject[Strings.destination].fromJSValue()! } + + @inlinable public var canIntercept: Bool { jsObject[Strings.canIntercept].fromJSValue()! } - @ReadonlyAttribute - public var destination: NavigationDestination + @inlinable public var userInitiated: Bool { jsObject[Strings.userInitiated].fromJSValue()! } - @ReadonlyAttribute - public var canIntercept: Bool + @inlinable public var hashChange: Bool { jsObject[Strings.hashChange].fromJSValue()! } - @ReadonlyAttribute - public var userInitiated: Bool + @inlinable public var signal: AbortSignal { jsObject[Strings.signal].fromJSValue()! } - @ReadonlyAttribute - public var hashChange: Bool + @inlinable public var formData: FormData? { jsObject[Strings.formData].fromJSValue() } - @ReadonlyAttribute - public var signal: AbortSignal + @inlinable public var downloadRequest: String? { jsObject[Strings.downloadRequest].fromJSValue() } - @ReadonlyAttribute - public var formData: FormData? + @inlinable public var info: JSValue { jsObject[Strings.info].fromJSValue()! } - @ReadonlyAttribute - public var downloadRequest: String? + @inlinable public var hasUAVisualTransition: Bool { jsObject[Strings.hasUAVisualTransition].fromJSValue()! } - @ReadonlyAttribute - public var info: JSValue + @inlinable public var sourceElement: Element? { jsObject[Strings.sourceElement].fromJSValue() } - @inlinable public func intercept(options: NavigationInterceptOptions? = nil) { + @inlinable final public func intercept(options: NavigationInterceptOptions? = nil) { let this = jsObject _ = this[Strings.intercept].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scroll() { + @inlinable final public func scroll() { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: []) } } -public class NavigateEventInit: BridgedDictionary { - public convenience init(navigationType: NavigationType, destination: NavigationDestination, canIntercept: Bool, userInitiated: Bool, hashChange: Bool, signal: AbortSignal, formData: FormData?, downloadRequest: String?, info: JSValue) { +open class NavigateEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + navigationType: NavigationType? = nil, + destination: NavigationDestination, + canIntercept: Bool? = nil, + userInitiated: Bool? = nil, + hashChange: Bool? = nil, + signal: AbortSignal, + formData: FormData?, + downloadRequest: String?, + info: JSValue? = nil, + hasUAVisualTransition: Bool? = nil, + sourceElement: Element? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.navigationType] = _toJSValue(navigationType) object[Strings.destination] = _toJSValue(destination) object[Strings.canIntercept] = _toJSValue(canIntercept) @@ -12284,196 +13878,247 @@ public class NavigateEventInit: BridgedDictionary { object[Strings.formData] = _toJSValue(formData) object[Strings.downloadRequest] = _toJSValue(downloadRequest) object[Strings.info] = _toJSValue(info) - self.init(unsafelyWrapping: object) - } + object[Strings.hasUAVisualTransition] = _toJSValue(hasUAVisualTransition) + object[Strings.sourceElement] = _toJSValue(sourceElement) - public required init(unsafelyWrapping object: JSObject) { - _navigationType = ReadWriteAttribute(jsObject: object, name: Strings.navigationType) - _destination = ReadWriteAttribute(jsObject: object, name: Strings.destination) - _canIntercept = ReadWriteAttribute(jsObject: object, name: Strings.canIntercept) - _userInitiated = ReadWriteAttribute(jsObject: object, name: Strings.userInitiated) - _hashChange = ReadWriteAttribute(jsObject: object, name: Strings.hashChange) - _signal = ReadWriteAttribute(jsObject: object, name: Strings.signal) - _formData = ReadWriteAttribute(jsObject: object, name: Strings.formData) - _downloadRequest = ReadWriteAttribute(jsObject: object, name: Strings.downloadRequest) - _info = ReadWriteAttribute(jsObject: object, name: Strings.info) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var navigationType: NavigationType? - - @ReadWriteAttribute - public var destination: NavigationDestination - - @ReadWriteAttribute - public var canIntercept: Bool? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var userInitiated: Bool? - - @ReadWriteAttribute - public var hashChange: Bool? - - @ReadWriteAttribute - public var signal: AbortSignal - - @ReadWriteAttribute - public var formData: FormData? - - @ReadWriteAttribute - public var downloadRequest: String? - - @ReadWriteAttribute - public var info: JSValue? + @inlinable public var navigationType: NavigationType { + get { jsObject[Strings.navigationType].fromJSValue()! } + set { jsObject[Strings.navigationType] = _toJSValue(newValue) } + } + @inlinable public var destination: NavigationDestination { + get { jsObject[Strings.destination].fromJSValue()! } + set { jsObject[Strings.destination] = _toJSValue(newValue) } + } + @inlinable public var canIntercept: Bool { + get { jsObject[Strings.canIntercept].fromJSValue()! } + set { jsObject[Strings.canIntercept] = _toJSValue(newValue) } + } + @inlinable public var userInitiated: Bool { + get { jsObject[Strings.userInitiated].fromJSValue()! } + set { jsObject[Strings.userInitiated] = _toJSValue(newValue) } + } + @inlinable public var hashChange: Bool { + get { jsObject[Strings.hashChange].fromJSValue()! } + set { jsObject[Strings.hashChange] = _toJSValue(newValue) } + } + @inlinable public var signal: AbortSignal { + get { jsObject[Strings.signal].fromJSValue()! } + set { jsObject[Strings.signal] = _toJSValue(newValue) } + } + @inlinable public var formData: FormData? { + get { jsObject[Strings.formData].fromJSValue() } + set { jsObject[Strings.formData] = _toJSValue(newValue) } + } + @inlinable public var downloadRequest: String? { + get { jsObject[Strings.downloadRequest].fromJSValue() } + set { jsObject[Strings.downloadRequest] = _toJSValue(newValue) } + } + @inlinable public var info: JSValue { + get { jsObject[Strings.info].fromJSValue()! } + set { jsObject[Strings.info] = _toJSValue(newValue) } + } + @inlinable public var hasUAVisualTransition: Bool { + get { jsObject[Strings.hasUAVisualTransition].fromJSValue()! } + set { jsObject[Strings.hasUAVisualTransition] = _toJSValue(newValue) } + } + @inlinable public var sourceElement: Element? { + get { jsObject[Strings.sourceElement].fromJSValue() } + set { jsObject[Strings.sourceElement] = _toJSValue(newValue) } + } } - public class Navigation: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Navigation].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Navigation].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _currentEntry = ReadonlyAttribute(jsObject: jsObject, name: Strings.currentEntry) - _transition = ReadonlyAttribute(jsObject: jsObject, name: Strings.transition) - _canGoBack = ReadonlyAttribute(jsObject: jsObject, name: Strings.canGoBack) - _canGoForward = ReadonlyAttribute(jsObject: jsObject, name: Strings.canGoForward) - _onnavigate = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onnavigate) - _onnavigatesuccess = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onnavigatesuccess) - _onnavigateerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onnavigateerror) - _oncurrententrychange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncurrententrychange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public func entries() -> [NavigationHistoryEntry] { + @inlinable final public func entries() -> [NavigationHistoryEntry] { let this = jsObject return this[Strings.entries].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var currentEntry: NavigationHistoryEntry? + @inlinable public var currentEntry: NavigationHistoryEntry? { jsObject[Strings.currentEntry].fromJSValue() } - @inlinable public func updateCurrentEntry(options: NavigationUpdateCurrentEntryOptions) { + @inlinable final public func updateCurrentEntry(options: NavigationUpdateCurrentEntryOptions) { let this = jsObject _ = this[Strings.updateCurrentEntry].function!(this: this, arguments: [_toJSValue(options)]) } - @ReadonlyAttribute - public var transition: NavigationTransition? + @inlinable public var transition: NavigationTransition? { jsObject[Strings.transition].fromJSValue() } - @ReadonlyAttribute - public var canGoBack: Bool + @inlinable public var activation: NavigationActivation? { jsObject[Strings.activation].fromJSValue() } - @ReadonlyAttribute - public var canGoForward: Bool + @inlinable public var canGoBack: Bool { jsObject[Strings.canGoBack].fromJSValue()! } - @inlinable public func navigate(url: String, options: NavigationNavigateOptions? = nil) -> NavigationResult { + @inlinable public var canGoForward: Bool { jsObject[Strings.canGoForward].fromJSValue()! } + + @inlinable final public func navigate(url: String, options: NavigationNavigateOptions? = nil) -> NavigationResult { let this = jsObject - return this[Strings.navigate].function!(this: this, arguments: [_toJSValue(url), _toJSValue(options)]).fromJSValue()! + return this[Strings.navigate].function!(this: this, arguments: [_toJSValue(url), _toJSValue(options)]) + .fromJSValue()! } - @inlinable public func reload(options: NavigationReloadOptions? = nil) -> NavigationResult { + @inlinable final public func reload(options: NavigationReloadOptions? = nil) -> NavigationResult { let this = jsObject return this[Strings.reload].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func traverseTo(key: String, options: NavigationOptions? = nil) -> NavigationResult { + @inlinable final public func traverseTo(key: String, options: NavigationOptions? = nil) -> NavigationResult { let this = jsObject - return this[Strings.traverseTo].function!(this: this, arguments: [_toJSValue(key), _toJSValue(options)]).fromJSValue()! + return this[Strings.traverseTo].function!(this: this, arguments: [_toJSValue(key), _toJSValue(options)]) + .fromJSValue()! } - @inlinable public func back(options: NavigationOptions? = nil) -> NavigationResult { + @inlinable final public func back(options: NavigationOptions? = nil) -> NavigationResult { let this = jsObject return this[Strings.back].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func forward(options: NavigationOptions? = nil) -> NavigationResult { + @inlinable final public func forward(options: NavigationOptions? = nil) -> NavigationResult { let this = jsObject return this[Strings.forward].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @ClosureAttribute1Optional - public var onnavigate: EventHandler + @inlinable public var onnavigate: EventHandler { + get { + guard let function = jsObject[Strings.onnavigate].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onnavigate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onnavigate] = .null + } + } + } + + @inlinable public var onnavigatesuccess: EventHandler { + get { + guard let function = jsObject[Strings.onnavigatesuccess].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onnavigatesuccess] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onnavigatesuccess] = .null + } + } + } + + @inlinable public var onnavigateerror: EventHandler { + get { + guard let function = jsObject[Strings.onnavigateerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onnavigateerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onnavigateerror] = .null + } + } + } + + @inlinable public var oncurrententrychange: EventHandler { + get { + guard let function = jsObject[Strings.oncurrententrychange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncurrententrychange] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncurrententrychange] = .null + } + } + } +} + +public class NavigationActivation: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.NavigationActivation].function } - @ClosureAttribute1Optional - public var onnavigatesuccess: EventHandler + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ClosureAttribute1Optional - public var onnavigateerror: EventHandler + @inlinable public var from: NavigationHistoryEntry? { jsObject[Strings.from].fromJSValue() } - @ClosureAttribute1Optional - public var oncurrententrychange: EventHandler + @inlinable public var entry: NavigationHistoryEntry { jsObject[Strings.entry].fromJSValue()! } + + @inlinable public var navigationType: NavigationType { jsObject[Strings.navigationType].fromJSValue()! } } public class NavigationCurrentEntryChangeEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.NavigationCurrentEntryChangeEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _navigationType = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigationType) - _from = ReadonlyAttribute(jsObject: jsObject, name: Strings.from) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.NavigationCurrentEntryChangeEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: NavigationCurrentEntryChangeEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var navigationType: NavigationType? + @inlinable public var navigationType: NavigationType? { jsObject[Strings.navigationType].fromJSValue() } - @ReadonlyAttribute - public var from: NavigationHistoryEntry + @inlinable public var from: NavigationHistoryEntry { jsObject[Strings.from].fromJSValue()! } } -public class NavigationCurrentEntryChangeEventInit: BridgedDictionary { - public convenience init(navigationType: NavigationType?, from: NavigationHistoryEntry) { +open class NavigationCurrentEntryChangeEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + navigationType: NavigationType?, + from: NavigationHistoryEntry + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.navigationType] = _toJSValue(navigationType) object[Strings.from] = _toJSValue(from) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _navigationType = ReadWriteAttribute(jsObject: object, name: Strings.navigationType) - _from = ReadWriteAttribute(jsObject: object, name: Strings.from) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var navigationType: NavigationType? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var from: NavigationHistoryEntry + @inlinable public var navigationType: NavigationType? { + get { jsObject[Strings.navigationType].fromJSValue() } + set { jsObject[Strings.navigationType] = _toJSValue(newValue) } + } + @inlinable public var from: NavigationHistoryEntry { + get { jsObject[Strings.from].fromJSValue()! } + set { jsObject[Strings.from] = _toJSValue(newValue) } + } } - public class NavigationDestination: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.NavigationDestination].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) - _key = ReadonlyAttribute(jsObject: jsObject, name: Strings.key) - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _index = ReadonlyAttribute(jsObject: jsObject, name: Strings.index) - _sameDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.sameDocument) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var url: String + @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } - @ReadonlyAttribute - public var key: String + @inlinable public var key: String { jsObject[Strings.key].fromJSValue()! } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var index: Int64 + @inlinable public var index: Int64 { jsObject[Strings.index].fromJSValue()! } - @ReadonlyAttribute - public var sameDocument: Bool + @inlinable public var sameDocument: Bool { jsObject[Strings.sameDocument].fromJSValue()! } - @inlinable public func getState() -> JSValue { + @inlinable final public func getState() -> JSValue { let this = jsObject return this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! } @@ -12484,292 +14129,293 @@ public enum NavigationFocusReset: JSString, JSValueCompatible { case manual = "manual" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum NavigationHistoryBehavior: JSString, JSValueCompatible { case auto = "auto" case push = "push" case replace = "replace" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class NavigationHistoryEntry: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.NavigationHistoryEntry].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) - _key = ReadonlyAttribute(jsObject: jsObject, name: Strings.key) - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _index = ReadonlyAttribute(jsObject: jsObject, name: Strings.index) - _sameDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.sameDocument) - _ondispose = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondispose) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.NavigationHistoryEntry].function } - @ReadonlyAttribute - public var url: String? + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var url: String? { jsObject[Strings.url].fromJSValue() } - @ReadonlyAttribute - public var key: String + @inlinable public var key: String { jsObject[Strings.key].fromJSValue()! } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var index: Int64 + @inlinable public var index: Int64 { jsObject[Strings.index].fromJSValue()! } - @ReadonlyAttribute - public var sameDocument: Bool + @inlinable public var sameDocument: Bool { jsObject[Strings.sameDocument].fromJSValue()! } - @inlinable public func getState() -> JSValue { + @inlinable final public func getState() -> JSValue { let this = jsObject return this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! } - @ClosureAttribute1Optional - public var ondispose: EventHandler + @inlinable public var ondispose: EventHandler { + get { + guard let function = jsObject[Strings.ondispose].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondispose] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondispose] = .null + } + } + } } -public class NavigationInterceptOptions: BridgedDictionary { - public convenience init(handler: @escaping NavigationInterceptHandler, focusReset: NavigationFocusReset, scroll: NavigationScrollBehavior) { +open class NavigationInterceptOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + handler: NavigationInterceptHandler? = nil, + focusReset: NavigationFocusReset? = nil, + scroll: NavigationScrollBehavior? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute0[Strings.handler, in: object] = handler + object[Strings.handler] = _toJSValue(handler) object[Strings.focusReset] = _toJSValue(focusReset) object[Strings.scroll] = _toJSValue(scroll) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _handler = ClosureAttribute0(jsObject: object, name: Strings.handler) - _focusReset = ReadWriteAttribute(jsObject: object, name: Strings.focusReset) - _scroll = ReadWriteAttribute(jsObject: object, name: Strings.scroll) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ClosureAttribute0 - public var handler: NavigationInterceptHandler + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var focusReset: NavigationFocusReset? - - @ReadWriteAttribute - public var scroll: NavigationScrollBehavior? + @inlinable public var handler: NavigationInterceptHandler { + get { + let function = jsObject[Strings.handler].function! + return { function().fromJSValue()! } + } + set { jsObject[Strings.handler] = JSClosure { _ in _toJSValue(newValue()) }.jsValue } + } + @inlinable public var focusReset: NavigationFocusReset { + get { jsObject[Strings.focusReset].fromJSValue()! } + set { jsObject[Strings.focusReset] = _toJSValue(newValue) } + } + @inlinable public var scroll: NavigationScrollBehavior { + get { jsObject[Strings.scroll].fromJSValue()! } + set { jsObject[Strings.scroll] = _toJSValue(newValue) } + } } +open class NavigationNavigateOptions: NavigationOptions { -public class NavigationNavigateOptions: BridgedDictionary { - public convenience init(state: JSValue, history: NavigationHistoryBehavior) { + public convenience init(info: JSValue? = nil, state: JSValue? = nil, history: NavigationHistoryBehavior? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.info] = _toJSValue(info) object[Strings.state] = _toJSValue(state) object[Strings.history] = _toJSValue(history) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _state = ReadWriteAttribute(jsObject: object, name: Strings.state) - _history = ReadWriteAttribute(jsObject: object, name: Strings.history) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var state: JSValue? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var history: NavigationHistoryBehavior? + @inlinable public var state: JSValue { + get { jsObject[Strings.state].fromJSValue()! } + set { jsObject[Strings.state] = _toJSValue(newValue) } + } + @inlinable public var history: NavigationHistoryBehavior { + get { jsObject[Strings.history].fromJSValue()! } + set { jsObject[Strings.history] = _toJSValue(newValue) } + } } +open class NavigationOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class NavigationOptions: BridgedDictionary { - public convenience init(info: JSValue) { + public convenience init(info: JSValue? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.info] = _toJSValue(info) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _info = ReadWriteAttribute(jsObject: object, name: Strings.info) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var info: JSValue? + @inlinable public var info: JSValue { + get { jsObject[Strings.info].fromJSValue()! } + set { jsObject[Strings.info] = _toJSValue(newValue) } + } } - public class NavigationPreloadManager: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.NavigationPreloadManager].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func enable() -> JSPromise { + @inlinable final public func enable() -> JSPromise { let this = jsObject return this[Strings.enable].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func enable() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.enable].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func enable() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.enable].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func disable() -> JSPromise { + @inlinable final public func disable() -> JSPromise { let this = jsObject return this[Strings.disable].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func disable() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.disable].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func disable() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.disable].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func setHeaderValue(value: String) -> JSPromise { + @inlinable final public func setHeaderValue(value: String) -> JSPromise { let this = jsObject return this[Strings.setHeaderValue].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func setHeaderValue(value: String) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.setHeaderValue].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func setHeaderValue( + value: String + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.setHeaderValue].function!(this: this, arguments: [_toJSValue(value)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func getState() -> JSPromise { + @inlinable final public func getState() -> JSPromise { let this = jsObject return this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func getState() async throws -> NavigationPreloadState { - let this = jsObject - let _promise: JSPromise = this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getState() + async throws(JSException) -> NavigationPreloadState + { + let this = jsObject + let _promise: JSPromise = this[Strings.getState].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class NavigationPreloadState: BridgedDictionary { - public convenience init(enabled: Bool, headerValue: String) { +open class NavigationPreloadState: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(enabled: Bool? = nil, headerValue: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.enabled] = _toJSValue(enabled) object[Strings.headerValue] = _toJSValue(headerValue) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _enabled = ReadWriteAttribute(jsObject: object, name: Strings.enabled) - _headerValue = ReadWriteAttribute(jsObject: object, name: Strings.headerValue) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var enabled: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var headerValue: String? + @inlinable public var enabled: Bool { + get { jsObject[Strings.enabled].fromJSValue()! } + set { jsObject[Strings.enabled] = _toJSValue(newValue) } + } + @inlinable public var headerValue: String { + get { jsObject[Strings.headerValue].fromJSValue()! } + set { jsObject[Strings.headerValue] = _toJSValue(newValue) } + } } +open class NavigationReloadOptions: NavigationOptions { -public class NavigationReloadOptions: BridgedDictionary { - public convenience init(state: JSValue) { + public convenience init(info: JSValue? = nil, state: JSValue? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.info] = _toJSValue(info) object[Strings.state] = _toJSValue(state) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _state = ReadWriteAttribute(jsObject: object, name: Strings.state) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var state: JSValue? + @inlinable public var state: JSValue { + get { jsObject[Strings.state].fromJSValue()! } + set { jsObject[Strings.state] = _toJSValue(newValue) } + } } +open class NavigationResult: JSDictionaryCompatible { + public let jsObject: JSObject -public class NavigationResult: BridgedDictionary { - public convenience init(committed: JSPromise, finished: JSPromise) { + public convenience init(committed: JSPromise? = nil, finished: JSPromise? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.committed] = _toJSValue(committed) object[Strings.finished] = _toJSValue(finished) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _committed = ReadWriteAttribute(jsObject: object, name: Strings.committed) - _finished = ReadWriteAttribute(jsObject: object, name: Strings.finished) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var committed: JSPromise? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var finished: JSPromise? + @inlinable public var committed: JSPromise { + get { jsObject[Strings.committed].fromJSValue()! } + set { jsObject[Strings.committed] = _toJSValue(newValue) } + } + @inlinable public var finished: JSPromise { + get { jsObject[Strings.finished].fromJSValue()! } + set { jsObject[Strings.finished] = _toJSValue(newValue) } + } } - public enum NavigationScrollBehavior: JSString, JSValueCompatible { case afterTransition = "after-transition" case manual = "manual" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class NavigationTransition: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.NavigationTransition].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _navigationType = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigationType) - _from = ReadonlyAttribute(jsObject: jsObject, name: Strings.from) - _finished = ReadonlyAttribute(jsObject: jsObject, name: Strings.finished) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var navigationType: NavigationType + @inlinable public var navigationType: NavigationType { jsObject[Strings.navigationType].fromJSValue()! } - @ReadonlyAttribute - public var from: NavigationHistoryEntry + @inlinable public var from: NavigationHistoryEntry { jsObject[Strings.from].fromJSValue()! } - @ReadonlyAttribute - public var finished: JSPromise + @inlinable public var finished: JSPromise { jsObject[Strings.finished].fromJSValue()! } } public enum NavigationType: JSString, JSValueCompatible { @@ -12779,163 +14425,127 @@ public enum NavigationType: JSString, JSValueCompatible { case traverse = "traverse" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class NavigationUpdateCurrentEntryOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class NavigationUpdateCurrentEntryOptions: BridgedDictionary { public convenience init(state: JSValue) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.state] = _toJSValue(state) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _state = ReadWriteAttribute(jsObject: object, name: Strings.state) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var state: JSValue + @inlinable public var state: JSValue { + get { jsObject[Strings.state].fromJSValue()! } + set { jsObject[Strings.state] = _toJSValue(newValue) } + } } - -public class Navigator: JSBridgedClass, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware { +public class Navigator: JSBridgedClass, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, + NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware +{ @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Navigator].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _userActivation = ReadonlyAttribute(jsObject: jsObject, name: Strings.userActivation) - _mediaDevices = ReadonlyAttribute(jsObject: jsObject, name: Strings.mediaDevices) - _serviceWorker = ReadonlyAttribute(jsObject: jsObject, name: Strings.serviceWorker) - _permissions = ReadonlyAttribute(jsObject: jsObject, name: Strings.permissions) - self.jsObject = jsObject - } - - @ReadonlyAttribute - public var userActivation: UserActivation + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var mediaDevices: MediaDevices + @inlinable public var userActivation: UserActivation { jsObject[Strings.userActivation].fromJSValue()! } - @inlinable public func getUserMedia(constraints: MediaStreamConstraints, successCallback: @escaping NavigatorUserMediaSuccessCallback, errorCallback: @escaping NavigatorUserMediaErrorCallback) { - let this = jsObject - _ = this[Strings.getUserMedia].function!(this: this, arguments: [_toJSValue(constraints), _toJSValue(successCallback), _toJSValue(errorCallback)]) - } + @inlinable public var mediaDevices: MediaDevices { jsObject[Strings.mediaDevices].fromJSValue()! } - @ReadonlyAttribute - public var serviceWorker: ServiceWorkerContainer + @inlinable public var serviceWorker: ServiceWorkerContainer { jsObject[Strings.serviceWorker].fromJSValue()! } - @ReadonlyAttribute - public var permissions: Permissions + @inlinable public var permissions: Permissions { jsObject[Strings.permissions].fromJSValue()! } } public protocol NavigatorConcurrentHardware: JSBridgedClass {} -public extension NavigatorConcurrentHardware { - @inlinable var hardwareConcurrency: UInt64 { jsObject[Strings.hardwareConcurrency].fromJSValue()! } +extension NavigatorConcurrentHardware { + @inlinable public var hardwareConcurrency: UInt64 { jsObject[Strings.hardwareConcurrency].fromJSValue()! } } - public protocol NavigatorContentUtils: JSBridgedClass {} -public extension NavigatorContentUtils { - @inlinable func registerProtocolHandler(scheme: String, url: String) { +extension NavigatorContentUtils { + @inlinable public func registerProtocolHandler(scheme: String, url: String) { let this = jsObject - _ = this[Strings.registerProtocolHandler].function!(this: this, arguments: [_toJSValue(scheme), _toJSValue(url)]) + _ = this[Strings.registerProtocolHandler].function!( + this: this, + arguments: [_toJSValue(scheme), _toJSValue(url)] + ) } - @inlinable func unregisterProtocolHandler(scheme: String, url: String) { + @inlinable public func unregisterProtocolHandler(scheme: String, url: String) { let this = jsObject - _ = this[Strings.unregisterProtocolHandler].function!(this: this, arguments: [_toJSValue(scheme), _toJSValue(url)]) + _ = this[Strings.unregisterProtocolHandler].function!( + this: this, + arguments: [_toJSValue(scheme), _toJSValue(url)] + ) } } - public protocol NavigatorCookies: JSBridgedClass {} -public extension NavigatorCookies { - @inlinable var cookieEnabled: Bool { jsObject[Strings.cookieEnabled].fromJSValue()! } +extension NavigatorCookies { + @inlinable public var cookieEnabled: Bool { jsObject[Strings.cookieEnabled].fromJSValue()! } } - public protocol NavigatorID: JSBridgedClass {} -public extension NavigatorID { - @inlinable var appCodeName: String { jsObject[Strings.appCodeName].fromJSValue()! } +extension NavigatorID { + @inlinable public var appCodeName: String { jsObject[Strings.appCodeName].fromJSValue()! } - @inlinable var appName: String { jsObject[Strings.appName].fromJSValue()! } + @inlinable public var appName: String { jsObject[Strings.appName].fromJSValue()! } - @inlinable var appVersion: String { jsObject[Strings.appVersion].fromJSValue()! } + @inlinable public var appVersion: String { jsObject[Strings.appVersion].fromJSValue()! } - @inlinable var platform: String { jsObject[Strings.platform].fromJSValue()! } + @inlinable public var platform: String { jsObject[Strings.platform].fromJSValue()! } - @inlinable var product: String { jsObject[Strings.product].fromJSValue()! } + @inlinable public var product: String { jsObject[Strings.product].fromJSValue()! } - @inlinable var productSub: String { jsObject[Strings.productSub].fromJSValue()! } + @inlinable public var productSub: String { jsObject[Strings.productSub].fromJSValue()! } - @inlinable var userAgent: String { jsObject[Strings.userAgent].fromJSValue()! } + @inlinable public var userAgent: String { jsObject[Strings.userAgent].fromJSValue()! } - @inlinable var vendor: String { jsObject[Strings.vendor].fromJSValue()! } + @inlinable public var vendor: String { jsObject[Strings.vendor].fromJSValue()! } - @inlinable var vendorSub: String { jsObject[Strings.vendorSub].fromJSValue()! } + @inlinable public var vendorSub: String { jsObject[Strings.vendorSub].fromJSValue()! } - @inlinable func taintEnabled() -> Bool { + @inlinable public func taintEnabled() -> Bool { let this = jsObject return this[Strings.taintEnabled].function!(this: this, arguments: []).fromJSValue()! } - @inlinable var oscpu: String { jsObject[Strings.oscpu].fromJSValue()! } + @inlinable public var oscpu: String { jsObject[Strings.oscpu].fromJSValue()! } } - public protocol NavigatorLanguage: JSBridgedClass {} -public extension NavigatorLanguage { - @inlinable var language: String { jsObject[Strings.language].fromJSValue()! } +extension NavigatorLanguage { + @inlinable public var language: String { jsObject[Strings.language].fromJSValue()! } - @inlinable var languages: [String] { jsObject[Strings.languages].fromJSValue()! } + @inlinable public var languages: [String] { jsObject[Strings.languages].fromJSValue()! } } - public protocol NavigatorOnLine: JSBridgedClass {} -public extension NavigatorOnLine { - @inlinable var onLine: Bool { jsObject[Strings.onLine].fromJSValue()! } -} - +extension NavigatorOnLine { @inlinable public var onLine: Bool { jsObject[Strings.onLine].fromJSValue()! } } public protocol NavigatorPlugins: JSBridgedClass {} -public extension NavigatorPlugins { - @inlinable var plugins: PluginArray { jsObject[Strings.plugins].fromJSValue()! } +extension NavigatorPlugins { + @inlinable public var plugins: PluginArray { jsObject[Strings.plugins].fromJSValue()! } - @inlinable var mimeTypes: MimeTypeArray { jsObject[Strings.mimeTypes].fromJSValue()! } + @inlinable public var mimeTypes: MimeTypeArray { jsObject[Strings.mimeTypes].fromJSValue()! } - @inlinable func javaEnabled() -> Bool { + @inlinable public func javaEnabled() -> Bool { let this = jsObject return this[Strings.javaEnabled].function!(this: this, arguments: []).fromJSValue()! } - @inlinable var pdfViewerEnabled: Bool { jsObject[Strings.pdfViewerEnabled].fromJSValue()! } + @inlinable public var pdfViewerEnabled: Bool { jsObject[Strings.pdfViewerEnabled].fromJSValue()! } } - open class Node: EventTarget { - @inlinable override open class var constructor: JSFunction? { JSObject.global[Strings.Node].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _nodeType = ReadonlyAttribute(jsObject: jsObject, name: Strings.nodeType) - _nodeName = ReadonlyAttribute(jsObject: jsObject, name: Strings.nodeName) - _baseURI = ReadonlyAttribute(jsObject: jsObject, name: Strings.baseURI) - _isConnected = ReadonlyAttribute(jsObject: jsObject, name: Strings.isConnected) - _ownerDocument = ReadonlyAttribute(jsObject: jsObject, name: Strings.ownerDocument) - _parentNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.parentNode) - _parentElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.parentElement) - _childNodes = ReadonlyAttribute(jsObject: jsObject, name: Strings.childNodes) - _firstChild = ReadonlyAttribute(jsObject: jsObject, name: Strings.firstChild) - _lastChild = ReadonlyAttribute(jsObject: jsObject, name: Strings.lastChild) - _previousSibling = ReadonlyAttribute(jsObject: jsObject, name: Strings.previousSibling) - _nextSibling = ReadonlyAttribute(jsObject: jsObject, name: Strings.nextSibling) - _nodeValue = ReadWriteAttribute(jsObject: jsObject, name: Strings.nodeValue) - _textContent = ReadWriteAttribute(jsObject: jsObject, name: Strings.textContent) - super.init(unsafelyWrapping: jsObject) - } + @inlinable open override class var constructor: JSFunction? { JSObject.global[Strings.Node].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } public static let ELEMENT_NODE: UInt16 = 1 @@ -12961,74 +14571,66 @@ open class Node: EventTarget { public static let NOTATION_NODE: UInt16 = 12 - @ReadonlyAttribute - public var nodeType: UInt16 + @inlinable public var nodeType: UInt16 { jsObject[Strings.nodeType].fromJSValue()! } - @ReadonlyAttribute - public var nodeName: String + @inlinable public var nodeName: String { jsObject[Strings.nodeName].fromJSValue()! } - @ReadonlyAttribute - public var baseURI: String + @inlinable public var baseURI: String { jsObject[Strings.baseURI].fromJSValue()! } - @ReadonlyAttribute - public var isConnected: Bool + @inlinable public var isConnected: Bool { jsObject[Strings.isConnected].fromJSValue()! } - @ReadonlyAttribute - public var ownerDocument: Document? + @inlinable public var ownerDocument: Document? { jsObject[Strings.ownerDocument].fromJSValue() } - @inlinable public func getRootNode(options: GetRootNodeOptions? = nil) -> Self { + @inlinable final public func getRootNode(options: GetRootNodeOptions? = nil) -> Node { let this = jsObject return this[Strings.getRootNode].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @ReadonlyAttribute - public var parentNode: Node? + @inlinable public var parentNode: Node? { jsObject[Strings.parentNode].fromJSValue() } - @ReadonlyAttribute - public var parentElement: Element? + @inlinable public var parentElement: Element? { jsObject[Strings.parentElement].fromJSValue() } - @inlinable public func hasChildNodes() -> Bool { + @inlinable final public func hasChildNodes() -> Bool { let this = jsObject return this[Strings.hasChildNodes].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var childNodes: NodeList + @inlinable public var childNodes: NodeList { jsObject[Strings.childNodes].fromJSValue()! } - @ReadonlyAttribute - public var firstChild: Node? + @inlinable public var firstChild: Node? { jsObject[Strings.firstChild].fromJSValue() } - @ReadonlyAttribute - public var lastChild: Node? + @inlinable public var lastChild: Node? { jsObject[Strings.lastChild].fromJSValue() } - @ReadonlyAttribute - public var previousSibling: Node? + @inlinable public var previousSibling: Node? { jsObject[Strings.previousSibling].fromJSValue() } - @ReadonlyAttribute - public var nextSibling: Node? + @inlinable public var nextSibling: Node? { jsObject[Strings.nextSibling].fromJSValue() } - @ReadWriteAttribute - public var nodeValue: String? + @inlinable public var nodeValue: String? { + get { jsObject[Strings.nodeValue].fromJSValue() } + set { jsObject[Strings.nodeValue] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var textContent: String? + @inlinable public var textContent: String? { + get { jsObject[Strings.textContent].fromJSValue() } + set { jsObject[Strings.textContent] = _toJSValue(newValue) } + } - @inlinable public func normalize() { + @inlinable final public func normalize() { let this = jsObject _ = this[Strings.normalize].function!(this: this, arguments: []) } - @inlinable public func cloneNode(deep: Bool? = nil) -> Self { + @inlinable final public func cloneNode(subtree: Bool? = nil) -> Node { let this = jsObject - return this[Strings.cloneNode].function!(this: this, arguments: [_toJSValue(deep)]).fromJSValue()! + return this[Strings.cloneNode].function!(this: this, arguments: [_toJSValue(subtree)]).fromJSValue()! } - @inlinable public func isEqualNode(otherNode: Node?) -> Bool { + @inlinable final public func isEqualNode(otherNode: Node?) -> Bool { let this = jsObject return this[Strings.isEqualNode].function!(this: this, arguments: [_toJSValue(otherNode)]).fromJSValue()! } - @inlinable public func isSameNode(otherNode: Node?) -> Bool { + @inlinable final public func isSameNode(otherNode: Node?) -> Bool { let this = jsObject return this[Strings.isSameNode].function!(this: this, arguments: [_toJSValue(otherNode)]).fromJSValue()! } @@ -13045,47 +14647,50 @@ open class Node: EventTarget { public static let DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: UInt16 = 0x20 - @inlinable public func compareDocumentPosition(other: Node) -> UInt16 { + @inlinable final public func compareDocumentPosition(other: Node) -> UInt16 { let this = jsObject - return this[Strings.compareDocumentPosition].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! + return this[Strings.compareDocumentPosition].function!(this: this, arguments: [_toJSValue(other)]) + .fromJSValue()! } - @inlinable public func contains(other: Node?) -> Bool { + @inlinable final public func contains(other: Node?) -> Bool { let this = jsObject return this[Strings.contains].function!(this: this, arguments: [_toJSValue(other)]).fromJSValue()! } - @inlinable public func lookupPrefix(namespace: String?) -> String? { + @inlinable final public func lookupPrefix(namespace: String?) -> String? { let this = jsObject return this[Strings.lookupPrefix].function!(this: this, arguments: [_toJSValue(namespace)]).fromJSValue() } - @inlinable public func lookupNamespaceURI(prefix: String?) -> String? { + @inlinable final public func lookupNamespaceURI(prefix: String?) -> String? { let this = jsObject return this[Strings.lookupNamespaceURI].function!(this: this, arguments: [_toJSValue(prefix)]).fromJSValue() } - @inlinable public func isDefaultNamespace(namespace: String?) -> Bool { + @inlinable final public func isDefaultNamespace(namespace: String?) -> Bool { let this = jsObject return this[Strings.isDefaultNamespace].function!(this: this, arguments: [_toJSValue(namespace)]).fromJSValue()! } - @inlinable public func insertBefore(node: Node, child: Node?) -> Self { + @inlinable final public func insertBefore(node: Node, child: Node?) -> Node { let this = jsObject - return this[Strings.insertBefore].function!(this: this, arguments: [_toJSValue(node), _toJSValue(child)]).fromJSValue()! + return this[Strings.insertBefore].function!(this: this, arguments: [_toJSValue(node), _toJSValue(child)]) + .fromJSValue()! } - @inlinable public func appendChild(node: Node) -> Self { + @inlinable final public func appendChild(node: Node) -> Node { let this = jsObject return this[Strings.appendChild].function!(this: this, arguments: [_toJSValue(node)]).fromJSValue()! } - @inlinable public func replaceChild(node: Node, child: Node) -> Self { + @inlinable final public func replaceChild(node: Node, child: Node) -> Node { let this = jsObject - return this[Strings.replaceChild].function!(this: this, arguments: [_toJSValue(node), _toJSValue(child)]).fromJSValue()! + return this[Strings.replaceChild].function!(this: this, arguments: [_toJSValue(node), _toJSValue(child)]) + .fromJSValue()! } - @inlinable public func removeChild(child: Node) -> Self { + @inlinable final public func removeChild(child: Node) -> Node { let this = jsObject return this[Strings.removeChild].function!(this: this, arguments: [_toJSValue(child)]).fromJSValue()! } @@ -13096,39 +14701,31 @@ public class NodeIterator: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _root = ReadonlyAttribute(jsObject: jsObject, name: Strings.root) - _referenceNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.referenceNode) - _pointerBeforeReferenceNode = ReadonlyAttribute(jsObject: jsObject, name: Strings.pointerBeforeReferenceNode) - _whatToShow = ReadonlyAttribute(jsObject: jsObject, name: Strings.whatToShow) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var root: Node + @inlinable public var root: Node { jsObject[Strings.root].fromJSValue()! } - @ReadonlyAttribute - public var referenceNode: Node + @inlinable public var referenceNode: Node { jsObject[Strings.referenceNode].fromJSValue()! } - @ReadonlyAttribute - public var pointerBeforeReferenceNode: Bool + @inlinable public var pointerBeforeReferenceNode: Bool { + jsObject[Strings.pointerBeforeReferenceNode].fromJSValue()! + } - @ReadonlyAttribute - public var whatToShow: UInt32 + @inlinable public var whatToShow: UInt32 { jsObject[Strings.whatToShow].fromJSValue()! } // XXX: member 'filter' is ignored - @inlinable public func nextNode() -> Node? { + @inlinable final public func nextNode() -> Node? { let this = jsObject return this[Strings.nextNode].function!(this: this, arguments: []).fromJSValue() } - @inlinable public func previousNode() -> Node? { + @inlinable final public func previousNode() -> Node? { let this = jsObject return this[Strings.previousNode].function!(this: this, arguments: []).fromJSValue() } - @inlinable public func detach() { + @inlinable final public func detach() { let this = jsObject _ = this[Strings.detach].function!(this: this, arguments: []) } @@ -13139,247 +14736,378 @@ public class NodeList: JSBridgedClass, Sequence { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public subscript(key: Int) -> Node? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> Node? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> Node? { + @inlinable final public func item(index: UInt32) -> Node? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } public typealias Element = Node - public func makeIterator() -> ValueIterableIterator { - ValueIterableIterator(sequence: self) - } + public func makeIterator() -> ValueIterableIterator { ValueIterableIterator(sequence: self) } } public protocol NonDocumentTypeChildNode: JSBridgedClass {} -public extension NonDocumentTypeChildNode { - @inlinable var previousElementSibling: Element? { jsObject[Strings.previousElementSibling].fromJSValue() } +extension NonDocumentTypeChildNode { + @inlinable public var previousElementSibling: Element? { jsObject[Strings.previousElementSibling].fromJSValue() } - @inlinable var nextElementSibling: Element? { jsObject[Strings.nextElementSibling].fromJSValue() } + @inlinable public var nextElementSibling: Element? { jsObject[Strings.nextElementSibling].fromJSValue() } } - public protocol NonElementParentNode: JSBridgedClass {} -public extension NonElementParentNode { - @inlinable func getElementById(elementId: String) -> Element? { +extension NonElementParentNode { + @inlinable public func getElementById(elementId: String) -> Element? { let this = jsObject return this[Strings.getElementById].function!(this: this, arguments: [_toJSValue(elementId)]).fromJSValue() } } +public class NotRestoredReasonDetails: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.NotRestoredReasonDetails].function } -public class OffscreenCanvas: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.OffscreenCanvas].function } + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var reason: String { jsObject[Strings.reason].fromJSValue()! } + + @inlinable final public func toJSON() -> JSObject { + let this = jsObject + return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! + } +} + +public class NotRestoredReasons: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.NotRestoredReasons].function } + + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var src: String? { jsObject[Strings.src].fromJSValue() } + + @inlinable public var id: String? { jsObject[Strings.id].fromJSValue() } + + @inlinable public var name: String? { jsObject[Strings.name].fromJSValue() } - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadWriteAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadWriteAttribute(jsObject: jsObject, name: Strings.height) - _oncontextlost = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncontextlost) - _oncontextrestored = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncontextrestored) - super.init(unsafelyWrapping: jsObject) + @inlinable public var url: String? { jsObject[Strings.url].fromJSValue() } + + @inlinable public var reasons: [NotRestoredReasonDetails]? { jsObject[Strings.reasons].fromJSValue() } + + @inlinable public var children: [NotRestoredReasons]? { jsObject[Strings.children].fromJSValue() } + + @inlinable final public func toJSON() -> JSObject { + let this = jsObject + return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } +} + +public class OffscreenCanvas: EventTarget { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.OffscreenCanvas].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(width: UInt64, height: UInt64) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(width), _toJSValue(height)])) } - @ReadWriteAttribute - public var width: UInt64 + @inlinable public var width: UInt64 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var height: UInt64 + @inlinable public var height: UInt64 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } // XXX: member 'getContext' is ignored - @inlinable public func transferToImageBitmap() -> ImageBitmap { + @inlinable final public func transferToImageBitmap() -> ImageBitmap { let this = jsObject return this[Strings.transferToImageBitmap].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func convertToBlob(options: ImageEncodeOptions? = nil) -> JSPromise { + @inlinable final public func convertToBlob(options: ImageEncodeOptions? = nil) -> JSPromise { let this = jsObject return this[Strings.convertToBlob].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func convertToBlob(options: ImageEncodeOptions? = nil) async throws -> Blob { - let this = jsObject - let _promise: JSPromise = this[Strings.convertToBlob].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func convertToBlob( + options: ImageEncodeOptions? = nil + ) async throws(JSException) -> Blob { + let this = jsObject + let _promise: JSPromise = this[Strings.convertToBlob].function!( + this: this, + arguments: [_toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @ClosureAttribute1Optional - public var oncontextlost: EventHandler + @inlinable public var oncontextlost: EventHandler { + get { + guard let function = jsObject[Strings.oncontextlost].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncontextlost] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncontextlost] = .null + } + } + } - @ClosureAttribute1Optional - public var oncontextrestored: EventHandler + @inlinable public var oncontextrestored: EventHandler { + get { + guard let function = jsObject[Strings.oncontextrestored].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncontextrestored] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncontextrestored] = .null + } + } + } } -public class OffscreenCanvasRenderingContext2D: JSBridgedClass, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.OffscreenCanvasRenderingContext2D].function } +public class OffscreenCanvasRenderingContext2D: JSBridgedClass, CanvasSettings, CanvasState, CanvasTransform, + CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, + CanvasDrawPath, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, + CanvasPath +{ + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.OffscreenCanvasRenderingContext2D].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _canvas = ReadonlyAttribute(jsObject: jsObject, name: Strings.canvas) - self.jsObject = jsObject + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var canvas: OffscreenCanvas { jsObject[Strings.canvas].fromJSValue()! } +} + +public class OverconstrainedError: DOMException { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.OverconstrainedError].function } - @inlinable public func commit() { - let this = jsObject - _ = this[Strings.commit].function!(this: this, arguments: []) + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init(constraint: String, message: String? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(constraint), _toJSValue(message)])) } - @ReadonlyAttribute - public var canvas: OffscreenCanvas + @inlinable public var constraint: String { jsObject[Strings.constraint].fromJSValue()! } } -public class OverconstrainedError: DOMException { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.OverconstrainedError].function } +public class PageRevealEvent: Event { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.PageRevealEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _constraint = ReadonlyAttribute(jsObject: jsObject, name: Strings.constraint) - super.init(unsafelyWrapping: jsObject) + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init(type: String, eventInitDict: PageRevealEventInit? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @inlinable public convenience init(constraint: String, message: String? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(constraint), _toJSValue(message)])) + @inlinable public var viewTransition: ViewTransition? { jsObject[Strings.viewTransition].fromJSValue() } +} + +open class PageRevealEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + viewTransition: ViewTransition? + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) + object[Strings.viewTransition] = _toJSValue(viewTransition) + + self.init(unsafelyWrapping: object) } - @ReadonlyAttribute - public var constraint: String + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + + @inlinable public var viewTransition: ViewTransition? { + get { jsObject[Strings.viewTransition].fromJSValue() } + set { jsObject[Strings.viewTransition] = _toJSValue(newValue) } + } } +public class PageSwapEvent: Event { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.PageSwapEvent].function } -public class PageTransitionEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.PageTransitionEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public convenience init(type: String, eventInitDict: PageSwapEventInit? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) + } + + @inlinable public var activation: NavigationActivation? { jsObject[Strings.activation].fromJSValue() } + + @inlinable public var viewTransition: ViewTransition? { jsObject[Strings.viewTransition].fromJSValue() } +} - public required init(unsafelyWrapping jsObject: JSObject) { - _persisted = ReadonlyAttribute(jsObject: jsObject, name: Strings.persisted) - super.init(unsafelyWrapping: jsObject) +open class PageSwapEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + activation: NavigationActivation?, + viewTransition: ViewTransition? + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) + object[Strings.activation] = _toJSValue(activation) + object[Strings.viewTransition] = _toJSValue(viewTransition) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + + @inlinable public var activation: NavigationActivation? { + get { jsObject[Strings.activation].fromJSValue() } + set { jsObject[Strings.activation] = _toJSValue(newValue) } + } + @inlinable public var viewTransition: ViewTransition? { + get { jsObject[Strings.viewTransition].fromJSValue() } + set { jsObject[Strings.viewTransition] = _toJSValue(newValue) } + } +} +public class PageTransitionEvent: Event { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.PageTransitionEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: PageTransitionEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var persisted: Bool + @inlinable public var persisted: Bool { jsObject[Strings.persisted].fromJSValue()! } } -public class PageTransitionEventInit: BridgedDictionary { - public convenience init(persisted: Bool) { +open class PageTransitionEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + persisted: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.persisted] = _toJSValue(persisted) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _persisted = ReadWriteAttribute(jsObject: object, name: Strings.persisted) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var persisted: Bool? + @inlinable public var persisted: Bool { + get { jsObject[Strings.persisted].fromJSValue()! } + set { jsObject[Strings.persisted] = _toJSValue(newValue) } + } } - public protocol ParentNode: JSBridgedClass {} -public extension ParentNode { - @inlinable var children: HTMLCollection { jsObject[Strings.children].fromJSValue()! } +extension ParentNode { + @inlinable public var children: HTMLCollection { jsObject[Strings.children].fromJSValue()! } - @inlinable var firstElementChild: Element? { jsObject[Strings.firstElementChild].fromJSValue() } + @inlinable public var firstElementChild: Element? { jsObject[Strings.firstElementChild].fromJSValue() } - @inlinable var lastElementChild: Element? { jsObject[Strings.lastElementChild].fromJSValue() } + @inlinable public var lastElementChild: Element? { jsObject[Strings.lastElementChild].fromJSValue() } - @inlinable var childElementCount: UInt32 { jsObject[Strings.childElementCount].fromJSValue()! } + @inlinable public var childElementCount: UInt32 { jsObject[Strings.childElementCount].fromJSValue()! } - @inlinable func prepend(nodes: Node_or_String...) { + @inlinable public func prepend(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.prepend].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable func append(nodes: Node_or_String...) { + @inlinable public func append(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.append].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable func replaceChildren(nodes: Node_or_String...) { + @inlinable public func replaceChildren(nodes: Node_or_String...) { let this = jsObject _ = this[Strings.replaceChildren].function!(this: this, arguments: nodes.map(_toJSValue)) } - @inlinable func querySelector(selectors: String) -> Element? { + @inlinable public func querySelector(selectors: String) -> Element? { let this = jsObject return this[Strings.querySelector].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue() } - @inlinable func querySelectorAll(selectors: String) -> NodeList { + @inlinable public func querySelectorAll(selectors: String) -> NodeList { let this = jsObject return this[Strings.querySelectorAll].function!(this: this, arguments: [_toJSValue(selectors)]).fromJSValue()! } } - public class Path2D: JSBridgedClass, CanvasPath { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Path2D].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(path: Path2D_or_String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(path)])) } - @inlinable public func addPath(path: Path2D, transform: DOMMatrix2DInit? = nil) { + @inlinable final public func addPath(path: Path2D, transform: DOMMatrix2DInit? = nil) { let this = jsObject _ = this[Strings.addPath].function!(this: this, arguments: [_toJSValue(path), _toJSValue(transform)]) } } public class Performance: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Performance].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Performance].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _timeOrigin = ReadonlyAttribute(jsObject: jsObject, name: Strings.timeOrigin) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public func now() -> DOMHighResTimeStamp { + @inlinable final public func now() -> DOMHighResTimeStamp { let this = jsObject return this[Strings.now].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var timeOrigin: DOMHighResTimeStamp + @inlinable public var timeOrigin: DOMHighResTimeStamp { jsObject[Strings.timeOrigin].fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getEntries() -> PerformanceEntryList { + @inlinable final public func getEntries() -> PerformanceEntryList { let this = jsObject return this[Strings.getEntries].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getEntriesByType(type: String) -> PerformanceEntryList { + @inlinable final public func getEntriesByType(type: String) -> PerformanceEntryList { let this = jsObject return this[Strings.getEntriesByType].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @inlinable public func getEntriesByName(name: String, type: String? = nil) -> PerformanceEntryList { + @inlinable final public func getEntriesByName(name: String, type: String? = nil) -> PerformanceEntryList { let this = jsObject - return this[Strings.getEntriesByName].function!(this: this, arguments: [_toJSValue(name), _toJSValue(type)]).fromJSValue()! + return this[Strings.getEntriesByName].function!(this: this, arguments: [_toJSValue(name), _toJSValue(type)]) + .fromJSValue()! } } @@ -13388,27 +15116,21 @@ public class PerformanceEntry: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _entryType = ReadonlyAttribute(jsObject: jsObject, name: Strings.entryType) - _startTime = ReadonlyAttribute(jsObject: jsObject, name: Strings.startTime) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var id: UInt64 { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ReadonlyAttribute - public var entryType: String + @inlinable public var entryType: String { jsObject[Strings.entryType].fromJSValue()! } - @ReadonlyAttribute - public var startTime: DOMHighResTimeStamp + @inlinable public var startTime: DOMHighResTimeStamp { jsObject[Strings.startTime].fromJSValue()! } - @ReadonlyAttribute - public var duration: DOMHighResTimeStamp + @inlinable public var duration: DOMHighResTimeStamp { jsObject[Strings.duration].fromJSValue()! } - @inlinable public func toJSON() -> JSObject { + @inlinable public var navigationId: UInt64 { jsObject[Strings.navigationId].fromJSValue()! } + + @inlinable final public func toJSON() -> JSObject { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } @@ -13419,175 +15141,175 @@ public class PerformanceObserver: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _supportedEntryTypes = ReadonlyAttribute(jsObject: jsObject, name: Strings.supportedEntryTypes) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(callback: @escaping PerformanceObserverCallback) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(callback)])) } - @inlinable public func observe(options: PerformanceObserverInit? = nil) { + @inlinable final public func observe(options: PerformanceObserverInit? = nil) { let this = jsObject _ = this[Strings.observe].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func disconnect() { + @inlinable final public func disconnect() { let this = jsObject _ = this[Strings.disconnect].function!(this: this, arguments: []) } - @inlinable public func takeRecords() -> PerformanceEntryList { + @inlinable final public func takeRecords() -> PerformanceEntryList { let this = jsObject return this[Strings.takeRecords].function!(this: this, arguments: []).fromJSValue()! } - @ReadonlyAttribute - public var supportedEntryTypes: [String] + @inlinable public var supportedEntryTypes: [String] { jsObject[Strings.supportedEntryTypes].fromJSValue()! } } -public class PerformanceObserverCallbackOptions: BridgedDictionary { - public convenience init(droppedEntriesCount: UInt64) { +open class PerformanceObserverCallbackOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(droppedEntriesCount: UInt64? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.droppedEntriesCount] = _toJSValue(droppedEntriesCount) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _droppedEntriesCount = ReadWriteAttribute(jsObject: object, name: Strings.droppedEntriesCount) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var droppedEntriesCount: UInt64? + @inlinable public var droppedEntriesCount: UInt64 { + get { jsObject[Strings.droppedEntriesCount].fromJSValue()! } + set { jsObject[Strings.droppedEntriesCount] = _toJSValue(newValue) } + } } - public class PerformanceObserverEntryList: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.PerformanceObserverEntryList].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.PerformanceObserverEntryList].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func getEntries() -> PerformanceEntryList { + @inlinable final public func getEntries() -> PerformanceEntryList { let this = jsObject return this[Strings.getEntries].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getEntriesByType(type: String) -> PerformanceEntryList { + @inlinable final public func getEntriesByType(type: String) -> PerformanceEntryList { let this = jsObject return this[Strings.getEntriesByType].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! } - @inlinable public func getEntriesByName(name: String, type: String? = nil) -> PerformanceEntryList { + @inlinable final public func getEntriesByName(name: String, type: String? = nil) -> PerformanceEntryList { let this = jsObject - return this[Strings.getEntriesByName].function!(this: this, arguments: [_toJSValue(name), _toJSValue(type)]).fromJSValue()! + return this[Strings.getEntriesByName].function!(this: this, arguments: [_toJSValue(name), _toJSValue(type)]) + .fromJSValue()! } } -public class PerformanceObserverInit: BridgedDictionary { - public convenience init(entryTypes: [String], type: String, buffered: Bool) { +open class PerformanceObserverInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(entryTypes: [String]? = nil, type: String? = nil, buffered: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.entryTypes] = _toJSValue(entryTypes) object[Strings.type] = _toJSValue(type) object[Strings.buffered] = _toJSValue(buffered) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _entryTypes = ReadWriteAttribute(jsObject: object, name: Strings.entryTypes) - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _buffered = ReadWriteAttribute(jsObject: object, name: Strings.buffered) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var entryTypes: [String]? - - @ReadWriteAttribute - public var type: String? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var buffered: Bool? + @inlinable public var entryTypes: [String] { + get { jsObject[Strings.entryTypes].fromJSValue()! } + set { jsObject[Strings.entryTypes] = _toJSValue(newValue) } + } + @inlinable public var type: String { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var buffered: Bool { + get { jsObject[Strings.buffered].fromJSValue()! } + set { jsObject[Strings.buffered] = _toJSValue(newValue) } + } } +open class PermissionDescriptor: JSDictionaryCompatible { + public let jsObject: JSObject -public class PermissionDescriptor: BridgedDictionary { public convenience init(name: String) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.name] = _toJSValue(name) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _name = ReadWriteAttribute(jsObject: object, name: Strings.name) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var name: String + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } } +open class PermissionSetParameters: JSDictionaryCompatible { + public let jsObject: JSObject -public class PermissionSetParameters: BridgedDictionary { - public convenience init(descriptor: PermissionDescriptor, state: PermissionState) { + public convenience init(descriptor: JSObject, state: PermissionState) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.descriptor] = _toJSValue(descriptor) object[Strings.state] = _toJSValue(state) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _descriptor = ReadWriteAttribute(jsObject: object, name: Strings.descriptor) - _state = ReadWriteAttribute(jsObject: object, name: Strings.state) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var descriptor: PermissionDescriptor + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var state: PermissionState + @inlinable public var descriptor: JSObject { + get { jsObject[Strings.descriptor].fromJSValue()! } + set { jsObject[Strings.descriptor] = _toJSValue(newValue) } + } + @inlinable public var state: PermissionState { + get { jsObject[Strings.state].fromJSValue()! } + set { jsObject[Strings.state] = _toJSValue(newValue) } + } } - public enum PermissionState: JSString, JSValueCompatible { case granted = "granted" case denied = "denied" case prompt = "prompt" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class PermissionStatus: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.PermissionStatus].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.PermissionStatus].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var state: PermissionState + @inlinable public var state: PermissionState { jsObject[Strings.state].fromJSValue()! } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ClosureAttribute1Optional - public var onchange: EventHandler + @inlinable public var onchange: EventHandler { + get { + guard let function = jsObject[Strings.onchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onchange] = .null + } + } + } } public class Permissions: JSBridgedClass { @@ -13595,83 +15317,72 @@ public class Permissions: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func query(permissionDesc: JSObject) -> JSPromise { + @inlinable final public func query(permissionDesc: JSObject) -> JSPromise { let this = jsObject return this[Strings.query].function!(this: this, arguments: [_toJSValue(permissionDesc)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func query(permissionDesc: JSObject) async throws -> PermissionStatus { - let this = jsObject - let _promise: JSPromise = this[Strings.query].function!(this: this, arguments: [_toJSValue(permissionDesc)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func query( + permissionDesc: JSObject + ) async throws(JSException) -> PermissionStatus { + let this = jsObject + let _promise: JSPromise = this[Strings.query].function!(this: this, arguments: [_toJSValue(permissionDesc)]) + .fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class PlaneLayout: BridgedDictionary { +open class PlaneLayout: JSDictionaryCompatible { + public let jsObject: JSObject + public convenience init(offset: UInt32, stride: UInt32) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.offset] = _toJSValue(offset) object[Strings.stride] = _toJSValue(stride) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _offset = ReadWriteAttribute(jsObject: object, name: Strings.offset) - _stride = ReadWriteAttribute(jsObject: object, name: Strings.stride) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var offset: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var stride: UInt32 + @inlinable public var offset: UInt32 { + get { jsObject[Strings.offset].fromJSValue()! } + set { jsObject[Strings.offset] = _toJSValue(newValue) } + } + @inlinable public var stride: UInt32 { + get { jsObject[Strings.stride].fromJSValue()! } + set { jsObject[Strings.stride] = _toJSValue(newValue) } + } } - public class Plugin: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Plugin].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _description = ReadonlyAttribute(jsObject: jsObject, name: Strings.description) - _filename = ReadonlyAttribute(jsObject: jsObject, name: Strings.filename) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var name: String + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } - @ReadonlyAttribute - public var description: String + @inlinable public var description: String { jsObject[Strings.description].fromJSValue()! } - @ReadonlyAttribute - public var filename: String + @inlinable public var filename: String { jsObject[Strings.filename].fromJSValue()! } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> MimeType? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> MimeType? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> MimeType? { + @inlinable final public func item(index: UInt32) -> MimeType? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> MimeType? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: String) -> MimeType? { jsObject[key].fromJSValue() } - @inlinable public func namedItem(name: String) -> MimeType? { + @inlinable final public func namedItem(name: String) -> MimeType? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } @@ -13682,328 +15393,324 @@ public class PluginArray: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func refresh() { + @inlinable final public func refresh() { let this = jsObject _ = this[Strings.refresh].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> Plugin? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> Plugin? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> Plugin? { + @inlinable final public func item(index: UInt32) -> Plugin? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public subscript(key: String) -> Plugin? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: String) -> Plugin? { jsObject[key].fromJSValue() } - @inlinable public func namedItem(name: String) -> Plugin? { + @inlinable final public func namedItem(name: String) -> Plugin? { let this = jsObject return this[Strings.namedItem].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } } public class PopStateEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.PopStateEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.PopStateEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: PopStateEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var state: JSValue + @inlinable public var state: JSValue { jsObject[Strings.state].fromJSValue()! } + + @inlinable public var hasUAVisualTransition: Bool { jsObject[Strings.hasUAVisualTransition].fromJSValue()! } } -public class PopStateEventInit: BridgedDictionary { - public convenience init(state: JSValue) { +open class PopStateEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + state: JSValue? = nil, + hasUAVisualTransition: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.state] = _toJSValue(state) + object[Strings.hasUAVisualTransition] = _toJSValue(hasUAVisualTransition) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _state = ReadWriteAttribute(jsObject: object, name: Strings.state) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var state: JSValue? + @inlinable public var state: JSValue { + get { jsObject[Strings.state].fromJSValue()! } + set { jsObject[Strings.state] = _toJSValue(newValue) } + } + @inlinable public var hasUAVisualTransition: Bool { + get { jsObject[Strings.hasUAVisualTransition].fromJSValue()! } + set { jsObject[Strings.hasUAVisualTransition] = _toJSValue(newValue) } + } } - public protocol PopoverInvokerElement: JSBridgedClass {} -public extension PopoverInvokerElement { - @inlinable var popoverTargetElement: Element? { +extension PopoverInvokerElement { + @inlinable public var popoverTargetElement: Element? { get { jsObject[Strings.popoverTargetElement].fromJSValue() } - nonmutating set { jsObject[Strings.popoverTargetElement] = _toJSValue(newValue) } + set { jsObject[Strings.popoverTargetElement] = _toJSValue(newValue) } } - @inlinable var popoverTargetAction: String { + @inlinable public var popoverTargetAction: String { get { jsObject[Strings.popoverTargetAction].fromJSValue()! } - nonmutating set { jsObject[Strings.popoverTargetAction] = _toJSValue(newValue) } + set { jsObject[Strings.popoverTargetAction] = _toJSValue(newValue) } } } - public enum PredefinedColorSpace: JSString, JSValueCompatible { case srgb = "srgb" case displayP3 = "display-p3" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum PremultiplyAlpha: JSString, JSValueCompatible { case none = "none" case premultiply = "premultiply" case `default` = "default" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class ProcessingInstruction: CharacterData { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ProcessingInstruction].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _target = ReadonlyAttribute(jsObject: jsObject, name: Strings.target) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.ProcessingInstruction].function } - @ReadonlyAttribute - public var target: String + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var target: String { jsObject[Strings.target].fromJSValue()! } } public class ProgressEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ProgressEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.ProgressEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _lengthComputable = ReadonlyAttribute(jsObject: jsObject, name: Strings.lengthComputable) - _loaded = ReadonlyAttribute(jsObject: jsObject, name: Strings.loaded) - _total = ReadonlyAttribute(jsObject: jsObject, name: Strings.total) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: ProgressEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var lengthComputable: Bool + @inlinable public var lengthComputable: Bool { jsObject[Strings.lengthComputable].fromJSValue()! } - @ReadonlyAttribute - public var loaded: UInt64 + @inlinable public var loaded: UInt64 { jsObject[Strings.loaded].fromJSValue()! } - @ReadonlyAttribute - public var total: UInt64 + @inlinable public var total: UInt64 { jsObject[Strings.total].fromJSValue()! } } -public class ProgressEventInit: BridgedDictionary { - public convenience init(lengthComputable: Bool, loaded: UInt64, total: UInt64) { +open class ProgressEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + lengthComputable: Bool? = nil, + loaded: UInt64? = nil, + total: UInt64? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.lengthComputable] = _toJSValue(lengthComputable) object[Strings.loaded] = _toJSValue(loaded) object[Strings.total] = _toJSValue(total) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _lengthComputable = ReadWriteAttribute(jsObject: object, name: Strings.lengthComputable) - _loaded = ReadWriteAttribute(jsObject: object, name: Strings.loaded) - _total = ReadWriteAttribute(jsObject: object, name: Strings.total) - super.init(unsafelyWrapping: object) - } - - @ReadWriteAttribute - public var lengthComputable: Bool? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var loaded: UInt64? - - @ReadWriteAttribute - public var total: UInt64? + @inlinable public var lengthComputable: Bool { + get { jsObject[Strings.lengthComputable].fromJSValue()! } + set { jsObject[Strings.lengthComputable] = _toJSValue(newValue) } + } + @inlinable public var loaded: UInt64 { + get { jsObject[Strings.loaded].fromJSValue()! } + set { jsObject[Strings.loaded] = _toJSValue(newValue) } + } + @inlinable public var total: UInt64 { + get { jsObject[Strings.total].fromJSValue()! } + set { jsObject[Strings.total] = _toJSValue(newValue) } + } } - public class PromiseRejectionEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.PromiseRejectionEvent].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _promise = ReadonlyAttribute(jsObject: jsObject, name: Strings.promise) - _reason = ReadonlyAttribute(jsObject: jsObject, name: Strings.reason) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.PromiseRejectionEvent].function } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + @inlinable public convenience init(type: String, eventInitDict: PromiseRejectionEventInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var promise: JSPromise + @inlinable public var promise: JSObject { jsObject[Strings.promise].fromJSValue()! } - @ReadonlyAttribute - public var reason: JSValue + @inlinable public var reason: JSValue { jsObject[Strings.reason].fromJSValue()! } } -public class PromiseRejectionEventInit: BridgedDictionary { - public convenience init(promise: JSPromise, reason: JSValue) { +open class PromiseRejectionEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + promise: JSObject, + reason: JSValue? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.promise] = _toJSValue(promise) object[Strings.reason] = _toJSValue(reason) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _promise = ReadWriteAttribute(jsObject: object, name: Strings.promise) - _reason = ReadWriteAttribute(jsObject: object, name: Strings.reason) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var promise: JSPromise + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var reason: JSValue? + @inlinable public var promise: JSObject { + get { jsObject[Strings.promise].fromJSValue()! } + set { jsObject[Strings.promise] = _toJSValue(newValue) } + } + @inlinable public var reason: JSValue { + get { jsObject[Strings.reason].fromJSValue()! } + set { jsObject[Strings.reason] = _toJSValue(newValue) } + } } +open class QueuingStrategy: JSDictionaryCompatible { + public let jsObject: JSObject -public class QueuingStrategy: BridgedDictionary { - public convenience init(highWaterMark: Double, size: @escaping QueuingStrategySize) { + public convenience init(highWaterMark: Double? = nil, size: QueuingStrategySize? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.highWaterMark] = _toJSValue(highWaterMark) - ClosureAttribute1[Strings.size, in: object] = size - self.init(unsafelyWrapping: object) - } + object[Strings.size] = _toJSValue(size) - public required init(unsafelyWrapping object: JSObject) { - _highWaterMark = ReadWriteAttribute(jsObject: object, name: Strings.highWaterMark) - _size = ClosureAttribute1(jsObject: object, name: Strings.size) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var highWaterMark: Double? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ClosureAttribute1 - public var size: QueuingStrategySize + @inlinable public var highWaterMark: Double { + get { jsObject[Strings.highWaterMark].fromJSValue()! } + set { jsObject[Strings.highWaterMark] = _toJSValue(newValue) } + } + @inlinable public var size: QueuingStrategySize { + get { + let function = jsObject[Strings.size].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.size] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } } +open class QueuingStrategyInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class QueuingStrategyInit: BridgedDictionary { public convenience init(highWaterMark: Double) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.highWaterMark] = _toJSValue(highWaterMark) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _highWaterMark = ReadWriteAttribute(jsObject: object, name: Strings.highWaterMark) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var highWaterMark: Double + @inlinable public var highWaterMark: Double { + get { jsObject[Strings.highWaterMark].fromJSValue()! } + set { jsObject[Strings.highWaterMark] = _toJSValue(newValue) } + } } - public class RadioNodeList: NodeList { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.RadioNodeList].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.RadioNodeList].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _value = ReadWriteAttribute(jsObject: jsObject, name: Strings.value) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var value: String + @inlinable public var value: String { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } } public class Range: AbstractRange { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Range].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Range].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _commonAncestorContainer = ReadonlyAttribute(jsObject: jsObject, name: Strings.commonAncestorContainer) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ReadonlyAttribute - public var commonAncestorContainer: Node + @inlinable public var commonAncestorContainer: Node { jsObject[Strings.commonAncestorContainer].fromJSValue()! } - @inlinable public func setStart(node: Node, offset: UInt32) { + @inlinable final public func setStart(node: Node, offset: UInt32) { let this = jsObject _ = this[Strings.setStart].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]) } - @inlinable public func setEnd(node: Node, offset: UInt32) { + @inlinable final public func setEnd(node: Node, offset: UInt32) { let this = jsObject _ = this[Strings.setEnd].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]) } - @inlinable public func setStartBefore(node: Node) { + @inlinable final public func setStartBefore(node: Node) { let this = jsObject _ = this[Strings.setStartBefore].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable public func setStartAfter(node: Node) { + @inlinable final public func setStartAfter(node: Node) { let this = jsObject _ = this[Strings.setStartAfter].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable public func setEndBefore(node: Node) { + @inlinable final public func setEndBefore(node: Node) { let this = jsObject _ = this[Strings.setEndBefore].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable public func setEndAfter(node: Node) { + @inlinable final public func setEndAfter(node: Node) { let this = jsObject _ = this[Strings.setEndAfter].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable public func collapse(toStart: Bool? = nil) { + @inlinable final public func collapse(toStart: Bool? = nil) { let this = jsObject _ = this[Strings.collapse].function!(this: this, arguments: [_toJSValue(toStart)]) } - @inlinable public func selectNode(node: Node) { + @inlinable final public func selectNode(node: Node) { let this = jsObject _ = this[Strings.selectNode].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable public func selectNodeContents(node: Node) { + @inlinable final public func selectNodeContents(node: Node) { let this = jsObject _ = this[Strings.selectNodeContents].function!(this: this, arguments: [_toJSValue(node)]) } @@ -14016,455 +15723,489 @@ public class Range: AbstractRange { public static let END_TO_START: UInt16 = 3 - @inlinable public func compareBoundaryPoints(how: UInt16, sourceRange: Range) -> Int16 { + @inlinable final public func compareBoundaryPoints(how: UInt16, sourceRange: Range) -> Int16 { let this = jsObject - return this[Strings.compareBoundaryPoints].function!(this: this, arguments: [_toJSValue(how), _toJSValue(sourceRange)]).fromJSValue()! + return this[Strings.compareBoundaryPoints].function!( + this: this, + arguments: [_toJSValue(how), _toJSValue(sourceRange)] + ).fromJSValue()! } - @inlinable public func deleteContents() { + @inlinable final public func deleteContents() { let this = jsObject _ = this[Strings.deleteContents].function!(this: this, arguments: []) } - @inlinable public func extractContents() -> DocumentFragment { + @inlinable final public func extractContents() -> DocumentFragment { let this = jsObject return this[Strings.extractContents].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func cloneContents() -> DocumentFragment { + @inlinable final public func cloneContents() -> DocumentFragment { let this = jsObject return this[Strings.cloneContents].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func insertNode(node: Node) { + @inlinable final public func insertNode(node: Node) { let this = jsObject _ = this[Strings.insertNode].function!(this: this, arguments: [_toJSValue(node)]) } - @inlinable public func surroundContents(newParent: Node) { + @inlinable final public func surroundContents(newParent: Node) { let this = jsObject _ = this[Strings.surroundContents].function!(this: this, arguments: [_toJSValue(newParent)]) } - @inlinable public func cloneRange() -> Self { + @inlinable final public func cloneRange() -> Range { let this = jsObject return this[Strings.cloneRange].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func detach() { + @inlinable final public func detach() { let this = jsObject _ = this[Strings.detach].function!(this: this, arguments: []) } - @inlinable public func isPointInRange(node: Node, offset: UInt32) -> Bool { + @inlinable final public func isPointInRange(node: Node, offset: UInt32) -> Bool { let this = jsObject - return this[Strings.isPointInRange].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]).fromJSValue()! + return this[Strings.isPointInRange].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]) + .fromJSValue()! } - @inlinable public func comparePoint(node: Node, offset: UInt32) -> Int16 { + @inlinable final public func comparePoint(node: Node, offset: UInt32) -> Int16 { let this = jsObject - return this[Strings.comparePoint].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]).fromJSValue()! + return this[Strings.comparePoint].function!(this: this, arguments: [_toJSValue(node), _toJSValue(offset)]) + .fromJSValue()! } - @inlinable public func intersectsNode(node: Node) -> Bool { + @inlinable final public func intersectsNode(node: Node) -> Bool { let this = jsObject return this[Strings.intersectsNode].function!(this: this, arguments: [_toJSValue(node)]).fromJSValue()! } - @inlinable public var description: String { - jsObject[Strings.toString]!().fromJSValue()! + @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } + + @inlinable final public func createContextualFragment(string: String_or_TrustedHTML) -> DocumentFragment { + let this = jsObject + return this[Strings.createContextualFragment].function!(this: this, arguments: [_toJSValue(string)]) + .fromJSValue()! } - @inlinable public func getClientRects() -> DOMRectList { + @inlinable final public func getClientRects() -> DOMRectList { let this = jsObject return this[Strings.getClientRects].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func getBoundingClientRect() -> DOMRect { + @inlinable final public func getBoundingClientRect() -> DOMRect { let this = jsObject return this[Strings.getBoundingClientRect].function!(this: this, arguments: []).fromJSValue()! } } public class ReadableByteStreamController: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableByteStreamController].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.ReadableByteStreamController].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _byobRequest = ReadonlyAttribute(jsObject: jsObject, name: Strings.byobRequest) - _desiredSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.desiredSize) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var byobRequest: ReadableStreamBYOBRequest? + @inlinable public var byobRequest: ReadableStreamBYOBRequest? { jsObject[Strings.byobRequest].fromJSValue() } - @ReadonlyAttribute - public var desiredSize: Double? + @inlinable public var desiredSize: Double? { jsObject[Strings.desiredSize].fromJSValue() } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @inlinable public func enqueue(chunk: ArrayBufferView) { + @inlinable final public func enqueue(chunk: ArrayBufferView) { let this = jsObject _ = this[Strings.enqueue].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable public func error(e: JSValue? = nil) { + @inlinable final public func error(e: JSValue? = nil) { let this = jsObject _ = this[Strings.error].function!(this: this, arguments: [_toJSValue(e)]) } } -public class ReadableStream: JSBridgedClass, AsyncSequence { +public class ReadableStream: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableStream].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _locked = ReadonlyAttribute(jsObject: jsObject, name: Strings.locked) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(underlyingSource: JSObject? = nil, strategy: QueuingStrategy? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(underlyingSource), _toJSValue(strategy)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(underlyingSource), _toJSValue(strategy)]) + ) } - @inlinable public class func from(asyncIterable: JSValue) -> Self { + @inlinable public class func from(asyncIterable: JSValue) -> ReadableStream { let this = constructor! return this[Strings.from].function!(this: this, arguments: [_toJSValue(asyncIterable)]).fromJSValue()! } - @ReadonlyAttribute - public var locked: Bool + @inlinable public var locked: Bool { jsObject[Strings.locked].fromJSValue()! } - @inlinable public func cancel(reason: JSValue? = nil) -> JSPromise { + @inlinable final public func cancel(reason: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func cancel(reason: JSValue? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func cancel( + reason: JSValue? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func getReader(options: ReadableStreamGetReaderOptions? = nil) -> ReadableStreamReader { + @inlinable final public func getReader(options: ReadableStreamGetReaderOptions? = nil) -> ReadableStreamReader { let this = jsObject return this[Strings.getReader].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func pipeThrough(transform: ReadableWritablePair, options: StreamPipeOptions? = nil) -> Self { + @inlinable final public func pipeThrough( + transform: ReadableWritablePair, + options: StreamPipeOptions? = nil + ) -> ReadableStream { let this = jsObject - return this[Strings.pipeThrough].function!(this: this, arguments: [_toJSValue(transform), _toJSValue(options)]).fromJSValue()! + return this[Strings.pipeThrough].function!(this: this, arguments: [_toJSValue(transform), _toJSValue(options)]) + .fromJSValue()! } - @inlinable public func pipeTo(destination: WritableStream, options: StreamPipeOptions? = nil) -> JSPromise { + @inlinable final public func pipeTo(destination: WritableStream, options: StreamPipeOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.pipeTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]).fromJSValue()! + return this[Strings.pipeTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func pipeTo(destination: WritableStream, options: StreamPipeOptions? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.pipeTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func pipeTo( + destination: WritableStream, + options: StreamPipeOptions? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.pipeTo].function!( + this: this, + arguments: [_toJSValue(destination), _toJSValue(options)] + ).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func tee() -> [ReadableStream] { + @inlinable final public func tee() -> [ReadableStream] { let this = jsObject return this[Strings.tee].function!(this: this, arguments: []).fromJSValue()! } - public typealias Element = JSValue - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - public func makeAsyncIterator() -> ValueIterableAsyncIterator { - ValueIterableAsyncIterator(sequence: self) - } + #if canImport(JavaScriptEventLoop) + public typealias Element = JSValue + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) public func makeAsyncIterator() + -> ValueIterableAsyncIterator + { ValueIterableAsyncIterator(sequence: self) } + #endif } +#if canImport(JavaScriptEventLoop) + extension ReadableStream: AsyncSequence {} +#endif + public class ReadableStreamBYOBReader: JSBridgedClass, ReadableStreamGenericReader { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableStreamBYOBReader].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(stream: ReadableStream) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream)])) } - @inlinable public func read(view: ArrayBufferView) -> JSPromise { + @inlinable final public func read( + view: ArrayBufferView, + options: ReadableStreamBYOBReaderReadOptions? = nil + ) -> JSPromise { let this = jsObject - return this[Strings.read].function!(this: this, arguments: [_toJSValue(view)]).fromJSValue()! + return this[Strings.read].function!(this: this, arguments: [_toJSValue(view), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func read(view: ArrayBufferView) async throws -> ReadableStreamReadResult { - let this = jsObject - let _promise: JSPromise = this[Strings.read].function!(this: this, arguments: [_toJSValue(view)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func read( + view: ArrayBufferView, + options: ReadableStreamBYOBReaderReadOptions? = nil + ) async throws(JSException) -> ReadableStreamReadResult { + let this = jsObject + let _promise: JSPromise = this[Strings.read].function!( + this: this, + arguments: [_toJSValue(view), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func releaseLock() { + @inlinable final public func releaseLock() { let this = jsObject _ = this[Strings.releaseLock].function!(this: this, arguments: []) } } +open class ReadableStreamBYOBReaderReadOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(min: UInt64? = nil) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.min] = _toJSValue(min) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var min: UInt64 { + get { jsObject[Strings.min].fromJSValue()! } + set { jsObject[Strings.min] = _toJSValue(newValue) } + } +} public class ReadableStreamBYOBRequest: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableStreamBYOBRequest].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _view = ReadonlyAttribute(jsObject: jsObject, name: Strings.view) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var view: ArrayBufferView? + @inlinable public var view: ArrayBufferView? { jsObject[Strings.view].fromJSValue() } - @inlinable public func respond(bytesWritten: UInt64) { + @inlinable final public func respond(bytesWritten: UInt64) { let this = jsObject _ = this[Strings.respond].function!(this: this, arguments: [_toJSValue(bytesWritten)]) } - @inlinable public func respondWithNewView(view: ArrayBufferView) { + @inlinable final public func respondWithNewView(view: ArrayBufferView) { let this = jsObject _ = this[Strings.respondWithNewView].function!(this: this, arguments: [_toJSValue(view)]) } } public class ReadableStreamDefaultController: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableStreamDefaultController].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.ReadableStreamDefaultController].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _desiredSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.desiredSize) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var desiredSize: Double? + @inlinable public var desiredSize: Double? { jsObject[Strings.desiredSize].fromJSValue() } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @inlinable public func enqueue(chunk: JSValue? = nil) { + @inlinable final public func enqueue(chunk: JSValue? = nil) { let this = jsObject _ = this[Strings.enqueue].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable public func error(e: JSValue? = nil) { + @inlinable final public func error(e: JSValue? = nil) { let this = jsObject _ = this[Strings.error].function!(this: this, arguments: [_toJSValue(e)]) } } public class ReadableStreamDefaultReader: JSBridgedClass, ReadableStreamGenericReader { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ReadableStreamDefaultReader].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.ReadableStreamDefaultReader].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(stream: ReadableStream) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream)])) } - @inlinable public func read() -> JSPromise { + @inlinable final public func read() -> JSPromise { let this = jsObject return this[Strings.read].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func read() async throws -> ReadableStreamReadResult { - let this = jsObject - let _promise: JSPromise = this[Strings.read].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func read() + async throws(JSException) -> ReadableStreamReadResult + { + let this = jsObject + let _promise: JSPromise = this[Strings.read].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func releaseLock() { + @inlinable final public func releaseLock() { let this = jsObject _ = this[Strings.releaseLock].function!(this: this, arguments: []) } } public protocol ReadableStreamGenericReader: JSBridgedClass {} -public extension ReadableStreamGenericReader { - @inlinable var closed: JSPromise { jsObject[Strings.closed].fromJSValue()! } +extension ReadableStreamGenericReader { + @inlinable public var closed: JSPromise { jsObject[Strings.closed].fromJSValue()! } - @inlinable func cancel(reason: JSValue? = nil) -> JSPromise { + @inlinable public func cancel(reason: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func cancel(reason: JSValue? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func cancel( + reason: JSValue? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.cancel].function!(this: this, arguments: [_toJSValue(reason)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif } +open class ReadableStreamGetReaderOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ReadableStreamGetReaderOptions: BridgedDictionary { - public convenience init(mode: ReadableStreamReaderMode) { + public convenience init(mode: ReadableStreamReaderMode? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.mode] = _toJSValue(mode) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _mode = ReadWriteAttribute(jsObject: object, name: Strings.mode) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var mode: ReadableStreamReaderMode? + @inlinable public var mode: ReadableStreamReaderMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } } +open class ReadableStreamIteratorOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class ReadableStreamIteratorOptions: BridgedDictionary { - public convenience init(preventCancel: Bool) { + public convenience init(preventCancel: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.preventCancel] = _toJSValue(preventCancel) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _preventCancel = ReadWriteAttribute(jsObject: object, name: Strings.preventCancel) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var preventCancel: Bool? + @inlinable public var preventCancel: Bool { + get { jsObject[Strings.preventCancel].fromJSValue()! } + set { jsObject[Strings.preventCancel] = _toJSValue(newValue) } + } } +open class ReadableStreamReadResult: JSDictionaryCompatible { + public let jsObject: JSObject -public class ReadableStreamReadResult: BridgedDictionary { - public convenience init(value: JSValue, done: Bool) { + public convenience init(value: JSValue? = nil, done: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.value] = _toJSValue(value) object[Strings.done] = _toJSValue(done) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _value = ReadWriteAttribute(jsObject: object, name: Strings.value) - _done = ReadWriteAttribute(jsObject: object, name: Strings.done) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var value: JSValue? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var done: Bool? + @inlinable public var value: JSValue { + get { jsObject[Strings.value].fromJSValue()! } + set { jsObject[Strings.value] = _toJSValue(newValue) } + } + @inlinable public var done: Bool { + get { jsObject[Strings.done].fromJSValue()! } + set { jsObject[Strings.done] = _toJSValue(newValue) } + } } - public enum ReadableStreamReaderMode: JSString, JSValueCompatible { case byob = "byob" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ReadableStreamType: JSString, JSValueCompatible { case bytes = "bytes" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class ReadableWritablePair: JSDictionaryCompatible { + public let jsObject: JSObject -public class ReadableWritablePair: BridgedDictionary { public convenience init(readable: ReadableStream, writable: WritableStream) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.readable] = _toJSValue(readable) object[Strings.writable] = _toJSValue(writable) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _readable = ReadWriteAttribute(jsObject: object, name: Strings.readable) - _writable = ReadWriteAttribute(jsObject: object, name: Strings.writable) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var readable: ReadableStream + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var writable: WritableStream + @inlinable public var readable: ReadableStream { + get { jsObject[Strings.readable].fromJSValue()! } + set { jsObject[Strings.readable] = _toJSValue(newValue) } + } + @inlinable public var writable: WritableStream { + get { jsObject[Strings.writable].fromJSValue()! } + set { jsObject[Strings.writable] = _toJSValue(newValue) } + } } - public enum ReadyState: JSString, JSValueCompatible { case closed = "closed" case open = "open" case ended = "ended" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum RecordingState: JSString, JSValueCompatible { case inactive = "inactive" case recording = "recording" case paused = "paused" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ReferrerPolicy: JSString, JSValueCompatible { case _empty = "" case noReferrer = "no-referrer" @@ -14477,123 +16218,89 @@ public enum ReferrerPolicy: JSString, JSValueCompatible { case unsafeUrl = "unsafe-url" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class RegistrationOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class RegistrationOptions: BridgedDictionary { - public convenience init(scope: String, type: WorkerType, updateViaCache: ServiceWorkerUpdateViaCache) { + public convenience init( + scope: String? = nil, + type: WorkerType? = nil, + updateViaCache: ServiceWorkerUpdateViaCache? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.scope] = _toJSValue(scope) object[Strings.type] = _toJSValue(type) object[Strings.updateViaCache] = _toJSValue(updateViaCache) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _scope = ReadWriteAttribute(jsObject: object, name: Strings.scope) - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _updateViaCache = ReadWriteAttribute(jsObject: object, name: Strings.updateViaCache) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var scope: String? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var type: WorkerType? - - @ReadWriteAttribute - public var updateViaCache: ServiceWorkerUpdateViaCache? + @inlinable public var scope: String { + get { jsObject[Strings.scope].fromJSValue()! } + set { jsObject[Strings.scope] = _toJSValue(newValue) } + } + @inlinable public var type: WorkerType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var updateViaCache: ServiceWorkerUpdateViaCache { + get { jsObject[Strings.updateViaCache].fromJSValue()! } + set { jsObject[Strings.updateViaCache] = _toJSValue(newValue) } + } } - public class Request: JSBridgedClass, Body { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Request].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _method = ReadonlyAttribute(jsObject: jsObject, name: Strings.method) - _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) - _headers = ReadonlyAttribute(jsObject: jsObject, name: Strings.headers) - _destination = ReadonlyAttribute(jsObject: jsObject, name: Strings.destination) - _referrer = ReadonlyAttribute(jsObject: jsObject, name: Strings.referrer) - _referrerPolicy = ReadonlyAttribute(jsObject: jsObject, name: Strings.referrerPolicy) - _mode = ReadonlyAttribute(jsObject: jsObject, name: Strings.mode) - _credentials = ReadonlyAttribute(jsObject: jsObject, name: Strings.credentials) - _cache = ReadonlyAttribute(jsObject: jsObject, name: Strings.cache) - _redirect = ReadonlyAttribute(jsObject: jsObject, name: Strings.redirect) - _integrity = ReadonlyAttribute(jsObject: jsObject, name: Strings.integrity) - _keepalive = ReadonlyAttribute(jsObject: jsObject, name: Strings.keepalive) - _isReloadNavigation = ReadonlyAttribute(jsObject: jsObject, name: Strings.isReloadNavigation) - _isHistoryNavigation = ReadonlyAttribute(jsObject: jsObject, name: Strings.isHistoryNavigation) - _signal = ReadonlyAttribute(jsObject: jsObject, name: Strings.signal) - _duplex = ReadonlyAttribute(jsObject: jsObject, name: Strings.duplex) - self.jsObject = jsObject - } - - @inlinable public convenience init(input: RequestInfo, init: RequestInit? = nil) { + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public convenience init(input: RequestInfo, `init`: RequestInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(input), _toJSValue(`init`)])) } - @ReadonlyAttribute - public var method: String + @inlinable public var method: String { jsObject[Strings.method].fromJSValue()! } - @ReadonlyAttribute - public var url: String + @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } - @ReadonlyAttribute - public var headers: Headers + @inlinable public var headers: Headers { jsObject[Strings.headers].fromJSValue()! } - @ReadonlyAttribute - public var destination: RequestDestination + @inlinable public var destination: RequestDestination { jsObject[Strings.destination].fromJSValue()! } - @ReadonlyAttribute - public var referrer: String + @inlinable public var referrer: String { jsObject[Strings.referrer].fromJSValue()! } - @ReadonlyAttribute - public var referrerPolicy: ReferrerPolicy + @inlinable public var referrerPolicy: ReferrerPolicy { jsObject[Strings.referrerPolicy].fromJSValue()! } - @ReadonlyAttribute - public var mode: RequestMode + @inlinable public var mode: RequestMode { jsObject[Strings.mode].fromJSValue()! } - @ReadonlyAttribute - public var credentials: RequestCredentials + @inlinable public var credentials: RequestCredentials { jsObject[Strings.credentials].fromJSValue()! } - @ReadonlyAttribute - public var cache: RequestCache + @inlinable public var cache: RequestCache { jsObject[Strings.cache].fromJSValue()! } - @ReadonlyAttribute - public var redirect: RequestRedirect + @inlinable public var redirect: RequestRedirect { jsObject[Strings.redirect].fromJSValue()! } - @ReadonlyAttribute - public var integrity: String + @inlinable public var integrity: String { jsObject[Strings.integrity].fromJSValue()! } - @ReadonlyAttribute - public var keepalive: Bool + @inlinable public var keepalive: Bool { jsObject[Strings.keepalive].fromJSValue()! } - @ReadonlyAttribute - public var isReloadNavigation: Bool + @inlinable public var isReloadNavigation: Bool { jsObject[Strings.isReloadNavigation].fromJSValue()! } - @ReadonlyAttribute - public var isHistoryNavigation: Bool + @inlinable public var isHistoryNavigation: Bool { jsObject[Strings.isHistoryNavigation].fromJSValue()! } - @ReadonlyAttribute - public var signal: AbortSignal + @inlinable public var signal: AbortSignal { jsObject[Strings.signal].fromJSValue()! } - @ReadonlyAttribute - public var duplex: RequestDuplex + @inlinable public var duplex: RequestDuplex { jsObject[Strings.duplex].fromJSValue()! } - @inlinable public func clone() -> Self { + @inlinable final public func clone() -> Request { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } @@ -14608,38 +16315,28 @@ public enum RequestCache: JSString, JSValueCompatible { case onlyIfCached = "only-if-cached" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum RequestCredentials: JSString, JSValueCompatible { case omit = "omit" case sameOrigin = "same-origin" case include = "include" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum RequestDestination: JSString, JSValueCompatible { case _empty = "" case audio = "audio" @@ -14650,6 +16347,7 @@ public enum RequestDestination: JSString, JSValueCompatible { case frame = "frame" case iframe = "iframe" case image = "image" + case json = "json" case manifest = "manifest" case object = "object" case paintworklet = "paintworklet" @@ -14663,38 +16361,46 @@ public enum RequestDestination: JSString, JSValueCompatible { case xslt = "xslt" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum RequestDuplex: JSString, JSValueCompatible { case half = "half" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class RequestInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class RequestInit: BridgedDictionary { - public convenience init(method: String, headers: HeadersInit, body: BodyInit?, referrer: String, referrerPolicy: ReferrerPolicy, mode: RequestMode, credentials: RequestCredentials, cache: RequestCache, redirect: RequestRedirect, integrity: String, keepalive: Bool, signal: AbortSignal?, duplex: RequestDuplex, priority: RequestPriority, window: JSValue) { + public convenience init( + method: String? = nil, + headers: HeadersInit? = nil, + body: BodyInit?, + referrer: String? = nil, + referrerPolicy: ReferrerPolicy? = nil, + mode: RequestMode? = nil, + credentials: RequestCredentials? = nil, + cache: RequestCache? = nil, + redirect: RequestRedirect? = nil, + integrity: String? = nil, + keepalive: Bool? = nil, + signal: AbortSignal?, + duplex: RequestDuplex? = nil, + priority: RequestPriority? = nil, + window: JSValue? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.method] = _toJSValue(method) object[Strings.headers] = _toJSValue(headers) @@ -14711,74 +16417,73 @@ public class RequestInit: BridgedDictionary { object[Strings.duplex] = _toJSValue(duplex) object[Strings.priority] = _toJSValue(priority) object[Strings.window] = _toJSValue(window) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _method = ReadWriteAttribute(jsObject: object, name: Strings.method) - _headers = ReadWriteAttribute(jsObject: object, name: Strings.headers) - _body = ReadWriteAttribute(jsObject: object, name: Strings.body) - _referrer = ReadWriteAttribute(jsObject: object, name: Strings.referrer) - _referrerPolicy = ReadWriteAttribute(jsObject: object, name: Strings.referrerPolicy) - _mode = ReadWriteAttribute(jsObject: object, name: Strings.mode) - _credentials = ReadWriteAttribute(jsObject: object, name: Strings.credentials) - _cache = ReadWriteAttribute(jsObject: object, name: Strings.cache) - _redirect = ReadWriteAttribute(jsObject: object, name: Strings.redirect) - _integrity = ReadWriteAttribute(jsObject: object, name: Strings.integrity) - _keepalive = ReadWriteAttribute(jsObject: object, name: Strings.keepalive) - _signal = ReadWriteAttribute(jsObject: object, name: Strings.signal) - _duplex = ReadWriteAttribute(jsObject: object, name: Strings.duplex) - _priority = ReadWriteAttribute(jsObject: object, name: Strings.priority) - _window = ReadWriteAttribute(jsObject: object, name: Strings.window) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var method: String? - - @ReadWriteAttribute - public var headers: HeadersInit? - - @ReadWriteAttribute - public var body: BodyInit? - - @ReadWriteAttribute - public var referrer: String? - - @ReadWriteAttribute - public var referrerPolicy: ReferrerPolicy? - - @ReadWriteAttribute - public var mode: RequestMode? - - @ReadWriteAttribute - public var credentials: RequestCredentials? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var cache: RequestCache? - - @ReadWriteAttribute - public var redirect: RequestRedirect? - - @ReadWriteAttribute - public var integrity: String? - - @ReadWriteAttribute - public var keepalive: Bool? - - @ReadWriteAttribute - public var signal: AbortSignal? - - @ReadWriteAttribute - public var duplex: RequestDuplex? - - @ReadWriteAttribute - public var priority: RequestPriority? - - @ReadWriteAttribute - public var window: JSValue? + @inlinable public var method: String { + get { jsObject[Strings.method].fromJSValue()! } + set { jsObject[Strings.method] = _toJSValue(newValue) } + } + @inlinable public var headers: HeadersInit { + get { jsObject[Strings.headers].fromJSValue()! } + set { jsObject[Strings.headers] = _toJSValue(newValue) } + } + @inlinable public var body: BodyInit? { + get { jsObject[Strings.body].fromJSValue() } + set { jsObject[Strings.body] = _toJSValue(newValue) } + } + @inlinable public var referrer: String { + get { jsObject[Strings.referrer].fromJSValue()! } + set { jsObject[Strings.referrer] = _toJSValue(newValue) } + } + @inlinable public var referrerPolicy: ReferrerPolicy { + get { jsObject[Strings.referrerPolicy].fromJSValue()! } + set { jsObject[Strings.referrerPolicy] = _toJSValue(newValue) } + } + @inlinable public var mode: RequestMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } + @inlinable public var credentials: RequestCredentials { + get { jsObject[Strings.credentials].fromJSValue()! } + set { jsObject[Strings.credentials] = _toJSValue(newValue) } + } + @inlinable public var cache: RequestCache { + get { jsObject[Strings.cache].fromJSValue()! } + set { jsObject[Strings.cache] = _toJSValue(newValue) } + } + @inlinable public var redirect: RequestRedirect { + get { jsObject[Strings.redirect].fromJSValue()! } + set { jsObject[Strings.redirect] = _toJSValue(newValue) } + } + @inlinable public var integrity: String { + get { jsObject[Strings.integrity].fromJSValue()! } + set { jsObject[Strings.integrity] = _toJSValue(newValue) } + } + @inlinable public var keepalive: Bool { + get { jsObject[Strings.keepalive].fromJSValue()! } + set { jsObject[Strings.keepalive] = _toJSValue(newValue) } + } + @inlinable public var signal: AbortSignal? { + get { jsObject[Strings.signal].fromJSValue() } + set { jsObject[Strings.signal] = _toJSValue(newValue) } + } + @inlinable public var duplex: RequestDuplex { + get { jsObject[Strings.duplex].fromJSValue()! } + set { jsObject[Strings.duplex] = _toJSValue(newValue) } + } + @inlinable public var priority: RequestPriority { + get { jsObject[Strings.priority].fromJSValue()! } + set { jsObject[Strings.priority] = _toJSValue(newValue) } + } + @inlinable public var window: JSValue { + get { jsObject[Strings.window].fromJSValue()! } + set { jsObject[Strings.window] = _toJSValue(newValue) } + } } - public enum RequestMode: JSString, JSValueCompatible { case navigate = "navigate" case sameOrigin = "same-origin" @@ -14786,57 +16491,42 @@ public enum RequestMode: JSString, JSValueCompatible { case cors = "cors" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum RequestPriority: JSString, JSValueCompatible { case high = "high" case low = "low" case auto = "auto" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum RequestRedirect: JSString, JSValueCompatible { case follow = "follow" case error = "error" case manual = "manual" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ResizeQuality: JSString, JSValueCompatible { case pixelated = "pixelated" case low = "low" @@ -14844,107 +16534,89 @@ public enum ResizeQuality: JSString, JSValueCompatible { case high = "high" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class Response: JSBridgedClass, Body { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Response].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) - _redirected = ReadonlyAttribute(jsObject: jsObject, name: Strings.redirected) - _status = ReadonlyAttribute(jsObject: jsObject, name: Strings.status) - _ok = ReadonlyAttribute(jsObject: jsObject, name: Strings.ok) - _statusText = ReadonlyAttribute(jsObject: jsObject, name: Strings.statusText) - _headers = ReadonlyAttribute(jsObject: jsObject, name: Strings.headers) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(body: BodyInit? = nil, init: ResponseInit? = nil) { + @inlinable public convenience init(body: BodyInit? = nil, `init`: ResponseInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(body), _toJSValue(`init`)])) } - @inlinable public class func error() -> Self { + @inlinable public class func error() -> Response { let this = constructor! return this[Strings.error].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public class func redirect(url: String, status: UInt16? = nil) -> Self { + @inlinable public class func redirect(url: String, status: UInt16? = nil) -> Response { let this = constructor! - return this[Strings.redirect].function!(this: this, arguments: [_toJSValue(url), _toJSValue(status)]).fromJSValue()! + return this[Strings.redirect].function!(this: this, arguments: [_toJSValue(url), _toJSValue(status)]) + .fromJSValue()! } - @inlinable public class func json(data: JSValue, init: ResponseInit? = nil) -> Self { + @inlinable public class func json(data: JSValue, `init`: ResponseInit? = nil) -> Response { let this = constructor! - return this[Strings.json].function!(this: this, arguments: [_toJSValue(data), _toJSValue(`init`)]).fromJSValue()! + return this[Strings.json].function!(this: this, arguments: [_toJSValue(data), _toJSValue(`init`)]) + .fromJSValue()! } - @ReadonlyAttribute - public var type: ResponseType + @inlinable public var type: ResponseType { jsObject[Strings.type].fromJSValue()! } - @ReadonlyAttribute - public var url: String + @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } - @ReadonlyAttribute - public var redirected: Bool + @inlinable public var redirected: Bool { jsObject[Strings.redirected].fromJSValue()! } - @ReadonlyAttribute - public var status: UInt16 + @inlinable public var status: UInt16 { jsObject[Strings.status].fromJSValue()! } - @ReadonlyAttribute - public var ok: Bool + @inlinable public var ok: Bool { jsObject[Strings.ok].fromJSValue()! } - @ReadonlyAttribute - public var statusText: String + @inlinable public var statusText: String { jsObject[Strings.statusText].fromJSValue()! } - @ReadonlyAttribute - public var headers: Headers + @inlinable public var headers: Headers { jsObject[Strings.headers].fromJSValue()! } - @inlinable public func clone() -> Self { + @inlinable final public func clone() -> Response { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } } -public class ResponseInit: BridgedDictionary { - public convenience init(status: UInt16, statusText: String, headers: HeadersInit) { +open class ResponseInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(status: UInt16? = nil, statusText: String? = nil, headers: HeadersInit? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.status] = _toJSValue(status) object[Strings.statusText] = _toJSValue(statusText) object[Strings.headers] = _toJSValue(headers) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _status = ReadWriteAttribute(jsObject: object, name: Strings.status) - _statusText = ReadWriteAttribute(jsObject: object, name: Strings.statusText) - _headers = ReadWriteAttribute(jsObject: object, name: Strings.headers) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var status: UInt16? - - @ReadWriteAttribute - public var statusText: String? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var headers: HeadersInit? + @inlinable public var status: UInt16 { + get { jsObject[Strings.status].fromJSValue()! } + set { jsObject[Strings.status] = _toJSValue(newValue) } + } + @inlinable public var statusText: String { + get { jsObject[Strings.statusText].fromJSValue()! } + set { jsObject[Strings.statusText] = _toJSValue(newValue) } + } + @inlinable public var headers: HeadersInit { + get { jsObject[Strings.headers].fromJSValue()! } + set { jsObject[Strings.headers] = _toJSValue(newValue) } + } } - public enum ResponseType: JSString, JSValueCompatible { case basic = "basic" case cors = "cors" @@ -14954,168 +16626,282 @@ public enum ResponseType: JSString, JSValueCompatible { case opaqueredirect = "opaqueredirect" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - -public class Screen: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Screen].function } - +open class RouterCondition: JSDictionaryCompatible { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _availWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.availWidth) - _availHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.availHeight) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _colorDepth = ReadonlyAttribute(jsObject: jsObject, name: Strings.colorDepth) - _pixelDepth = ReadonlyAttribute(jsObject: jsObject, name: Strings.pixelDepth) - self.jsObject = jsObject - } - - @ReadonlyAttribute - public var availWidth: Int32 - - @ReadonlyAttribute - public var availHeight: Int32 - - @ReadonlyAttribute - public var width: Int32 + public convenience init( + urlPattern: URLPatternCompatible? = nil, + requestMethod: String? = nil, + requestMode: RequestMode? = nil, + requestDestination: RequestDestination? = nil, + runningStatus: RunningStatus? = nil, + or: [RouterCondition]? = nil, + not: RouterCondition? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.urlPattern] = _toJSValue(urlPattern) + object[Strings.requestMethod] = _toJSValue(requestMethod) + object[Strings.requestMode] = _toJSValue(requestMode) + object[Strings.requestDestination] = _toJSValue(requestDestination) + object[Strings.runningStatus] = _toJSValue(runningStatus) + object[Strings.or] = _toJSValue(or) + object[Strings.not] = _toJSValue(not) - @ReadonlyAttribute - public var height: Int32 + self.init(unsafelyWrapping: object) + } - @ReadonlyAttribute - public var colorDepth: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadonlyAttribute - public var pixelDepth: UInt32 + @inlinable public var urlPattern: URLPatternCompatible { + get { jsObject[Strings.urlPattern].fromJSValue()! } + set { jsObject[Strings.urlPattern] = _toJSValue(newValue) } + } + @inlinable public var requestMethod: String { + get { jsObject[Strings.requestMethod].fromJSValue()! } + set { jsObject[Strings.requestMethod] = _toJSValue(newValue) } + } + @inlinable public var requestMode: RequestMode { + get { jsObject[Strings.requestMode].fromJSValue()! } + set { jsObject[Strings.requestMode] = _toJSValue(newValue) } + } + @inlinable public var requestDestination: RequestDestination { + get { jsObject[Strings.requestDestination].fromJSValue()! } + set { jsObject[Strings.requestDestination] = _toJSValue(newValue) } + } + @inlinable public var runningStatus: RunningStatus { + get { jsObject[Strings.runningStatus].fromJSValue()! } + set { jsObject[Strings.runningStatus] = _toJSValue(newValue) } + } + @inlinable public var or: [RouterCondition] { + get { jsObject[Strings.or].fromJSValue()! } + set { jsObject[Strings.or] = _toJSValue(newValue) } + } + @inlinable public var not: RouterCondition { + get { jsObject[Strings.not].fromJSValue()! } + set { jsObject[Strings.not] = _toJSValue(newValue) } + } } +open class RouterRule: JSDictionaryCompatible { + public let jsObject: JSObject -public enum ScrollBehavior: JSString, JSValueCompatible { - case auto = "auto" - case instant = "instant" - case smooth = "smooth" + public convenience init(condition: RouterCondition, source: RouterSource) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.condition] = _toJSValue(condition) + object[Strings.source] = _toJSValue(source) - @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } - return nil + self.init(unsafelyWrapping: object) } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @inlinable public var jsValue: JSValue { rawValue.jsValue } + @inlinable public var condition: RouterCondition { + get { jsObject[Strings.condition].fromJSValue()! } + set { jsObject[Strings.condition] = _toJSValue(newValue) } + } + @inlinable public var source: RouterSource { + get { jsObject[Strings.source].fromJSValue()! } + set { jsObject[Strings.source] = _toJSValue(newValue) } + } } +open class RouterSourceDict: JSDictionaryCompatible { + public let jsObject: JSObject -public class ScrollIntoViewOptions: BridgedDictionary { - public convenience init(block: ScrollLogicalPosition, inline: ScrollLogicalPosition) { + public convenience init(cacheName: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.block] = _toJSValue(block) - object[Strings.inline] = _toJSValue(inline) - self.init(unsafelyWrapping: object) - } + object[Strings.cacheName] = _toJSValue(cacheName) - public required init(unsafelyWrapping object: JSObject) { - _block = ReadWriteAttribute(jsObject: object, name: Strings.block) - _inline = ReadWriteAttribute(jsObject: object, name: Strings.inline) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var block: ScrollLogicalPosition? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var inline: ScrollLogicalPosition? + @inlinable public var cacheName: String { + get { jsObject[Strings.cacheName].fromJSValue()! } + set { jsObject[Strings.cacheName] = _toJSValue(newValue) } + } } - -public enum ScrollLogicalPosition: JSString, JSValueCompatible { - case start = "start" - case center = "center" - case end = "end" - case nearest = "nearest" +public enum RouterSourceEnum: JSString, JSValueCompatible { + case cache = "cache" + case fetchEvent = "fetch-event" + case network = "network" + case raceNetworkAndFetchHandler = "race-network-and-fetch-handler" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +public enum RunningStatus: JSString, JSValueCompatible { + case running = "running" + case notRunning = "not-running" -public class ScrollOptions: BridgedDictionary { - public convenience init(behavior: ScrollBehavior) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.behavior] = _toJSValue(behavior) - self.init(unsafelyWrapping: object) + @inlinable public static func construct(from jsValue: JSValue) -> Self? { + if let string = jsValue.jsString { return Self(rawValue: string) } + return nil } - public required init(unsafelyWrapping object: JSObject) { - _behavior = ReadWriteAttribute(jsObject: object, name: Strings.behavior) - super.init(unsafelyWrapping: object) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } - @ReadWriteAttribute - public var behavior: ScrollBehavior? + @inlinable public var jsValue: JSValue { rawValue.jsValue } } +public class Screen: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Screen].function } -public enum ScrollRestoration: JSString, JSValueCompatible { - case auto = "auto" - case manual = "manual" + public let jsObject: JSObject - @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var availWidth: Int32 { jsObject[Strings.availWidth].fromJSValue()! } + + @inlinable public var availHeight: Int32 { jsObject[Strings.availHeight].fromJSValue()! } + + @inlinable public var width: Int32 { jsObject[Strings.width].fromJSValue()! } + + @inlinable public var height: Int32 { jsObject[Strings.height].fromJSValue()! } + + @inlinable public var colorDepth: UInt32 { jsObject[Strings.colorDepth].fromJSValue()! } + + @inlinable public var pixelDepth: UInt32 { jsObject[Strings.pixelDepth].fromJSValue()! } +} + +public enum ScrollBehavior: JSString, JSValueCompatible { + case auto = "auto" + case instant = "instant" + case smooth = "smooth" + + @inlinable public static func construct(from jsValue: JSValue) -> Self? { + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + + @inlinable public var jsValue: JSValue { rawValue.jsValue } +} +public enum ScrollIntoViewContainer: JSString, JSValueCompatible { + case all = "all" + case nearest = "nearest" + + @inlinable public static func construct(from jsValue: JSValue) -> Self? { + if let string = jsValue.jsString { return Self(rawValue: string) } + return nil } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class ScrollIntoViewOptions: ScrollOptions { -public class ScrollToOptions: BridgedDictionary { - public convenience init(left: Double, top: Double) { + public convenience init( + behavior: ScrollBehavior? = nil, + block: ScrollLogicalPosition? = nil, + inline: ScrollLogicalPosition? = nil, + container: ScrollIntoViewContainer? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.left] = _toJSValue(left) - object[Strings.top] = _toJSValue(top) + object[Strings.behavior] = _toJSValue(behavior) + object[Strings.block] = _toJSValue(block) + object[Strings.inline] = _toJSValue(inline) + object[Strings.container] = _toJSValue(container) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + + @inlinable public var block: ScrollLogicalPosition { + get { jsObject[Strings.block].fromJSValue()! } + set { jsObject[Strings.block] = _toJSValue(newValue) } + } + @inlinable public var inline: ScrollLogicalPosition { + get { jsObject[Strings.inline].fromJSValue()! } + set { jsObject[Strings.inline] = _toJSValue(newValue) } + } + @inlinable public var container: ScrollIntoViewContainer { + get { jsObject[Strings.container].fromJSValue()! } + set { jsObject[Strings.container] = _toJSValue(newValue) } + } +} +public enum ScrollLogicalPosition: JSString, JSValueCompatible { + case start = "start" + case center = "center" + case end = "end" + case nearest = "nearest" + + @inlinable public static func construct(from jsValue: JSValue) -> Self? { + if let string = jsValue.jsString { return Self(rawValue: string) } + return nil + } + + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + + @inlinable public var jsValue: JSValue { rawValue.jsValue } +} +open class ScrollOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(behavior: ScrollBehavior? = nil) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.behavior] = _toJSValue(behavior) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _left = ReadWriteAttribute(jsObject: object, name: Strings.left) - _top = ReadWriteAttribute(jsObject: object, name: Strings.top) - super.init(unsafelyWrapping: object) + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var behavior: ScrollBehavior { + get { jsObject[Strings.behavior].fromJSValue()! } + set { jsObject[Strings.behavior] = _toJSValue(newValue) } + } +} +public enum ScrollRestoration: JSString, JSValueCompatible { + case auto = "auto" + case manual = "manual" + + @inlinable public static func construct(from jsValue: JSValue) -> Self? { + if let string = jsValue.jsString { return Self(rawValue: string) } + return nil } - @ReadWriteAttribute - public var left: Double? + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } - @ReadWriteAttribute - public var top: Double? + @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class ScrollToOptions: ScrollOptions { + + public convenience init(behavior: ScrollBehavior? = nil, left: Double? = nil, top: Double? = nil) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.behavior] = _toJSValue(behavior) + object[Strings.left] = _toJSValue(left) + object[Strings.top] = _toJSValue(top) + + self.init(unsafelyWrapping: object) + } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + + @inlinable public var left: Double { + get { jsObject[Strings.left].fromJSValue()! } + set { jsObject[Strings.left] = _toJSValue(newValue) } + } + @inlinable public var top: Double { + get { jsObject[Strings.top].fromJSValue()! } + set { jsObject[Strings.top] = _toJSValue(newValue) } + } +} public enum SelectionMode: JSString, JSValueCompatible { case select = "select" case start = "start" @@ -15123,176 +16909,229 @@ public enum SelectionMode: JSString, JSValueCompatible { case preserve = "preserve" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class ServiceWorker: EventTarget, AbstractWorker { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ServiceWorker].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.ServiceWorker].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _scriptURL = ReadonlyAttribute(jsObject: jsObject, name: Strings.scriptURL) - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _onstatechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstatechange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var scriptURL: String + @inlinable public var scriptURL: String { jsObject[Strings.scriptURL].fromJSValue()! } - @ReadonlyAttribute - public var state: ServiceWorkerState + @inlinable public var state: ServiceWorkerState { jsObject[Strings.state].fromJSValue()! } - @inlinable public func postMessage(message: JSValue, transfer: [JSObject]) { + @inlinable final public func postMessage(message: JSValue, transfer: [JSObject]) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(transfer)]) } - @inlinable public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { + @inlinable final public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(options)]) } - @ClosureAttribute1Optional - public var onstatechange: EventHandler + @inlinable public var onstatechange: EventHandler { + get { + guard let function = jsObject[Strings.onstatechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onstatechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onstatechange] = .null + } + } + } } public class ServiceWorkerContainer: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ServiceWorkerContainer].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _controller = ReadonlyAttribute(jsObject: jsObject, name: Strings.controller) - _ready = ReadonlyAttribute(jsObject: jsObject, name: Strings.ready) - _oncontrollerchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncontrollerchange) - _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) - _onmessageerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessageerror) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.ServiceWorkerContainer].function } - @ReadonlyAttribute - public var controller: ServiceWorker? + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var ready: JSPromise + @inlinable public var controller: ServiceWorker? { jsObject[Strings.controller].fromJSValue() } - @inlinable public func register(scriptURL: String, options: RegistrationOptions? = nil) -> JSPromise { - let this = jsObject - return this[Strings.register].function!(this: this, arguments: [_toJSValue(scriptURL), _toJSValue(options)]).fromJSValue()! - } + @inlinable public var ready: JSPromise { jsObject[Strings.ready].fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func register(scriptURL: String, options: RegistrationOptions? = nil) async throws -> ServiceWorkerRegistration { + @inlinable final public func register( + scriptURL: String_or_TrustedScriptURL, + options: RegistrationOptions? = nil + ) -> JSPromise { let this = jsObject - let _promise: JSPromise = this[Strings.register].function!(this: this, arguments: [_toJSValue(scriptURL), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! + return this[Strings.register].function!(this: this, arguments: [_toJSValue(scriptURL), _toJSValue(options)]) + .fromJSValue()! } - @inlinable public func getRegistration(clientURL: String? = nil) -> JSPromise { + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func register( + scriptURL: String_or_TrustedScriptURL, + options: RegistrationOptions? = nil + ) async throws(JSException) -> ServiceWorkerRegistration { + let this = jsObject + let _promise: JSPromise = this[Strings.register].function!( + this: this, + arguments: [_toJSValue(scriptURL), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif + + @inlinable final public func getRegistration(clientURL: String? = nil) -> JSPromise { let this = jsObject return this[Strings.getRegistration].function!(this: this, arguments: [_toJSValue(clientURL)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func getRegistration(clientURL: String? = nil) async throws -> ServiceWorkerRegistration? { - let this = jsObject - let _promise: JSPromise = this[Strings.getRegistration].function!(this: this, arguments: [_toJSValue(clientURL)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getRegistration( + clientURL: String? = nil + ) async throws(JSException) -> ServiceWorkerRegistration? { + let this = jsObject + let _promise: JSPromise = this[Strings.getRegistration].function!( + this: this, + arguments: [_toJSValue(clientURL)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func getRegistrations() -> JSPromise { + @inlinable final public func getRegistrations() -> JSPromise { let this = jsObject return this[Strings.getRegistrations].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func getRegistrations() async throws -> [ServiceWorkerRegistration] { - let this = jsObject - let _promise: JSPromise = this[Strings.getRegistrations].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func getRegistrations() + async throws(JSException) -> [ServiceWorkerRegistration] + { + let this = jsObject + let _promise: JSPromise = this[Strings.getRegistrations].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func startMessages() { + @inlinable final public func startMessages() { let this = jsObject _ = this[Strings.startMessages].function!(this: this, arguments: []) } - @ClosureAttribute1Optional - public var oncontrollerchange: EventHandler + @inlinable public var oncontrollerchange: EventHandler { + get { + guard let function = jsObject[Strings.oncontrollerchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncontrollerchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncontrollerchange] = .null + } + } + } - @ClosureAttribute1Optional - public var onmessage: EventHandler + @inlinable public var onmessage: EventHandler { + get { + guard let function = jsObject[Strings.onmessage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessage] = .null + } + } + } - @ClosureAttribute1Optional - public var onmessageerror: EventHandler + @inlinable public var onmessageerror: EventHandler { + get { + guard let function = jsObject[Strings.onmessageerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessageerror] = .null + } + } + } } public class ServiceWorkerRegistration: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ServiceWorkerRegistration].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _installing = ReadonlyAttribute(jsObject: jsObject, name: Strings.installing) - _waiting = ReadonlyAttribute(jsObject: jsObject, name: Strings.waiting) - _active = ReadonlyAttribute(jsObject: jsObject, name: Strings.active) - _navigationPreload = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigationPreload) - _scope = ReadonlyAttribute(jsObject: jsObject, name: Strings.scope) - _updateViaCache = ReadonlyAttribute(jsObject: jsObject, name: Strings.updateViaCache) - _onupdatefound = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onupdatefound) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.ServiceWorkerRegistration].function } - @ReadonlyAttribute - public var installing: ServiceWorker? + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var waiting: ServiceWorker? + @inlinable public var installing: ServiceWorker? { jsObject[Strings.installing].fromJSValue() } - @ReadonlyAttribute - public var active: ServiceWorker? + @inlinable public var waiting: ServiceWorker? { jsObject[Strings.waiting].fromJSValue() } - @ReadonlyAttribute - public var navigationPreload: NavigationPreloadManager + @inlinable public var active: ServiceWorker? { jsObject[Strings.active].fromJSValue() } - @ReadonlyAttribute - public var scope: String + @inlinable public var navigationPreload: NavigationPreloadManager { + jsObject[Strings.navigationPreload].fromJSValue()! + } - @ReadonlyAttribute - public var updateViaCache: ServiceWorkerUpdateViaCache + @inlinable public var scope: String { jsObject[Strings.scope].fromJSValue()! } - @inlinable public func update() -> JSPromise { - let this = jsObject - return this[Strings.update].function!(this: this, arguments: []).fromJSValue()! + @inlinable public var updateViaCache: ServiceWorkerUpdateViaCache { + jsObject[Strings.updateViaCache].fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func update() async throws { + @inlinable final public func update() -> JSPromise { let this = jsObject - let _promise: JSPromise = this[Strings.update].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value + return this[Strings.update].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func unregister() -> JSPromise { + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func update() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.update].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif + + @inlinable final public func unregister() -> JSPromise { let this = jsObject return this[Strings.unregister].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func unregister() async throws -> Bool { - let this = jsObject - let _promise: JSPromise = this[Strings.unregister].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func unregister() + async throws(JSException) -> Bool + { + let this = jsObject + let _promise: JSPromise = this[Strings.unregister].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @ClosureAttribute1Optional - public var onupdatefound: EventHandler + @inlinable public var onupdatefound: EventHandler { + get { + guard let function = jsObject[Strings.onupdatefound].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onupdatefound] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onupdatefound] = .null + } + } + } } public enum ServiceWorkerState: JSString, JSValueCompatible { @@ -15304,529 +17143,652 @@ public enum ServiceWorkerState: JSString, JSValueCompatible { case redundant = "redundant" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum ServiceWorkerUpdateViaCache: JSString, JSValueCompatible { case imports = "imports" case all = "all" case none = "none" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - open class ShadowRoot: DocumentFragment, DocumentOrShadowRoot { - @inlinable override open class var constructor: JSFunction? { JSObject.global[Strings.ShadowRoot].function } + @inlinable open override class var constructor: JSFunction? { JSObject.global[Strings.ShadowRoot].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _mode = ReadonlyAttribute(jsObject: jsObject, name: Strings.mode) - _delegatesFocus = ReadonlyAttribute(jsObject: jsObject, name: Strings.delegatesFocus) - _slotAssignment = ReadonlyAttribute(jsObject: jsObject, name: Strings.slotAssignment) - _host = ReadonlyAttribute(jsObject: jsObject, name: Strings.host) - _onslotchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onslotchange) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var mode: ShadowRootMode { jsObject[Strings.mode].fromJSValue()! } - @ReadonlyAttribute - public var mode: ShadowRootMode + @inlinable public var delegatesFocus: Bool { jsObject[Strings.delegatesFocus].fromJSValue()! } - @ReadonlyAttribute - public var delegatesFocus: Bool + @inlinable public var slotAssignment: SlotAssignmentMode { jsObject[Strings.slotAssignment].fromJSValue()! } + + @inlinable public var clonable: Bool { jsObject[Strings.clonable].fromJSValue()! } + + @inlinable public var serializable: Bool { jsObject[Strings.serializable].fromJSValue()! } + + @inlinable public var host: Element { jsObject[Strings.host].fromJSValue()! } + + @inlinable public var onslotchange: EventHandler { + get { + guard let function = jsObject[Strings.onslotchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onslotchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onslotchange] = .null + } + } + } - @ReadonlyAttribute - public var slotAssignment: SlotAssignmentMode + @inlinable final public func setHTMLUnsafe(html: String_or_TrustedHTML) { + let this = jsObject + _ = this[Strings.setHTMLUnsafe].function!(this: this, arguments: [_toJSValue(html)]) + } - @ReadonlyAttribute - public var host: Element + @inlinable final public func getHTML(options: GetHTMLOptions? = nil) -> String { + let this = jsObject + return this[Strings.getHTML].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! + } - @ClosureAttribute1Optional - public var onslotchange: EventHandler + @inlinable public var innerHTML: String_or_TrustedHTML { + get { jsObject[Strings.innerHTML].fromJSValue()! } + set { jsObject[Strings.innerHTML] = _toJSValue(newValue) } + } } -public class ShadowRootInit: BridgedDictionary { - public convenience init(mode: ShadowRootMode, delegatesFocus: Bool, slotAssignment: SlotAssignmentMode) { +open class ShadowRootInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + mode: ShadowRootMode, + delegatesFocus: Bool? = nil, + slotAssignment: SlotAssignmentMode? = nil, + clonable: Bool? = nil, + serializable: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.mode] = _toJSValue(mode) object[Strings.delegatesFocus] = _toJSValue(delegatesFocus) object[Strings.slotAssignment] = _toJSValue(slotAssignment) - self.init(unsafelyWrapping: object) - } + object[Strings.clonable] = _toJSValue(clonable) + object[Strings.serializable] = _toJSValue(serializable) - public required init(unsafelyWrapping object: JSObject) { - _mode = ReadWriteAttribute(jsObject: object, name: Strings.mode) - _delegatesFocus = ReadWriteAttribute(jsObject: object, name: Strings.delegatesFocus) - _slotAssignment = ReadWriteAttribute(jsObject: object, name: Strings.slotAssignment) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var mode: ShadowRootMode - - @ReadWriteAttribute - public var delegatesFocus: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var slotAssignment: SlotAssignmentMode? + @inlinable public var mode: ShadowRootMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } + @inlinable public var delegatesFocus: Bool { + get { jsObject[Strings.delegatesFocus].fromJSValue()! } + set { jsObject[Strings.delegatesFocus] = _toJSValue(newValue) } + } + @inlinable public var slotAssignment: SlotAssignmentMode { + get { jsObject[Strings.slotAssignment].fromJSValue()! } + set { jsObject[Strings.slotAssignment] = _toJSValue(newValue) } + } + @inlinable public var clonable: Bool { + get { jsObject[Strings.clonable].fromJSValue()! } + set { jsObject[Strings.clonable] = _toJSValue(newValue) } + } + @inlinable public var serializable: Bool { + get { jsObject[Strings.serializable].fromJSValue()! } + set { jsObject[Strings.serializable] = _toJSValue(newValue) } + } } - public enum ShadowRootMode: JSString, JSValueCompatible { case open = "open" case closed = "closed" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class SharedWorker: EventTarget, AbstractWorker { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SharedWorker].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SharedWorker].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _port = ReadonlyAttribute(jsObject: jsObject, name: Strings.port) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(scriptURL: String, options: String_or_WorkerOptions? = nil) { + @inlinable public convenience init(scriptURL: String_or_TrustedScriptURL, options: String_or_WorkerOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(scriptURL), _toJSValue(options)])) } - @ReadonlyAttribute - public var port: MessagePort + @inlinable public var port: MessagePort { jsObject[Strings.port].fromJSValue()! } } +open class ShowPopoverOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(source: HTMLElement? = nil) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.source] = _toJSValue(source) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var source: HTMLElement { + get { jsObject[Strings.source].fromJSValue()! } + set { jsObject[Strings.source] = _toJSValue(newValue) } + } +} public enum SlotAssignmentMode: JSString, JSValueCompatible { case manual = "manual" case named = "named" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public protocol Slottable: JSBridgedClass {} -public extension Slottable { - @inlinable var assignedSlot: HTMLSlotElement? { jsObject[Strings.assignedSlot].fromJSValue() } +extension Slottable { + @inlinable public var assignedSlot: HTMLSlotElement? { jsObject[Strings.assignedSlot].fromJSValue() } } - public class SourceBuffer: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SourceBuffer].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SourceBuffer].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _mode = ReadWriteAttribute(jsObject: jsObject, name: Strings.mode) - _updating = ReadonlyAttribute(jsObject: jsObject, name: Strings.updating) - _buffered = ReadonlyAttribute(jsObject: jsObject, name: Strings.buffered) - _timestampOffset = ReadWriteAttribute(jsObject: jsObject, name: Strings.timestampOffset) - _audioTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioTracks) - _videoTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoTracks) - _textTracks = ReadonlyAttribute(jsObject: jsObject, name: Strings.textTracks) - _appendWindowStart = ReadWriteAttribute(jsObject: jsObject, name: Strings.appendWindowStart) - _appendWindowEnd = ReadWriteAttribute(jsObject: jsObject, name: Strings.appendWindowEnd) - _onupdatestart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onupdatestart) - _onupdate = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onupdate) - _onupdateend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onupdateend) - _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) - _onabort = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onabort) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadWriteAttribute - public var mode: AppendMode + @inlinable public var mode: AppendMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var updating: Bool + @inlinable public var updating: Bool { jsObject[Strings.updating].fromJSValue()! } - @ReadonlyAttribute - public var buffered: TimeRanges + @inlinable public var buffered: TimeRanges { jsObject[Strings.buffered].fromJSValue()! } - @ReadWriteAttribute - public var timestampOffset: Double + @inlinable public var timestampOffset: Double { + get { jsObject[Strings.timestampOffset].fromJSValue()! } + set { jsObject[Strings.timestampOffset] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var audioTracks: AudioTrackList + @inlinable public var audioTracks: AudioTrackList { jsObject[Strings.audioTracks].fromJSValue()! } - @ReadonlyAttribute - public var videoTracks: VideoTrackList + @inlinable public var videoTracks: VideoTrackList { jsObject[Strings.videoTracks].fromJSValue()! } - @ReadonlyAttribute - public var textTracks: TextTrackList + @inlinable public var textTracks: TextTrackList { jsObject[Strings.textTracks].fromJSValue()! } - @ReadWriteAttribute - public var appendWindowStart: Double + @inlinable public var appendWindowStart: Double { + get { jsObject[Strings.appendWindowStart].fromJSValue()! } + set { jsObject[Strings.appendWindowStart] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var appendWindowEnd: Double + @inlinable public var appendWindowEnd: Double { + get { jsObject[Strings.appendWindowEnd].fromJSValue()! } + set { jsObject[Strings.appendWindowEnd] = _toJSValue(newValue) } + } - @ClosureAttribute1Optional - public var onupdatestart: EventHandler + @inlinable public var onupdatestart: EventHandler { + get { + guard let function = jsObject[Strings.onupdatestart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onupdatestart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onupdatestart] = .null + } + } + } - @ClosureAttribute1Optional - public var onupdate: EventHandler + @inlinable public var onupdate: EventHandler { + get { + guard let function = jsObject[Strings.onupdate].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onupdate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onupdate] = .null + } + } + } - @ClosureAttribute1Optional - public var onupdateend: EventHandler + @inlinable public var onupdateend: EventHandler { + get { + guard let function = jsObject[Strings.onupdateend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onupdateend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onupdateend] = .null + } + } + } - @ClosureAttribute1Optional - public var onerror: EventHandler + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } - @ClosureAttribute1Optional - public var onabort: EventHandler + @inlinable public var onabort: EventHandler { + get { + guard let function = jsObject[Strings.onabort].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onabort] = .null + } + } + } - @inlinable public func appendBuffer(data: BufferSource) { + @inlinable final public func appendBuffer(data: BufferSource) { let this = jsObject _ = this[Strings.appendBuffer].function!(this: this, arguments: [_toJSValue(data)]) } - @inlinable public func abort() { + @inlinable final public func abort() { let this = jsObject _ = this[Strings.abort].function!(this: this, arguments: []) } - @inlinable public func changeType(type: String) { + @inlinable final public func changeType(type: String) { let this = jsObject _ = this[Strings.changeType].function!(this: this, arguments: [_toJSValue(type)]) } - @inlinable public func remove(start: Double, end: Double) { + @inlinable final public func remove(start: Double, end: Double) { let this = jsObject _ = this[Strings.remove].function!(this: this, arguments: [_toJSValue(start), _toJSValue(end)]) } } public class SourceBufferList: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SourceBufferList].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _onaddsourcebuffer = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddsourcebuffer) - _onremovesourcebuffer = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovesourcebuffer) - super.init(unsafelyWrapping: jsObject) - } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SourceBufferList].function } - @ReadonlyAttribute - public var length: UInt32 + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ClosureAttribute1Optional - public var onaddsourcebuffer: EventHandler + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ClosureAttribute1Optional - public var onremovesourcebuffer: EventHandler + @inlinable public var onaddsourcebuffer: EventHandler { + get { + guard let function = jsObject[Strings.onaddsourcebuffer].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onaddsourcebuffer] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onaddsourcebuffer] = .null + } + } + } - @inlinable public subscript(key: Int) -> SourceBuffer { - jsObject[key].fromJSValue()! + @inlinable public var onremovesourcebuffer: EventHandler { + get { + guard let function = jsObject[Strings.onremovesourcebuffer].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onremovesourcebuffer] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onremovesourcebuffer] = .null + } + } } + + @inlinable public subscript(key: Int) -> SourceBuffer { jsObject[key].fromJSValue()! } } public class StaticRange: AbstractRange { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.StaticRange].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.StaticRange].function } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(init: StaticRangeInit) { + @inlinable public convenience init(`init`: StaticRangeInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } } -public class StaticRangeInit: BridgedDictionary { +open class StaticRangeInit: JSDictionaryCompatible { + public let jsObject: JSObject + public convenience init(startContainer: Node, startOffset: UInt32, endContainer: Node, endOffset: UInt32) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.startContainer] = _toJSValue(startContainer) object[Strings.startOffset] = _toJSValue(startOffset) object[Strings.endContainer] = _toJSValue(endContainer) object[Strings.endOffset] = _toJSValue(endOffset) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _startContainer = ReadWriteAttribute(jsObject: object, name: Strings.startContainer) - _startOffset = ReadWriteAttribute(jsObject: object, name: Strings.startOffset) - _endContainer = ReadWriteAttribute(jsObject: object, name: Strings.endContainer) - _endOffset = ReadWriteAttribute(jsObject: object, name: Strings.endOffset) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var startContainer: Node - - @ReadWriteAttribute - public var startOffset: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var endContainer: Node - - @ReadWriteAttribute - public var endOffset: UInt32 + @inlinable public var startContainer: Node { + get { jsObject[Strings.startContainer].fromJSValue()! } + set { jsObject[Strings.startContainer] = _toJSValue(newValue) } + } + @inlinable public var startOffset: UInt32 { + get { jsObject[Strings.startOffset].fromJSValue()! } + set { jsObject[Strings.startOffset] = _toJSValue(newValue) } + } + @inlinable public var endContainer: Node { + get { jsObject[Strings.endContainer].fromJSValue()! } + set { jsObject[Strings.endContainer] = _toJSValue(newValue) } + } + @inlinable public var endOffset: UInt32 { + get { jsObject[Strings.endOffset].fromJSValue()! } + set { jsObject[Strings.endOffset] = _toJSValue(newValue) } + } } - public class Storage: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Storage].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public func key(index: UInt32) -> String? { + @inlinable final public func key(index: UInt32) -> String? { let this = jsObject return this[Strings.key].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } - @inlinable public func getItem(key: String) -> String? { + @inlinable final public func getItem(key: String) -> String? { let this = jsObject return this[Strings.getItem].function!(this: this, arguments: [_toJSValue(key)]).fromJSValue() } @inlinable public subscript(key: String) -> String? { - get { - jsObject[key].fromJSValue() - } - set { - jsObject[key] = _toJSValue(newValue) - } + get { jsObject[key].fromJSValue() } + set { jsObject[key] = _toJSValue(newValue) } } @inlinable public func removeValue(forKey key: String) { _ = JSObject.global.Reflect.deleteProperty(jsObject, _toJSValue(key)) } - @inlinable public func clear() { + @inlinable final public func clear() { let this = jsObject _ = this[Strings.clear].function!(this: this, arguments: []) } } public class StorageEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.StorageEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.StorageEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _key = ReadonlyAttribute(jsObject: jsObject, name: Strings.key) - _oldValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.oldValue) - _newValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.newValue) - _url = ReadonlyAttribute(jsObject: jsObject, name: Strings.url) - _storageArea = ReadonlyAttribute(jsObject: jsObject, name: Strings.storageArea) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: StorageEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var key: String? + @inlinable public var key: String? { jsObject[Strings.key].fromJSValue() } - @ReadonlyAttribute - public var oldValue: String? + @inlinable public var oldValue: String? { jsObject[Strings.oldValue].fromJSValue() } - @ReadonlyAttribute - public var newValue: String? + @inlinable public var newValue: String? { jsObject[Strings.newValue].fromJSValue() } - @ReadonlyAttribute - public var url: String + @inlinable public var url: String { jsObject[Strings.url].fromJSValue()! } - @ReadonlyAttribute - public var storageArea: Storage? + @inlinable public var storageArea: Storage? { jsObject[Strings.storageArea].fromJSValue() } - @inlinable public func initStorageEvent(type: String, bubbles: Bool? = nil, cancelable: Bool? = nil, key: String? = nil, oldValue: String? = nil, newValue: String? = nil, url: String? = nil, storageArea: Storage? = nil) { + @inlinable final public func initStorageEvent( + type: String, + bubbles: Bool? = nil, + cancelable: Bool? = nil, + key: String? = nil, + oldValue: String? = nil, + newValue: String? = nil, + url: String? = nil, + storageArea: Storage? = nil + ) { let this = jsObject - _ = this[Strings.initStorageEvent].function!(this: this, arguments: [_toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(key), _toJSValue(oldValue), _toJSValue(newValue), _toJSValue(url), _toJSValue(storageArea)]) + _ = this[Strings.initStorageEvent].function!( + this: this, + arguments: [ + _toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(key), _toJSValue(oldValue), + _toJSValue(newValue), _toJSValue(url), _toJSValue(storageArea), + ] + ) } } -public class StorageEventInit: BridgedDictionary { - public convenience init(key: String?, oldValue: String?, newValue: String?, url: String, storageArea: Storage?) { +open class StorageEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + key: String?, + oldValue: String?, + newValue: String?, + url: String? = nil, + storageArea: Storage? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.key] = _toJSValue(key) object[Strings.oldValue] = _toJSValue(oldValue) object[Strings.newValue] = _toJSValue(newValue) object[Strings.url] = _toJSValue(url) object[Strings.storageArea] = _toJSValue(storageArea) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _key = ReadWriteAttribute(jsObject: object, name: Strings.key) - _oldValue = ReadWriteAttribute(jsObject: object, name: Strings.oldValue) - _newValue = ReadWriteAttribute(jsObject: object, name: Strings.newValue) - _url = ReadWriteAttribute(jsObject: object, name: Strings.url) - _storageArea = ReadWriteAttribute(jsObject: object, name: Strings.storageArea) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var key: String? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var oldValue: String? + @inlinable public var key: String? { + get { jsObject[Strings.key].fromJSValue() } + set { jsObject[Strings.key] = _toJSValue(newValue) } + } + @inlinable public var oldValue: String? { + get { jsObject[Strings.oldValue].fromJSValue() } + set { jsObject[Strings.oldValue] = _toJSValue(newValue) } + } + @inlinable public var newValue: String? { + get { jsObject[Strings.newValue].fromJSValue() } + set { jsObject[Strings.newValue] = _toJSValue(newValue) } + } + @inlinable public var url: String { + get { jsObject[Strings.url].fromJSValue()! } + set { jsObject[Strings.url] = _toJSValue(newValue) } + } + @inlinable public var storageArea: Storage? { + get { jsObject[Strings.storageArea].fromJSValue() } + set { jsObject[Strings.storageArea] = _toJSValue(newValue) } + } +} +open class StreamPipeOptions: JSDictionaryCompatible { + public let jsObject: JSObject - @ReadWriteAttribute - public var newValue: String? - - @ReadWriteAttribute - public var url: String? - - @ReadWriteAttribute - public var storageArea: Storage? -} - -public class StreamPipeOptions: BridgedDictionary { - public convenience init(preventClose: Bool, preventAbort: Bool, preventCancel: Bool, signal: AbortSignal) { + public convenience init( + preventClose: Bool? = nil, + preventAbort: Bool? = nil, + preventCancel: Bool? = nil, + signal: AbortSignal? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.preventClose] = _toJSValue(preventClose) object[Strings.preventAbort] = _toJSValue(preventAbort) object[Strings.preventCancel] = _toJSValue(preventCancel) object[Strings.signal] = _toJSValue(signal) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _preventClose = ReadWriteAttribute(jsObject: object, name: Strings.preventClose) - _preventAbort = ReadWriteAttribute(jsObject: object, name: Strings.preventAbort) - _preventCancel = ReadWriteAttribute(jsObject: object, name: Strings.preventCancel) - _signal = ReadWriteAttribute(jsObject: object, name: Strings.signal) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var preventClose: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var preventAbort: Bool? - - @ReadWriteAttribute - public var preventCancel: Bool? - - @ReadWriteAttribute - public var signal: AbortSignal? + @inlinable public var preventClose: Bool { + get { jsObject[Strings.preventClose].fromJSValue()! } + set { jsObject[Strings.preventClose] = _toJSValue(newValue) } + } + @inlinable public var preventAbort: Bool { + get { jsObject[Strings.preventAbort].fromJSValue()! } + set { jsObject[Strings.preventAbort] = _toJSValue(newValue) } + } + @inlinable public var preventCancel: Bool { + get { jsObject[Strings.preventCancel].fromJSValue()! } + set { jsObject[Strings.preventCancel] = _toJSValue(newValue) } + } + @inlinable public var signal: AbortSignal { + get { jsObject[Strings.signal].fromJSValue()! } + set { jsObject[Strings.signal] = _toJSValue(newValue) } + } } +open class StructuredSerializeOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class StructuredSerializeOptions: BridgedDictionary { - public convenience init(transfer: [JSObject]) { + public convenience init(transfer: [JSObject]? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.transfer] = _toJSValue(transfer) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var transfer: [JSObject]? + @inlinable public var transfer: [JSObject] { + get { jsObject[Strings.transfer].fromJSValue()! } + set { jsObject[Strings.transfer] = _toJSValue(newValue) } + } } - public class SubmitEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.SubmitEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.SubmitEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _submitter = ReadonlyAttribute(jsObject: jsObject, name: Strings.submitter) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: SubmitEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var submitter: HTMLElement? + @inlinable public var submitter: HTMLElement? { jsObject[Strings.submitter].fromJSValue() } } -public class SubmitEventInit: BridgedDictionary { - public convenience init(submitter: HTMLElement?) { +open class SubmitEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + submitter: HTMLElement? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.submitter] = _toJSValue(submitter) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _submitter = ReadWriteAttribute(jsObject: object, name: Strings.submitter) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var submitter: HTMLElement? + @inlinable public var submitter: HTMLElement? { + get { jsObject[Strings.submitter].fromJSValue() } + set { jsObject[Strings.submitter] = _toJSValue(newValue) } + } } +open class SvcOutputMetadata: JSDictionaryCompatible { + public let jsObject: JSObject -public class SvcOutputMetadata: BridgedDictionary { - public convenience init(temporalLayerId: UInt32) { + public convenience init(temporalLayerId: UInt32? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.temporalLayerId] = _toJSValue(temporalLayerId) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _temporalLayerId = ReadWriteAttribute(jsObject: object, name: Strings.temporalLayerId) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var temporalLayerId: UInt32? + @inlinable public var temporalLayerId: UInt32 { + get { jsObject[Strings.temporalLayerId].fromJSValue()! } + set { jsObject[Strings.temporalLayerId] = _toJSValue(newValue) } + } } - public class Text: CharacterData, Slottable, GeometryUtils { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Text].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Text].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _wholeText = ReadonlyAttribute(jsObject: jsObject, name: Strings.wholeText) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(data: String? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(data)])) } - @inlinable public func splitText(offset: UInt32) -> Self { + @inlinable final public func splitText(offset: UInt32) -> Text { let this = jsObject return this[Strings.splitText].function!(this: this, arguments: [_toJSValue(offset)]).fromJSValue()! } - @ReadonlyAttribute - public var wholeText: String + @inlinable public var wholeText: String { jsObject[Strings.wholeText].fromJSValue()! } +} + +public class TextEvent: UIEvent { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TextEvent].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var data: String { jsObject[Strings.data].fromJSValue()! } + + @inlinable final public func initTextEvent( + type: String, + bubbles: Bool? = nil, + cancelable: Bool? = nil, + view: Window? = nil, + data: String? = nil + ) { + let this = jsObject + _ = this[Strings.initTextEvent].function!( + this: this, + arguments: [ + _toJSValue(type), _toJSValue(bubbles), _toJSValue(cancelable), _toJSValue(view), _toJSValue(data), + ] + ) + } } public class TextMetrics: JSBridgedClass { @@ -15834,151 +17796,140 @@ public class TextMetrics: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _actualBoundingBoxLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.actualBoundingBoxLeft) - _actualBoundingBoxRight = ReadonlyAttribute(jsObject: jsObject, name: Strings.actualBoundingBoxRight) - _fontBoundingBoxAscent = ReadonlyAttribute(jsObject: jsObject, name: Strings.fontBoundingBoxAscent) - _fontBoundingBoxDescent = ReadonlyAttribute(jsObject: jsObject, name: Strings.fontBoundingBoxDescent) - _actualBoundingBoxAscent = ReadonlyAttribute(jsObject: jsObject, name: Strings.actualBoundingBoxAscent) - _actualBoundingBoxDescent = ReadonlyAttribute(jsObject: jsObject, name: Strings.actualBoundingBoxDescent) - _emHeightAscent = ReadonlyAttribute(jsObject: jsObject, name: Strings.emHeightAscent) - _emHeightDescent = ReadonlyAttribute(jsObject: jsObject, name: Strings.emHeightDescent) - _hangingBaseline = ReadonlyAttribute(jsObject: jsObject, name: Strings.hangingBaseline) - _alphabeticBaseline = ReadonlyAttribute(jsObject: jsObject, name: Strings.alphabeticBaseline) - _ideographicBaseline = ReadonlyAttribute(jsObject: jsObject, name: Strings.ideographicBaseline) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var width: Double + @inlinable public var width: Double { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var actualBoundingBoxLeft: Double + @inlinable public var actualBoundingBoxLeft: Double { jsObject[Strings.actualBoundingBoxLeft].fromJSValue()! } - @ReadonlyAttribute - public var actualBoundingBoxRight: Double + @inlinable public var actualBoundingBoxRight: Double { jsObject[Strings.actualBoundingBoxRight].fromJSValue()! } - @ReadonlyAttribute - public var fontBoundingBoxAscent: Double + @inlinable public var fontBoundingBoxAscent: Double { jsObject[Strings.fontBoundingBoxAscent].fromJSValue()! } - @ReadonlyAttribute - public var fontBoundingBoxDescent: Double + @inlinable public var fontBoundingBoxDescent: Double { jsObject[Strings.fontBoundingBoxDescent].fromJSValue()! } - @ReadonlyAttribute - public var actualBoundingBoxAscent: Double + @inlinable public var actualBoundingBoxAscent: Double { jsObject[Strings.actualBoundingBoxAscent].fromJSValue()! } - @ReadonlyAttribute - public var actualBoundingBoxDescent: Double + @inlinable public var actualBoundingBoxDescent: Double { jsObject[Strings.actualBoundingBoxDescent].fromJSValue()! } - @ReadonlyAttribute - public var emHeightAscent: Double + @inlinable public var emHeightAscent: Double { jsObject[Strings.emHeightAscent].fromJSValue()! } - @ReadonlyAttribute - public var emHeightDescent: Double + @inlinable public var emHeightDescent: Double { jsObject[Strings.emHeightDescent].fromJSValue()! } - @ReadonlyAttribute - public var hangingBaseline: Double + @inlinable public var hangingBaseline: Double { jsObject[Strings.hangingBaseline].fromJSValue()! } - @ReadonlyAttribute - public var alphabeticBaseline: Double + @inlinable public var alphabeticBaseline: Double { jsObject[Strings.alphabeticBaseline].fromJSValue()! } - @ReadonlyAttribute - public var ideographicBaseline: Double + @inlinable public var ideographicBaseline: Double { jsObject[Strings.ideographicBaseline].fromJSValue()! } } public class TextTrack: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TextTrack].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TextTrack].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) - _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) - _language = ReadonlyAttribute(jsObject: jsObject, name: Strings.language) - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _inBandMetadataTrackDispatchType = ReadonlyAttribute(jsObject: jsObject, name: Strings.inBandMetadataTrackDispatchType) - _mode = ReadWriteAttribute(jsObject: jsObject, name: Strings.mode) - _cues = ReadonlyAttribute(jsObject: jsObject, name: Strings.cues) - _activeCues = ReadonlyAttribute(jsObject: jsObject, name: Strings.activeCues) - _oncuechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.oncuechange) - _sourceBuffer = ReadonlyAttribute(jsObject: jsObject, name: Strings.sourceBuffer) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var kind: TextTrackKind + @inlinable public var kind: TextTrackKind { jsObject[Strings.kind].fromJSValue()! } - @ReadonlyAttribute - public var label: String + @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } - @ReadonlyAttribute - public var language: String + @inlinable public var language: String { jsObject[Strings.language].fromJSValue()! } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var inBandMetadataTrackDispatchType: String + @inlinable public var inBandMetadataTrackDispatchType: String { + jsObject[Strings.inBandMetadataTrackDispatchType].fromJSValue()! + } - @ReadWriteAttribute - public var mode: TextTrackMode + @inlinable public var mode: TextTrackMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var cues: TextTrackCueList? + @inlinable public var cues: TextTrackCueList? { jsObject[Strings.cues].fromJSValue() } - @ReadonlyAttribute - public var activeCues: TextTrackCueList? + @inlinable public var activeCues: TextTrackCueList? { jsObject[Strings.activeCues].fromJSValue() } - @inlinable public func addCue(cue: TextTrackCue) { + @inlinable final public func addCue(cue: TextTrackCue) { let this = jsObject _ = this[Strings.addCue].function!(this: this, arguments: [_toJSValue(cue)]) } - @inlinable public func removeCue(cue: TextTrackCue) { + @inlinable final public func removeCue(cue: TextTrackCue) { let this = jsObject _ = this[Strings.removeCue].function!(this: this, arguments: [_toJSValue(cue)]) } - @ClosureAttribute1Optional - public var oncuechange: EventHandler + @inlinable public var oncuechange: EventHandler { + get { + guard let function = jsObject[Strings.oncuechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.oncuechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.oncuechange] = .null + } + } + } - @ReadonlyAttribute - public var sourceBuffer: SourceBuffer? + @inlinable public var sourceBuffer: SourceBuffer? { jsObject[Strings.sourceBuffer].fromJSValue() } } public class TextTrackCue: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TextTrackCue].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TextTrackCue].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _track = ReadonlyAttribute(jsObject: jsObject, name: Strings.track) - _id = ReadWriteAttribute(jsObject: jsObject, name: Strings.id) - _startTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.startTime) - _endTime = ReadWriteAttribute(jsObject: jsObject, name: Strings.endTime) - _pauseOnExit = ReadWriteAttribute(jsObject: jsObject, name: Strings.pauseOnExit) - _onenter = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onenter) - _onexit = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onexit) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var track: TextTrack? + @inlinable public var track: TextTrack? { jsObject[Strings.track].fromJSValue() } - @ReadWriteAttribute - public var id: String + @inlinable public var id: String { + get { jsObject[Strings.id].fromJSValue()! } + set { jsObject[Strings.id] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var startTime: Double + @inlinable public var startTime: Double { + get { jsObject[Strings.startTime].fromJSValue()! } + set { jsObject[Strings.startTime] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var endTime: Double + @inlinable public var endTime: Double { + get { jsObject[Strings.endTime].fromJSValue()! } + set { jsObject[Strings.endTime] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var pauseOnExit: Bool + @inlinable public var pauseOnExit: Bool { + get { jsObject[Strings.pauseOnExit].fromJSValue()! } + set { jsObject[Strings.pauseOnExit] = _toJSValue(newValue) } + } - @ClosureAttribute1Optional - public var onenter: EventHandler + @inlinable public var onenter: EventHandler { + get { + guard let function = jsObject[Strings.onenter].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onenter] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onenter] = .null + } + } + } - @ClosureAttribute1Optional - public var onexit: EventHandler + @inlinable public var onexit: EventHandler { + get { + guard let function = jsObject[Strings.onexit].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onexit] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onexit] = .null + } + } + } } public class TextTrackCueList: JSBridgedClass { @@ -15986,19 +17937,13 @@ public class TextTrackCueList: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> TextTrackCue { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> TextTrackCue { jsObject[key].fromJSValue()! } - @inlinable public func getCueById(id: String) -> TextTrackCue? { + @inlinable final public func getCueById(id: String) -> TextTrackCue? { let this = jsObject return this[Strings.getCueById].function!(this: this, arguments: [_toJSValue(id)]).fromJSValue() } @@ -16012,50 +17957,69 @@ public enum TextTrackKind: JSString, JSValueCompatible { case metadata = "metadata" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class TextTrackList: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TextTrackList].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TextTrackList].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) - _onaddtrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddtrack) - _onremovetrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovetrack) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> TextTrack { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: Int) -> TextTrack { jsObject[key].fromJSValue()! } - @inlinable public func getTrackById(id: String) -> TextTrack? { + @inlinable final public func getTrackById(id: String) -> TextTrack? { let this = jsObject return this[Strings.getTrackById].function!(this: this, arguments: [_toJSValue(id)]).fromJSValue() } - @ClosureAttribute1Optional - public var onchange: EventHandler + @inlinable public var onchange: EventHandler { + get { + guard let function = jsObject[Strings.onchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onchange] = .null + } + } + } - @ClosureAttribute1Optional - public var onaddtrack: EventHandler + @inlinable public var onaddtrack: EventHandler { + get { + guard let function = jsObject[Strings.onaddtrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onaddtrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onaddtrack] = .null + } + } + } - @ClosureAttribute1Optional - public var onremovetrack: EventHandler + @inlinable public var onremovetrack: EventHandler { + get { + guard let function = jsObject[Strings.onremovetrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onremovetrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onremovetrack] = .null + } + } + } } public enum TextTrackMode: JSString, JSValueCompatible { @@ -16064,235 +18028,246 @@ public enum TextTrackMode: JSString, JSValueCompatible { case showing = "showing" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class TimeRanges: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TimeRanges].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public func start(index: UInt32) -> Double { + @inlinable final public func start(index: UInt32) -> Double { let this = jsObject return this[Strings.start].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } - @inlinable public func end(index: UInt32) -> Double { + @inlinable final public func end(index: UInt32) -> Double { let this = jsObject return this[Strings.end].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue()! } } public class ToggleEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.ToggleEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.ToggleEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _oldState = ReadonlyAttribute(jsObject: jsObject, name: Strings.oldState) - _newState = ReadonlyAttribute(jsObject: jsObject, name: Strings.newState) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: ToggleEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var oldState: String + @inlinable public var oldState: String { jsObject[Strings.oldState].fromJSValue()! } - @ReadonlyAttribute - public var newState: String + @inlinable public var newState: String { jsObject[Strings.newState].fromJSValue()! } } -public class ToggleEventInit: BridgedDictionary { - public convenience init(oldState: String, newState: String) { +open class ToggleEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + oldState: String? = nil, + newState: String? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.oldState] = _toJSValue(oldState) object[Strings.newState] = _toJSValue(newState) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _oldState = ReadWriteAttribute(jsObject: object, name: Strings.oldState) - _newState = ReadWriteAttribute(jsObject: object, name: Strings.newState) - super.init(unsafelyWrapping: object) + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + + @inlinable public var oldState: String { + get { jsObject[Strings.oldState].fromJSValue()! } + set { jsObject[Strings.oldState] = _toJSValue(newValue) } + } + @inlinable public var newState: String { + get { jsObject[Strings.newState].fromJSValue()! } + set { jsObject[Strings.newState] = _toJSValue(newValue) } } +} +open class TogglePopoverOptions: ShowPopoverOptions { - @ReadWriteAttribute - public var oldState: String? + public convenience init(source: HTMLElement? = nil, force: Bool? = nil) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.source] = _toJSValue(source) + object[Strings.force] = _toJSValue(force) - @ReadWriteAttribute - public var newState: String? -} + self.init(unsafelyWrapping: object) + } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + + @inlinable public var force: Bool { + get { jsObject[Strings.force].fromJSValue()! } + set { jsObject[Strings.force] = _toJSValue(newValue) } + } +} public class Touch: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.Touch].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _identifier = ReadonlyAttribute(jsObject: jsObject, name: Strings.identifier) - _target = ReadonlyAttribute(jsObject: jsObject, name: Strings.target) - _screenX = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenX) - _screenY = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenY) - _clientX = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientX) - _clientY = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientY) - _pageX = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageX) - _pageY = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageY) - _radiusX = ReadonlyAttribute(jsObject: jsObject, name: Strings.radiusX) - _radiusY = ReadonlyAttribute(jsObject: jsObject, name: Strings.radiusY) - _rotationAngle = ReadonlyAttribute(jsObject: jsObject, name: Strings.rotationAngle) - _force = ReadonlyAttribute(jsObject: jsObject, name: Strings.force) - _altitudeAngle = ReadonlyAttribute(jsObject: jsObject, name: Strings.altitudeAngle) - _azimuthAngle = ReadonlyAttribute(jsObject: jsObject, name: Strings.azimuthAngle) - _touchType = ReadonlyAttribute(jsObject: jsObject, name: Strings.touchType) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(touchInitDict: TouchInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(touchInitDict)])) } - @ReadonlyAttribute - public var identifier: Int32 + @inlinable public var identifier: Int32 { jsObject[Strings.identifier].fromJSValue()! } - @ReadonlyAttribute - public var target: EventTarget + @inlinable public var target: EventTarget { jsObject[Strings.target].fromJSValue()! } - @ReadonlyAttribute - public var screenX: Double + @inlinable public var screenX: Double { jsObject[Strings.screenX].fromJSValue()! } - @ReadonlyAttribute - public var screenY: Double + @inlinable public var screenY: Double { jsObject[Strings.screenY].fromJSValue()! } - @ReadonlyAttribute - public var clientX: Double + @inlinable public var clientX: Double { jsObject[Strings.clientX].fromJSValue()! } - @ReadonlyAttribute - public var clientY: Double + @inlinable public var clientY: Double { jsObject[Strings.clientY].fromJSValue()! } - @ReadonlyAttribute - public var pageX: Double + @inlinable public var pageX: Double { jsObject[Strings.pageX].fromJSValue()! } - @ReadonlyAttribute - public var pageY: Double + @inlinable public var pageY: Double { jsObject[Strings.pageY].fromJSValue()! } - @ReadonlyAttribute - public var radiusX: Float + @inlinable public var radiusX: Float { jsObject[Strings.radiusX].fromJSValue()! } - @ReadonlyAttribute - public var radiusY: Float + @inlinable public var radiusY: Float { jsObject[Strings.radiusY].fromJSValue()! } - @ReadonlyAttribute - public var rotationAngle: Float + @inlinable public var rotationAngle: Float { jsObject[Strings.rotationAngle].fromJSValue()! } - @ReadonlyAttribute - public var force: Float + @inlinable public var force: Float { jsObject[Strings.force].fromJSValue()! } - @ReadonlyAttribute - public var altitudeAngle: Float + @inlinable public var altitudeAngle: Float { jsObject[Strings.altitudeAngle].fromJSValue()! } - @ReadonlyAttribute - public var azimuthAngle: Float + @inlinable public var azimuthAngle: Float { jsObject[Strings.azimuthAngle].fromJSValue()! } - @ReadonlyAttribute - public var touchType: TouchType + @inlinable public var touchType: TouchType { jsObject[Strings.touchType].fromJSValue()! } } public class TouchEvent: UIEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TouchEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TouchEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _touches = ReadonlyAttribute(jsObject: jsObject, name: Strings.touches) - _targetTouches = ReadonlyAttribute(jsObject: jsObject, name: Strings.targetTouches) - _changedTouches = ReadonlyAttribute(jsObject: jsObject, name: Strings.changedTouches) - _altKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.altKey) - _metaKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.metaKey) - _ctrlKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.ctrlKey) - _shiftKey = ReadonlyAttribute(jsObject: jsObject, name: Strings.shiftKey) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: TouchEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var touches: TouchList + @inlinable public var touches: TouchList { jsObject[Strings.touches].fromJSValue()! } - @ReadonlyAttribute - public var targetTouches: TouchList + @inlinable public var targetTouches: TouchList { jsObject[Strings.targetTouches].fromJSValue()! } - @ReadonlyAttribute - public var changedTouches: TouchList + @inlinable public var changedTouches: TouchList { jsObject[Strings.changedTouches].fromJSValue()! } - @ReadonlyAttribute - public var altKey: Bool + @inlinable public var altKey: Bool { jsObject[Strings.altKey].fromJSValue()! } - @ReadonlyAttribute - public var metaKey: Bool + @inlinable public var metaKey: Bool { jsObject[Strings.metaKey].fromJSValue()! } - @ReadonlyAttribute - public var ctrlKey: Bool + @inlinable public var ctrlKey: Bool { jsObject[Strings.ctrlKey].fromJSValue()! } - @ReadonlyAttribute - public var shiftKey: Bool + @inlinable public var shiftKey: Bool { jsObject[Strings.shiftKey].fromJSValue()! } - @inlinable public subscript(key: String) -> Bool { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: String) -> Bool { jsObject[key].fromJSValue()! } - @inlinable public func getModifierState(keyArg: String) -> Bool { + @inlinable final public func getModifierState(keyArg: String) -> Bool { let this = jsObject return this[Strings.getModifierState].function!(this: this, arguments: [_toJSValue(keyArg)]).fromJSValue()! } } -public class TouchEventInit: BridgedDictionary { - public convenience init(touches: [Touch], targetTouches: [Touch], changedTouches: [Touch]) { +open class TouchEventInit: EventModifierInit { + + public convenience init( + ctrlKey: Bool? = nil, + shiftKey: Bool? = nil, + altKey: Bool? = nil, + metaKey: Bool? = nil, + modifierAltGraph: Bool? = nil, + modifierCapsLock: Bool? = nil, + modifierFn: Bool? = nil, + modifierFnLock: Bool? = nil, + modifierHyper: Bool? = nil, + modifierNumLock: Bool? = nil, + modifierScrollLock: Bool? = nil, + modifierSuper: Bool? = nil, + modifierSymbol: Bool? = nil, + modifierSymbolLock: Bool? = nil, + touches: [Touch]? = nil, + targetTouches: [Touch]? = nil, + changedTouches: [Touch]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.ctrlKey] = _toJSValue(ctrlKey) + object[Strings.shiftKey] = _toJSValue(shiftKey) + object[Strings.altKey] = _toJSValue(altKey) + object[Strings.metaKey] = _toJSValue(metaKey) + object[Strings.modifierAltGraph] = _toJSValue(modifierAltGraph) + object[Strings.modifierCapsLock] = _toJSValue(modifierCapsLock) + object[Strings.modifierFn] = _toJSValue(modifierFn) + object[Strings.modifierFnLock] = _toJSValue(modifierFnLock) + object[Strings.modifierHyper] = _toJSValue(modifierHyper) + object[Strings.modifierNumLock] = _toJSValue(modifierNumLock) + object[Strings.modifierScrollLock] = _toJSValue(modifierScrollLock) + object[Strings.modifierSuper] = _toJSValue(modifierSuper) + object[Strings.modifierSymbol] = _toJSValue(modifierSymbol) + object[Strings.modifierSymbolLock] = _toJSValue(modifierSymbolLock) object[Strings.touches] = _toJSValue(touches) object[Strings.targetTouches] = _toJSValue(targetTouches) object[Strings.changedTouches] = _toJSValue(changedTouches) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _touches = ReadWriteAttribute(jsObject: object, name: Strings.touches) - _targetTouches = ReadWriteAttribute(jsObject: object, name: Strings.targetTouches) - _changedTouches = ReadWriteAttribute(jsObject: object, name: Strings.changedTouches) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var touches: [Touch]? - - @ReadWriteAttribute - public var targetTouches: [Touch]? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var changedTouches: [Touch]? + @inlinable public var touches: [Touch] { + get { jsObject[Strings.touches].fromJSValue()! } + set { jsObject[Strings.touches] = _toJSValue(newValue) } + } + @inlinable public var targetTouches: [Touch] { + get { jsObject[Strings.targetTouches].fromJSValue()! } + set { jsObject[Strings.targetTouches] = _toJSValue(newValue) } + } + @inlinable public var changedTouches: [Touch] { + get { jsObject[Strings.changedTouches].fromJSValue()! } + set { jsObject[Strings.changedTouches] = _toJSValue(newValue) } + } } +open class TouchInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class TouchInit: BridgedDictionary { - public convenience init(identifier: Int32, target: EventTarget, clientX: Double, clientY: Double, screenX: Double, screenY: Double, pageX: Double, pageY: Double, radiusX: Float, radiusY: Float, rotationAngle: Float, force: Float, altitudeAngle: Double, azimuthAngle: Double, touchType: TouchType) { + public convenience init( + identifier: Int32, + target: EventTarget, + clientX: Double? = nil, + clientY: Double? = nil, + screenX: Double? = nil, + screenY: Double? = nil, + pageX: Double? = nil, + pageY: Double? = nil, + radiusX: Float? = nil, + radiusY: Float? = nil, + rotationAngle: Float? = nil, + force: Float? = nil, + altitudeAngle: Double? = nil, + azimuthAngle: Double? = nil, + touchType: TouchType? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.identifier] = _toJSValue(identifier) object[Strings.target] = _toJSValue(target) @@ -16309,92 +18284,85 @@ public class TouchInit: BridgedDictionary { object[Strings.altitudeAngle] = _toJSValue(altitudeAngle) object[Strings.azimuthAngle] = _toJSValue(azimuthAngle) object[Strings.touchType] = _toJSValue(touchType) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _identifier = ReadWriteAttribute(jsObject: object, name: Strings.identifier) - _target = ReadWriteAttribute(jsObject: object, name: Strings.target) - _clientX = ReadWriteAttribute(jsObject: object, name: Strings.clientX) - _clientY = ReadWriteAttribute(jsObject: object, name: Strings.clientY) - _screenX = ReadWriteAttribute(jsObject: object, name: Strings.screenX) - _screenY = ReadWriteAttribute(jsObject: object, name: Strings.screenY) - _pageX = ReadWriteAttribute(jsObject: object, name: Strings.pageX) - _pageY = ReadWriteAttribute(jsObject: object, name: Strings.pageY) - _radiusX = ReadWriteAttribute(jsObject: object, name: Strings.radiusX) - _radiusY = ReadWriteAttribute(jsObject: object, name: Strings.radiusY) - _rotationAngle = ReadWriteAttribute(jsObject: object, name: Strings.rotationAngle) - _force = ReadWriteAttribute(jsObject: object, name: Strings.force) - _altitudeAngle = ReadWriteAttribute(jsObject: object, name: Strings.altitudeAngle) - _azimuthAngle = ReadWriteAttribute(jsObject: object, name: Strings.azimuthAngle) - _touchType = ReadWriteAttribute(jsObject: object, name: Strings.touchType) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var identifier: Int32 - - @ReadWriteAttribute - public var target: EventTarget - - @ReadWriteAttribute - public var clientX: Double? - - @ReadWriteAttribute - public var clientY: Double? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var screenX: Double? - - @ReadWriteAttribute - public var screenY: Double? - - @ReadWriteAttribute - public var pageX: Double? - - @ReadWriteAttribute - public var pageY: Double? - - @ReadWriteAttribute - public var radiusX: Float? - - @ReadWriteAttribute - public var radiusY: Float? - - @ReadWriteAttribute - public var rotationAngle: Float? - - @ReadWriteAttribute - public var force: Float? - - @ReadWriteAttribute - public var altitudeAngle: Double? - - @ReadWriteAttribute - public var azimuthAngle: Double? - - @ReadWriteAttribute - public var touchType: TouchType? + @inlinable public var identifier: Int32 { + get { jsObject[Strings.identifier].fromJSValue()! } + set { jsObject[Strings.identifier] = _toJSValue(newValue) } + } + @inlinable public var target: EventTarget { + get { jsObject[Strings.target].fromJSValue()! } + set { jsObject[Strings.target] = _toJSValue(newValue) } + } + @inlinable public var clientX: Double { + get { jsObject[Strings.clientX].fromJSValue()! } + set { jsObject[Strings.clientX] = _toJSValue(newValue) } + } + @inlinable public var clientY: Double { + get { jsObject[Strings.clientY].fromJSValue()! } + set { jsObject[Strings.clientY] = _toJSValue(newValue) } + } + @inlinable public var screenX: Double { + get { jsObject[Strings.screenX].fromJSValue()! } + set { jsObject[Strings.screenX] = _toJSValue(newValue) } + } + @inlinable public var screenY: Double { + get { jsObject[Strings.screenY].fromJSValue()! } + set { jsObject[Strings.screenY] = _toJSValue(newValue) } + } + @inlinable public var pageX: Double { + get { jsObject[Strings.pageX].fromJSValue()! } + set { jsObject[Strings.pageX] = _toJSValue(newValue) } + } + @inlinable public var pageY: Double { + get { jsObject[Strings.pageY].fromJSValue()! } + set { jsObject[Strings.pageY] = _toJSValue(newValue) } + } + @inlinable public var radiusX: Float { + get { jsObject[Strings.radiusX].fromJSValue()! } + set { jsObject[Strings.radiusX] = _toJSValue(newValue) } + } + @inlinable public var radiusY: Float { + get { jsObject[Strings.radiusY].fromJSValue()! } + set { jsObject[Strings.radiusY] = _toJSValue(newValue) } + } + @inlinable public var rotationAngle: Float { + get { jsObject[Strings.rotationAngle].fromJSValue()! } + set { jsObject[Strings.rotationAngle] = _toJSValue(newValue) } + } + @inlinable public var force: Float { + get { jsObject[Strings.force].fromJSValue()! } + set { jsObject[Strings.force] = _toJSValue(newValue) } + } + @inlinable public var altitudeAngle: Double { + get { jsObject[Strings.altitudeAngle].fromJSValue()! } + set { jsObject[Strings.altitudeAngle] = _toJSValue(newValue) } + } + @inlinable public var azimuthAngle: Double { + get { jsObject[Strings.azimuthAngle].fromJSValue()! } + set { jsObject[Strings.azimuthAngle] = _toJSValue(newValue) } + } + @inlinable public var touchType: TouchType { + get { jsObject[Strings.touchType].fromJSValue()! } + set { jsObject[Strings.touchType] = _toJSValue(newValue) } + } } - public class TouchList: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TouchList].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @inlinable public subscript(key: Int) -> Touch? { - jsObject[key].fromJSValue() - } + @inlinable public subscript(key: Int) -> Touch? { jsObject[key].fromJSValue() } - @inlinable public func item(index: UInt32) -> Touch? { + @inlinable final public func item(index: UInt32) -> Touch? { let this = jsObject return this[Strings.item].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } @@ -16405,197 +18373,351 @@ public enum TouchType: JSString, JSValueCompatible { case stylus = "stylus" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class TrackEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.TrackEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.TrackEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _track = ReadonlyAttribute(jsObject: jsObject, name: Strings.track) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: TrackEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var track: AudioTrack_or_TextTrack_or_VideoTrack? + @inlinable public var track: AudioTrack_or_TextTrack_or_VideoTrack? { jsObject[Strings.track].fromJSValue() } } -public class TrackEventInit: BridgedDictionary { - public convenience init(track: AudioTrack_or_TextTrack_or_VideoTrack?) { +open class TrackEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + track: AudioTrack_or_TextTrack_or_VideoTrack? + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.track] = _toJSValue(track) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _track = ReadWriteAttribute(jsObject: object, name: Strings.track) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var track: AudioTrack_or_TextTrack_or_VideoTrack? + @inlinable public var track: AudioTrack_or_TextTrack_or_VideoTrack? { + get { jsObject[Strings.track].fromJSValue() } + set { jsObject[Strings.track] = _toJSValue(newValue) } + } } - public class TransformStream: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TransformStream].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _readable = ReadonlyAttribute(jsObject: jsObject, name: Strings.readable) - _writable = ReadonlyAttribute(jsObject: jsObject, name: Strings.writable) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(transformer: JSObject? = nil, writableStrategy: QueuingStrategy? = nil, readableStrategy: QueuingStrategy? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(transformer), _toJSValue(writableStrategy), _toJSValue(readableStrategy)])) + @inlinable public convenience init( + transformer: JSObject? = nil, + writableStrategy: QueuingStrategy? = nil, + readableStrategy: QueuingStrategy? = nil + ) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(transformer), _toJSValue(writableStrategy), _toJSValue(readableStrategy), + ]) + ) } - @ReadonlyAttribute - public var readable: ReadableStream + @inlinable public var readable: ReadableStream { jsObject[Strings.readable].fromJSValue()! } - @ReadonlyAttribute - public var writable: WritableStream + @inlinable public var writable: WritableStream { jsObject[Strings.writable].fromJSValue()! } } public class TransformStreamDefaultController: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TransformStreamDefaultController].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.TransformStreamDefaultController].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _desiredSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.desiredSize) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var desiredSize: Double? + @inlinable public var desiredSize: Double? { jsObject[Strings.desiredSize].fromJSValue() } - @inlinable public func enqueue(chunk: JSValue? = nil) { + @inlinable final public func enqueue(chunk: JSValue? = nil) { let this = jsObject _ = this[Strings.enqueue].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable public func error(reason: JSValue? = nil) { + @inlinable final public func error(reason: JSValue? = nil) { let this = jsObject _ = this[Strings.error].function!(this: this, arguments: [_toJSValue(reason)]) } - @inlinable public func terminate() { + @inlinable final public func terminate() { let this = jsObject _ = this[Strings.terminate].function!(this: this, arguments: []) } } -public class Transformer: BridgedDictionary { - public convenience init(start: @escaping TransformerStartCallback, transform: @escaping TransformerTransformCallback, flush: @escaping TransformerFlushCallback, readableType: JSValue, writableType: JSValue) { +open class Transformer: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + start: TransformerStartCallback? = nil, + transform: TransformerTransformCallback? = nil, + flush: TransformerFlushCallback? = nil, + cancel: TransformerCancelCallback? = nil, + readableType: JSValue? = nil, + writableType: JSValue? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute1[Strings.start, in: object] = start - ClosureAttribute2[Strings.transform, in: object] = transform - ClosureAttribute1[Strings.flush, in: object] = flush + object[Strings.start] = _toJSValue(start) + object[Strings.transform] = _toJSValue(transform) + object[Strings.flush] = _toJSValue(flush) + object[Strings.cancel] = _toJSValue(cancel) object[Strings.readableType] = _toJSValue(readableType) object[Strings.writableType] = _toJSValue(writableType) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _start = ClosureAttribute1(jsObject: object, name: Strings.start) - _transform = ClosureAttribute2(jsObject: object, name: Strings.transform) - _flush = ClosureAttribute1(jsObject: object, name: Strings.flush) - _readableType = ReadWriteAttribute(jsObject: object, name: Strings.readableType) - _writableType = ReadWriteAttribute(jsObject: object, name: Strings.writableType) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ClosureAttribute1 - public var start: TransformerStartCallback + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ClosureAttribute2 - public var transform: TransformerTransformCallback - - @ClosureAttribute1 - public var flush: TransformerFlushCallback - - @ReadWriteAttribute - public var readableType: JSValue? - - @ReadWriteAttribute - public var writableType: JSValue? + @inlinable public var start: TransformerStartCallback { + get { + let function = jsObject[Strings.start].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.start] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var transform: TransformerTransformCallback { + get { + let function = jsObject[Strings.transform].function! + return { function(_toJSValue($0), _toJSValue($1)).fromJSValue()! } + } + set { + jsObject[Strings.transform] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!)) }.jsValue + } + } + @inlinable public var flush: TransformerFlushCallback { + get { + let function = jsObject[Strings.flush].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.flush] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var cancel: TransformerCancelCallback { + get { + let function = jsObject[Strings.cancel].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.cancel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var readableType: JSValue { + get { jsObject[Strings.readableType].fromJSValue()! } + set { jsObject[Strings.readableType] = _toJSValue(newValue) } + } + @inlinable public var writableType: JSValue { + get { jsObject[Strings.writableType].fromJSValue()! } + set { jsObject[Strings.writableType] = _toJSValue(newValue) } + } } - public class TreeWalker: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TreeWalker].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _root = ReadonlyAttribute(jsObject: jsObject, name: Strings.root) - _whatToShow = ReadonlyAttribute(jsObject: jsObject, name: Strings.whatToShow) - _currentNode = ReadWriteAttribute(jsObject: jsObject, name: Strings.currentNode) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var root: Node + @inlinable public var root: Node { jsObject[Strings.root].fromJSValue()! } - @ReadonlyAttribute - public var whatToShow: UInt32 + @inlinable public var whatToShow: UInt32 { jsObject[Strings.whatToShow].fromJSValue()! } // XXX: member 'filter' is ignored - @ReadWriteAttribute - public var currentNode: Node + @inlinable public var currentNode: Node { + get { jsObject[Strings.currentNode].fromJSValue()! } + set { jsObject[Strings.currentNode] = _toJSValue(newValue) } + } - @inlinable public func parentNode() -> Node? { + @inlinable final public func parentNode() -> Node? { let this = jsObject return this[Strings.parentNode].function!(this: this, arguments: []).fromJSValue() } - @inlinable public func firstChild() -> Node? { + @inlinable final public func firstChild() -> Node? { let this = jsObject return this[Strings.firstChild].function!(this: this, arguments: []).fromJSValue() } - @inlinable public func lastChild() -> Node? { + @inlinable final public func lastChild() -> Node? { let this = jsObject return this[Strings.lastChild].function!(this: this, arguments: []).fromJSValue() } - @inlinable public func previousSibling() -> Node? { + @inlinable final public func previousSibling() -> Node? { let this = jsObject return this[Strings.previousSibling].function!(this: this, arguments: []).fromJSValue() } - @inlinable public func nextSibling() -> Node? { + @inlinable final public func nextSibling() -> Node? { let this = jsObject return this[Strings.nextSibling].function!(this: this, arguments: []).fromJSValue() } - @inlinable public func previousNode() -> Node? { + @inlinable final public func previousNode() -> Node? { let this = jsObject return this[Strings.previousNode].function!(this: this, arguments: []).fromJSValue() } - @inlinable public func nextNode() -> Node? { + @inlinable final public func nextNode() -> Node? { let this = jsObject return this[Strings.nextNode].function!(this: this, arguments: []).fromJSValue() } } +public class TrustedHTML: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedHTML].function } + + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } + + @inlinable final public func toJSON() -> String { + let this = jsObject + return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! + } +} + +public class TrustedScript: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedScript].function } + + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } + + @inlinable final public func toJSON() -> String { + let this = jsObject + return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! + } +} + +public class TrustedScriptURL: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedScriptURL].function } + + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var description: String { jsObject[Strings.toString].function!().fromJSValue()! } + + @inlinable final public func toJSON() -> String { + let this = jsObject + return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! + } +} + +public class TrustedTypePolicy: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedTypePolicy].function } + + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var name: String { jsObject[Strings.name].fromJSValue()! } + + @inlinable final public func createHTML(input: String, arguments: JSValue...) -> TrustedHTML { + let this = jsObject + return this[Strings.createHTML].function!( + this: this, + arguments: [_toJSValue(input)] + arguments.map(_toJSValue) + ).fromJSValue()! + } + + @inlinable final public func createScript(input: String, arguments: JSValue...) -> TrustedScript { + let this = jsObject + return this[Strings.createScript].function!( + this: this, + arguments: [_toJSValue(input)] + arguments.map(_toJSValue) + ).fromJSValue()! + } + + @inlinable final public func createScriptURL(input: String, arguments: JSValue...) -> TrustedScriptURL { + let this = jsObject + return this[Strings.createScriptURL].function!( + this: this, + arguments: [_toJSValue(input)] + arguments.map(_toJSValue) + ).fromJSValue()! + } +} + +public class TrustedTypePolicyFactory: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.TrustedTypePolicyFactory].function } + + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + // XXX: member 'createPolicy' is ignored + + @inlinable final public func isHTML(value: JSValue) -> Bool { + let this = jsObject + return this[Strings.isHTML].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + } + + @inlinable final public func isScript(value: JSValue) -> Bool { + let this = jsObject + return this[Strings.isScript].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + } + + @inlinable final public func isScriptURL(value: JSValue) -> Bool { + let this = jsObject + return this[Strings.isScriptURL].function!(this: this, arguments: [_toJSValue(value)]).fromJSValue()! + } + + @inlinable public var emptyHTML: TrustedHTML { jsObject[Strings.emptyHTML].fromJSValue()! } + + @inlinable public var emptyScript: TrustedScript { jsObject[Strings.emptyScript].fromJSValue()! } + + @inlinable final public func getAttributeType( + tagName: String, + attribute: String, + elementNs: String? = nil, + attrNs: String? = nil + ) -> String? { + let this = jsObject + return this[Strings.getAttributeType].function!( + this: this, + arguments: [_toJSValue(tagName), _toJSValue(attribute), _toJSValue(elementNs), _toJSValue(attrNs)] + ).fromJSValue() + } + + @inlinable final public func getPropertyType(tagName: String, property: String, elementNs: String? = nil) -> String? + { + let this = jsObject + return this[Strings.getPropertyType].function!( + this: this, + arguments: [_toJSValue(tagName), _toJSValue(property), _toJSValue(elementNs)] + ).fromJSValue() + } + + @inlinable public var defaultPolicy: TrustedTypePolicy? { jsObject[Strings.defaultPolicy].fromJSValue() } +} + public typealias EventHandler = EventHandlerNonNull? public typealias OnErrorEventHandler = OnErrorEventHandlerNonNull? public typealias OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull? @@ -16604,6 +18726,7 @@ public typealias DOMHighResTimeStamp = Double public typealias EpochTimeStamp = UInt64 public typealias PerformanceEntryList = [PerformanceEntry] + public typealias MutationCallback = ([MutationRecord], MutationObserver) -> Void public typealias BlobCallback = (Blob?) -> Void public typealias FunctionStringCallback = (String) -> Void @@ -16612,6 +18735,7 @@ public typealias EventHandlerNonNull = (Event) -> JSValue public typealias OnErrorEventHandlerNonNull = (Event_or_String, String, UInt32, UInt32, JSValue) -> JSValue public typealias OnBeforeUnloadEventHandlerNonNull = (Event) -> String? public typealias FrameRequestCallback = (DOMHighResTimeStamp) -> Void +public typealias ViewTransitionUpdateCallback = () -> JSPromise public typealias UnderlyingSourceStartCallback = (ReadableStreamController) -> JSValue public typealias UnderlyingSourcePullCallback = (ReadableStreamController) -> JSPromise public typealias UnderlyingSourceCancelCallback = (JSValue) -> JSPromise @@ -16622,191 +18746,466 @@ public typealias UnderlyingSinkAbortCallback = (JSValue) -> JSPromise public typealias TransformerStartCallback = (TransformStreamDefaultController) -> JSValue public typealias TransformerFlushCallback = (TransformStreamDefaultController) -> JSPromise public typealias TransformerTransformCallback = (JSValue, TransformStreamDefaultController) -> JSPromise +public typealias TransformerCancelCallback = (JSValue) -> JSPromise public typealias QueuingStrategySize = (JSValue) -> Double -public typealias NavigatorUserMediaSuccessCallback = (MediaStream) -> Void -public typealias NavigatorUserMediaErrorCallback = (DOMException) -> Void public typealias AudioDataOutputCallback = (AudioData) -> Void public typealias VideoFrameOutputCallback = (VideoFrame) -> Void public typealias EncodedAudioChunkOutputCallback = (EncodedAudioChunk, EncodedAudioChunkMetadata) -> Void public typealias EncodedVideoChunkOutputCallback = (EncodedVideoChunk, EncodedVideoChunkMetadata) -> Void public typealias WebCodecsErrorCallback = (DOMException) -> Void -public typealias PerformanceObserverCallback = (PerformanceObserverEntryList, PerformanceObserver, PerformanceObserverCallbackOptions) -> Void +public typealias PerformanceObserverCallback = ( + PerformanceObserverEntryList, PerformanceObserver, PerformanceObserverCallbackOptions +) -> Void +public typealias CreateHTMLCallback = (String, JSValue...) -> String? +public typealias CreateScriptCallback = (String, JSValue...) -> String? +public typealias CreateScriptURLCallback = (String, JSValue...) -> String? public class UIEvent: Event { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.UIEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.UIEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _view = ReadonlyAttribute(jsObject: jsObject, name: Strings.view) - _detail = ReadonlyAttribute(jsObject: jsObject, name: Strings.detail) - _which = ReadonlyAttribute(jsObject: jsObject, name: Strings.which) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: UIEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) } - @ReadonlyAttribute - public var view: Window? + @inlinable public var view: Window? { jsObject[Strings.view].fromJSValue() } - @ReadonlyAttribute - public var detail: Int32 + @inlinable public var detail: Int32 { jsObject[Strings.detail].fromJSValue()! } - @inlinable public func initUIEvent(typeArg: String, bubblesArg: Bool? = nil, cancelableArg: Bool? = nil, viewArg: Window? = nil, detailArg: Int32? = nil) { + @inlinable final public func initUIEvent( + typeArg: String, + bubblesArg: Bool? = nil, + cancelableArg: Bool? = nil, + viewArg: Window? = nil, + detailArg: Int32? = nil + ) { let this = jsObject - _ = this[Strings.initUIEvent].function!(this: this, arguments: [_toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), _toJSValue(detailArg)]) + _ = this[Strings.initUIEvent].function!( + this: this, + arguments: [ + _toJSValue(typeArg), _toJSValue(bubblesArg), _toJSValue(cancelableArg), _toJSValue(viewArg), + _toJSValue(detailArg), + ] + ) } - @ReadonlyAttribute - public var which: UInt32 + @inlinable public var which: UInt32 { jsObject[Strings.which].fromJSValue()! } } -public class UIEventInit: BridgedDictionary { - public convenience init(view: Window?, detail: Int32, which: UInt32) { +open class UIEventInit: EventInit { + + public convenience init( + bubbles: Bool? = nil, + cancelable: Bool? = nil, + composed: Bool? = nil, + view: Window?, + detail: Int32? = nil, + which: UInt32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.bubbles] = _toJSValue(bubbles) + object[Strings.cancelable] = _toJSValue(cancelable) + object[Strings.composed] = _toJSValue(composed) object[Strings.view] = _toJSValue(view) object[Strings.detail] = _toJSValue(detail) object[Strings.which] = _toJSValue(which) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _view = ReadWriteAttribute(jsObject: object, name: Strings.view) - _detail = ReadWriteAttribute(jsObject: object, name: Strings.detail) - _which = ReadWriteAttribute(jsObject: object, name: Strings.which) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var view: Window? + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var detail: Int32? - - @ReadWriteAttribute - public var which: UInt32? + @inlinable public var view: Window? { + get { jsObject[Strings.view].fromJSValue() } + set { jsObject[Strings.view] = _toJSValue(newValue) } + } + @inlinable public var detail: Int32 { + get { jsObject[Strings.detail].fromJSValue()! } + set { jsObject[Strings.detail] = _toJSValue(newValue) } + } + @inlinable public var which: UInt32 { + get { jsObject[Strings.which].fromJSValue()! } + set { jsObject[Strings.which] = _toJSValue(newValue) } + } } +open class ULongRange: JSDictionaryCompatible { + public let jsObject: JSObject -public class ULongRange: BridgedDictionary { - public convenience init(max: UInt32, min: UInt32) { + public convenience init(max: UInt32? = nil, min: UInt32? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.max] = _toJSValue(max) object[Strings.min] = _toJSValue(min) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _max = ReadWriteAttribute(jsObject: object, name: Strings.max) - _min = ReadWriteAttribute(jsObject: object, name: Strings.min) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var max: UInt32? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var min: UInt32? + @inlinable public var max: UInt32 { + get { jsObject[Strings.max].fromJSValue()! } + set { jsObject[Strings.max] = _toJSValue(newValue) } + } + @inlinable public var min: UInt32 { + get { jsObject[Strings.min].fromJSValue()! } + set { jsObject[Strings.min] = _toJSValue(newValue) } + } } +extension URL { -public extension URL { - @inlinable class func createObjectURL(obj: Blob_or_MediaSource) -> String { + @inlinable public class func createObjectURL(obj: Blob_or_MediaSource) -> String { let this = constructor! return this[Strings.createObjectURL].function!(this: this, arguments: [_toJSValue(obj)]).fromJSValue()! } - @inlinable class func revokeObjectURL(url: String) { + @inlinable public class func revokeObjectURL(url: String) { let this = constructor! _ = this[Strings.revokeObjectURL].function!(this: this, arguments: [_toJSValue(url)]) } } -public class UnderlyingSink: BridgedDictionary { - public convenience init(start: @escaping UnderlyingSinkStartCallback, write: @escaping UnderlyingSinkWriteCallback, close: @escaping UnderlyingSinkCloseCallback, abort: @escaping UnderlyingSinkAbortCallback, type: JSValue) { +public class URLPattern: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.URLPattern].function } + + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public convenience init(input: URLPatternInput, baseURL: String, options: URLPatternOptions? = nil) { + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [ + _toJSValue(input), _toJSValue(baseURL), _toJSValue(options), + ]) + ) + } + + @inlinable public convenience init(input: URLPatternInput? = nil, options: URLPatternOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(input), _toJSValue(options)])) + } + + @inlinable final public func test(input: URLPatternInput? = nil, baseURL: String? = nil) -> Bool { + let this = jsObject + return this[Strings.test].function!(this: this, arguments: [_toJSValue(input), _toJSValue(baseURL)]) + .fromJSValue()! + } + + @inlinable final public func exec(input: URLPatternInput? = nil, baseURL: String? = nil) -> URLPatternResult? { + let this = jsObject + return this[Strings.exec].function!(this: this, arguments: [_toJSValue(input), _toJSValue(baseURL)]) + .fromJSValue() + } + + @inlinable public var `protocol`: String { jsObject[Strings.`protocol`].fromJSValue()! } + + @inlinable public var username: String { jsObject[Strings.username].fromJSValue()! } + + @inlinable public var password: String { jsObject[Strings.password].fromJSValue()! } + + @inlinable public var hostname: String { jsObject[Strings.hostname].fromJSValue()! } + + @inlinable public var port: String { jsObject[Strings.port].fromJSValue()! } + + @inlinable public var pathname: String { jsObject[Strings.pathname].fromJSValue()! } + + @inlinable public var search: String { jsObject[Strings.search].fromJSValue()! } + + @inlinable public var hash: String { jsObject[Strings.hash].fromJSValue()! } + + @inlinable public var hasRegExpGroups: Bool { jsObject[Strings.hasRegExpGroups].fromJSValue()! } +} + +open class URLPatternComponentResult: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(input: String? = nil, groups: JSObject? = nil) { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute1[Strings.start, in: object] = start - ClosureAttribute2[Strings.write, in: object] = write - ClosureAttribute0[Strings.close, in: object] = close - ClosureAttribute1[Strings.abort, in: object] = abort - object[Strings.type] = _toJSValue(type) + object[Strings.input] = _toJSValue(input) + object[Strings.groups] = _toJSValue(groups) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _start = ClosureAttribute1(jsObject: object, name: Strings.start) - _write = ClosureAttribute2(jsObject: object, name: Strings.write) - _close = ClosureAttribute0(jsObject: object, name: Strings.close) - _abort = ClosureAttribute1(jsObject: object, name: Strings.abort) - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ClosureAttribute1 - public var start: UnderlyingSinkStartCallback + @inlinable public var input: String { + get { jsObject[Strings.input].fromJSValue()! } + set { jsObject[Strings.input] = _toJSValue(newValue) } + } + @inlinable public var groups: JSObject { + get { jsObject[Strings.groups].fromJSValue()! } + set { jsObject[Strings.groups] = _toJSValue(newValue) } + } +} +open class URLPatternInit: JSDictionaryCompatible { + public let jsObject: JSObject - @ClosureAttribute2 - public var write: UnderlyingSinkWriteCallback + public convenience init( + `protocol`: String? = nil, + username: String? = nil, + password: String? = nil, + hostname: String? = nil, + port: String? = nil, + pathname: String? = nil, + search: String? = nil, + hash: String? = nil, + baseURL: String? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.`protocol`] = _toJSValue(`protocol`) + object[Strings.username] = _toJSValue(username) + object[Strings.password] = _toJSValue(password) + object[Strings.hostname] = _toJSValue(hostname) + object[Strings.port] = _toJSValue(port) + object[Strings.pathname] = _toJSValue(pathname) + object[Strings.search] = _toJSValue(search) + object[Strings.hash] = _toJSValue(hash) + object[Strings.baseURL] = _toJSValue(baseURL) - @ClosureAttribute0 - public var close: UnderlyingSinkCloseCallback + self.init(unsafelyWrapping: object) + } - @ClosureAttribute1 - public var abort: UnderlyingSinkAbortCallback + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var type: JSValue? + @inlinable public var `protocol`: String { + get { jsObject[Strings.`protocol`].fromJSValue()! } + set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } + } + @inlinable public var username: String { + get { jsObject[Strings.username].fromJSValue()! } + set { jsObject[Strings.username] = _toJSValue(newValue) } + } + @inlinable public var password: String { + get { jsObject[Strings.password].fromJSValue()! } + set { jsObject[Strings.password] = _toJSValue(newValue) } + } + @inlinable public var hostname: String { + get { jsObject[Strings.hostname].fromJSValue()! } + set { jsObject[Strings.hostname] = _toJSValue(newValue) } + } + @inlinable public var port: String { + get { jsObject[Strings.port].fromJSValue()! } + set { jsObject[Strings.port] = _toJSValue(newValue) } + } + @inlinable public var pathname: String { + get { jsObject[Strings.pathname].fromJSValue()! } + set { jsObject[Strings.pathname] = _toJSValue(newValue) } + } + @inlinable public var search: String { + get { jsObject[Strings.search].fromJSValue()! } + set { jsObject[Strings.search] = _toJSValue(newValue) } + } + @inlinable public var hash: String { + get { jsObject[Strings.hash].fromJSValue()! } + set { jsObject[Strings.hash] = _toJSValue(newValue) } + } + @inlinable public var baseURL: String { + get { jsObject[Strings.baseURL].fromJSValue()! } + set { jsObject[Strings.baseURL] = _toJSValue(newValue) } + } } +open class URLPatternOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class UnderlyingSource: BridgedDictionary { - public convenience init(start: @escaping UnderlyingSourceStartCallback, pull: @escaping UnderlyingSourcePullCallback, cancel: @escaping UnderlyingSourceCancelCallback, type: ReadableStreamType, autoAllocateChunkSize: UInt64) { + public convenience init(ignoreCase: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute1[Strings.start, in: object] = start - ClosureAttribute1[Strings.pull, in: object] = pull - ClosureAttribute1[Strings.cancel, in: object] = cancel - object[Strings.type] = _toJSValue(type) - object[Strings.autoAllocateChunkSize] = _toJSValue(autoAllocateChunkSize) + object[Strings.ignoreCase] = _toJSValue(ignoreCase) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _start = ClosureAttribute1(jsObject: object, name: Strings.start) - _pull = ClosureAttribute1(jsObject: object, name: Strings.pull) - _cancel = ClosureAttribute1(jsObject: object, name: Strings.cancel) - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _autoAllocateChunkSize = ReadWriteAttribute(jsObject: object, name: Strings.autoAllocateChunkSize) - super.init(unsafelyWrapping: object) + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var ignoreCase: Bool { + get { jsObject[Strings.ignoreCase].fromJSValue()! } + set { jsObject[Strings.ignoreCase] = _toJSValue(newValue) } } +} +open class URLPatternResult: JSDictionaryCompatible { + public let jsObject: JSObject - @ClosureAttribute1 - public var start: UnderlyingSourceStartCallback + public convenience init( + inputs: [URLPatternInput]? = nil, + `protocol`: URLPatternComponentResult? = nil, + username: URLPatternComponentResult? = nil, + password: URLPatternComponentResult? = nil, + hostname: URLPatternComponentResult? = nil, + port: URLPatternComponentResult? = nil, + pathname: URLPatternComponentResult? = nil, + search: URLPatternComponentResult? = nil, + hash: URLPatternComponentResult? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.inputs] = _toJSValue(inputs) + object[Strings.`protocol`] = _toJSValue(`protocol`) + object[Strings.username] = _toJSValue(username) + object[Strings.password] = _toJSValue(password) + object[Strings.hostname] = _toJSValue(hostname) + object[Strings.port] = _toJSValue(port) + object[Strings.pathname] = _toJSValue(pathname) + object[Strings.search] = _toJSValue(search) + object[Strings.hash] = _toJSValue(hash) - @ClosureAttribute1 - public var pull: UnderlyingSourcePullCallback + self.init(unsafelyWrapping: object) + } - @ClosureAttribute1 - public var cancel: UnderlyingSourceCancelCallback + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var type: ReadableStreamType? + @inlinable public var inputs: [URLPatternInput] { + get { jsObject[Strings.inputs].fromJSValue()! } + set { jsObject[Strings.inputs] = _toJSValue(newValue) } + } + @inlinable public var `protocol`: URLPatternComponentResult { + get { jsObject[Strings.`protocol`].fromJSValue()! } + set { jsObject[Strings.`protocol`] = _toJSValue(newValue) } + } + @inlinable public var username: URLPatternComponentResult { + get { jsObject[Strings.username].fromJSValue()! } + set { jsObject[Strings.username] = _toJSValue(newValue) } + } + @inlinable public var password: URLPatternComponentResult { + get { jsObject[Strings.password].fromJSValue()! } + set { jsObject[Strings.password] = _toJSValue(newValue) } + } + @inlinable public var hostname: URLPatternComponentResult { + get { jsObject[Strings.hostname].fromJSValue()! } + set { jsObject[Strings.hostname] = _toJSValue(newValue) } + } + @inlinable public var port: URLPatternComponentResult { + get { jsObject[Strings.port].fromJSValue()! } + set { jsObject[Strings.port] = _toJSValue(newValue) } + } + @inlinable public var pathname: URLPatternComponentResult { + get { jsObject[Strings.pathname].fromJSValue()! } + set { jsObject[Strings.pathname] = _toJSValue(newValue) } + } + @inlinable public var search: URLPatternComponentResult { + get { jsObject[Strings.search].fromJSValue()! } + set { jsObject[Strings.search] = _toJSValue(newValue) } + } + @inlinable public var hash: URLPatternComponentResult { + get { jsObject[Strings.hash].fromJSValue()! } + set { jsObject[Strings.hash] = _toJSValue(newValue) } + } +} +open class UnderlyingSink: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + start: UnderlyingSinkStartCallback? = nil, + write: UnderlyingSinkWriteCallback? = nil, + close: UnderlyingSinkCloseCallback? = nil, + abort: UnderlyingSinkAbortCallback? = nil, + type: JSValue? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.start] = _toJSValue(start) + object[Strings.write] = _toJSValue(write) + object[Strings.close] = _toJSValue(close) + object[Strings.abort] = _toJSValue(abort) + object[Strings.type] = _toJSValue(type) - @ReadWriteAttribute - public var autoAllocateChunkSize: UInt64? + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var start: UnderlyingSinkStartCallback { + get { + let function = jsObject[Strings.start].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.start] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var write: UnderlyingSinkWriteCallback { + get { + let function = jsObject[Strings.write].function! + return { function(_toJSValue($0), _toJSValue($1)).fromJSValue()! } + } + set { + jsObject[Strings.write] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!)) }.jsValue + } + } + @inlinable public var close: UnderlyingSinkCloseCallback { + get { + let function = jsObject[Strings.close].function! + return { function().fromJSValue()! } + } + set { jsObject[Strings.close] = JSClosure { _ in _toJSValue(newValue()) }.jsValue } + } + @inlinable public var abort: UnderlyingSinkAbortCallback { + get { + let function = jsObject[Strings.abort].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.abort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var type: JSValue { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } } +open class UnderlyingSource: JSDictionaryCompatible { + public let jsObject: JSObject + public convenience init( + start: UnderlyingSourceStartCallback? = nil, + pull: UnderlyingSourcePullCallback? = nil, + cancel: UnderlyingSourceCancelCallback? = nil, + type: ReadableStreamType? = nil, + autoAllocateChunkSize: UInt64? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.start] = _toJSValue(start) + object[Strings.pull] = _toJSValue(pull) + object[Strings.cancel] = _toJSValue(cancel) + object[Strings.type] = _toJSValue(type) + object[Strings.autoAllocateChunkSize] = _toJSValue(autoAllocateChunkSize) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var start: UnderlyingSourceStartCallback { + get { + let function = jsObject[Strings.start].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.start] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var pull: UnderlyingSourcePullCallback { + get { + let function = jsObject[Strings.pull].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.pull] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var cancel: UnderlyingSourceCancelCallback { + get { + let function = jsObject[Strings.cancel].function! + return { function(_toJSValue($0)).fromJSValue()! } + } + set { jsObject[Strings.cancel] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue } + } + @inlinable public var type: ReadableStreamType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var autoAllocateChunkSize: UInt64 { + get { jsObject[Strings.autoAllocateChunkSize].fromJSValue()! } + set { jsObject[Strings.autoAllocateChunkSize] = _toJSValue(newValue) } + } +} public class UserActivation: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.UserActivation].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _hasBeenActive = ReadonlyAttribute(jsObject: jsObject, name: Strings.hasBeenActive) - _isActive = ReadonlyAttribute(jsObject: jsObject, name: Strings.isActive) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var hasBeenActive: Bool + @inlinable public var hasBeenActive: Bool { jsObject[Strings.hasBeenActive].fromJSValue()! } - @ReadonlyAttribute - public var isActive: Bool + @inlinable public var isActive: Bool { jsObject[Strings.isActive].fromJSValue()! } } public class ValidityState: JSBridgedClass { @@ -16814,116 +19213,104 @@ public class ValidityState: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _valueMissing = ReadonlyAttribute(jsObject: jsObject, name: Strings.valueMissing) - _typeMismatch = ReadonlyAttribute(jsObject: jsObject, name: Strings.typeMismatch) - _patternMismatch = ReadonlyAttribute(jsObject: jsObject, name: Strings.patternMismatch) - _tooLong = ReadonlyAttribute(jsObject: jsObject, name: Strings.tooLong) - _tooShort = ReadonlyAttribute(jsObject: jsObject, name: Strings.tooShort) - _rangeUnderflow = ReadonlyAttribute(jsObject: jsObject, name: Strings.rangeUnderflow) - _rangeOverflow = ReadonlyAttribute(jsObject: jsObject, name: Strings.rangeOverflow) - _stepMismatch = ReadonlyAttribute(jsObject: jsObject, name: Strings.stepMismatch) - _badInput = ReadonlyAttribute(jsObject: jsObject, name: Strings.badInput) - _customError = ReadonlyAttribute(jsObject: jsObject, name: Strings.customError) - _valid = ReadonlyAttribute(jsObject: jsObject, name: Strings.valid) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var valueMissing: Bool + @inlinable public var valueMissing: Bool { jsObject[Strings.valueMissing].fromJSValue()! } - @ReadonlyAttribute - public var typeMismatch: Bool + @inlinable public var typeMismatch: Bool { jsObject[Strings.typeMismatch].fromJSValue()! } - @ReadonlyAttribute - public var patternMismatch: Bool + @inlinable public var patternMismatch: Bool { jsObject[Strings.patternMismatch].fromJSValue()! } - @ReadonlyAttribute - public var tooLong: Bool + @inlinable public var tooLong: Bool { jsObject[Strings.tooLong].fromJSValue()! } - @ReadonlyAttribute - public var tooShort: Bool + @inlinable public var tooShort: Bool { jsObject[Strings.tooShort].fromJSValue()! } - @ReadonlyAttribute - public var rangeUnderflow: Bool + @inlinable public var rangeUnderflow: Bool { jsObject[Strings.rangeUnderflow].fromJSValue()! } - @ReadonlyAttribute - public var rangeOverflow: Bool + @inlinable public var rangeOverflow: Bool { jsObject[Strings.rangeOverflow].fromJSValue()! } - @ReadonlyAttribute - public var stepMismatch: Bool + @inlinable public var stepMismatch: Bool { jsObject[Strings.stepMismatch].fromJSValue()! } - @ReadonlyAttribute - public var badInput: Bool + @inlinable public var badInput: Bool { jsObject[Strings.badInput].fromJSValue()! } - @ReadonlyAttribute - public var customError: Bool + @inlinable public var customError: Bool { jsObject[Strings.customError].fromJSValue()! } - @ReadonlyAttribute - public var valid: Bool + @inlinable public var valid: Bool { jsObject[Strings.valid].fromJSValue()! } } -public class ValidityStateFlags: BridgedDictionary { - public convenience init(valueMissing: Bool, typeMismatch: Bool, patternMismatch: Bool, tooLong: Bool, tooShort: Bool, rangeUnderflow: Bool, rangeOverflow: Bool, stepMismatch: Bool, badInput: Bool, customError: Bool) { +open class ValidityStateFlags: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + valueMissing: Bool? = nil, + typeMismatch: Bool? = nil, + patternMismatch: Bool? = nil, + tooLong: Bool? = nil, + tooShort: Bool? = nil, + rangeUnderflow: Bool? = nil, + rangeOverflow: Bool? = nil, + stepMismatch: Bool? = nil, + badInput: Bool? = nil, + customError: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.valueMissing] = _toJSValue(valueMissing) object[Strings.typeMismatch] = _toJSValue(typeMismatch) object[Strings.patternMismatch] = _toJSValue(patternMismatch) object[Strings.tooLong] = _toJSValue(tooLong) object[Strings.tooShort] = _toJSValue(tooShort) - object[Strings.rangeUnderflow] = _toJSValue(rangeUnderflow) - object[Strings.rangeOverflow] = _toJSValue(rangeOverflow) - object[Strings.stepMismatch] = _toJSValue(stepMismatch) - object[Strings.badInput] = _toJSValue(badInput) - object[Strings.customError] = _toJSValue(customError) - self.init(unsafelyWrapping: object) - } - - public required init(unsafelyWrapping object: JSObject) { - _valueMissing = ReadWriteAttribute(jsObject: object, name: Strings.valueMissing) - _typeMismatch = ReadWriteAttribute(jsObject: object, name: Strings.typeMismatch) - _patternMismatch = ReadWriteAttribute(jsObject: object, name: Strings.patternMismatch) - _tooLong = ReadWriteAttribute(jsObject: object, name: Strings.tooLong) - _tooShort = ReadWriteAttribute(jsObject: object, name: Strings.tooShort) - _rangeUnderflow = ReadWriteAttribute(jsObject: object, name: Strings.rangeUnderflow) - _rangeOverflow = ReadWriteAttribute(jsObject: object, name: Strings.rangeOverflow) - _stepMismatch = ReadWriteAttribute(jsObject: object, name: Strings.stepMismatch) - _badInput = ReadWriteAttribute(jsObject: object, name: Strings.badInput) - _customError = ReadWriteAttribute(jsObject: object, name: Strings.customError) - super.init(unsafelyWrapping: object) - } - - @ReadWriteAttribute - public var valueMissing: Bool? - - @ReadWriteAttribute - public var typeMismatch: Bool? - - @ReadWriteAttribute - public var patternMismatch: Bool? - - @ReadWriteAttribute - public var tooLong: Bool? - - @ReadWriteAttribute - public var tooShort: Bool? - - @ReadWriteAttribute - public var rangeUnderflow: Bool? - - @ReadWriteAttribute - public var rangeOverflow: Bool? + object[Strings.rangeUnderflow] = _toJSValue(rangeUnderflow) + object[Strings.rangeOverflow] = _toJSValue(rangeOverflow) + object[Strings.stepMismatch] = _toJSValue(stepMismatch) + object[Strings.badInput] = _toJSValue(badInput) + object[Strings.customError] = _toJSValue(customError) - @ReadWriteAttribute - public var stepMismatch: Bool? + self.init(unsafelyWrapping: object) + } - @ReadWriteAttribute - public var badInput: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var customError: Bool? + @inlinable public var valueMissing: Bool { + get { jsObject[Strings.valueMissing].fromJSValue()! } + set { jsObject[Strings.valueMissing] = _toJSValue(newValue) } + } + @inlinable public var typeMismatch: Bool { + get { jsObject[Strings.typeMismatch].fromJSValue()! } + set { jsObject[Strings.typeMismatch] = _toJSValue(newValue) } + } + @inlinable public var patternMismatch: Bool { + get { jsObject[Strings.patternMismatch].fromJSValue()! } + set { jsObject[Strings.patternMismatch] = _toJSValue(newValue) } + } + @inlinable public var tooLong: Bool { + get { jsObject[Strings.tooLong].fromJSValue()! } + set { jsObject[Strings.tooLong] = _toJSValue(newValue) } + } + @inlinable public var tooShort: Bool { + get { jsObject[Strings.tooShort].fromJSValue()! } + set { jsObject[Strings.tooShort] = _toJSValue(newValue) } + } + @inlinable public var rangeUnderflow: Bool { + get { jsObject[Strings.rangeUnderflow].fromJSValue()! } + set { jsObject[Strings.rangeUnderflow] = _toJSValue(newValue) } + } + @inlinable public var rangeOverflow: Bool { + get { jsObject[Strings.rangeOverflow].fromJSValue()! } + set { jsObject[Strings.rangeOverflow] = _toJSValue(newValue) } + } + @inlinable public var stepMismatch: Bool { + get { jsObject[Strings.stepMismatch].fromJSValue()! } + set { jsObject[Strings.stepMismatch] = _toJSValue(newValue) } + } + @inlinable public var badInput: Bool { + get { jsObject[Strings.badInput].fromJSValue()! } + set { jsObject[Strings.badInput] = _toJSValue(newValue) } + } + @inlinable public var customError: Bool { + get { jsObject[Strings.customError].fromJSValue()! } + set { jsObject[Strings.customError] = _toJSValue(newValue) } + } } - public enum VideoColorPrimaries: JSString, JSValueCompatible { case bt709 = "bt709" case bt470bg = "bt470bg" @@ -16932,136 +19319,134 @@ public enum VideoColorPrimaries: JSString, JSValueCompatible { case smpte432 = "smpte432" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class VideoColorSpace: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.VideoColorSpace].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _primaries = ReadonlyAttribute(jsObject: jsObject, name: Strings.primaries) - _transfer = ReadonlyAttribute(jsObject: jsObject, name: Strings.transfer) - _matrix = ReadonlyAttribute(jsObject: jsObject, name: Strings.matrix) - _fullRange = ReadonlyAttribute(jsObject: jsObject, name: Strings.fullRange) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init(init: VideoColorSpaceInit? = nil) { + @inlinable public convenience init(`init`: VideoColorSpaceInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var primaries: VideoColorPrimaries? + @inlinable public var primaries: VideoColorPrimaries? { jsObject[Strings.primaries].fromJSValue() } - @ReadonlyAttribute - public var transfer: VideoTransferCharacteristics? + @inlinable public var transfer: VideoTransferCharacteristics? { jsObject[Strings.transfer].fromJSValue() } - @ReadonlyAttribute - public var matrix: VideoMatrixCoefficients? + @inlinable public var matrix: VideoMatrixCoefficients? { jsObject[Strings.matrix].fromJSValue() } - @ReadonlyAttribute - public var fullRange: Bool? + @inlinable public var fullRange: Bool? { jsObject[Strings.fullRange].fromJSValue() } - @inlinable public func toJSON() -> VideoColorSpaceInit { + @inlinable final public func toJSON() -> VideoColorSpaceInit { let this = jsObject return this[Strings.toJSON].function!(this: this, arguments: []).fromJSValue()! } } -public class VideoColorSpaceInit: BridgedDictionary { - public convenience init(primaries: VideoColorPrimaries?, transfer: VideoTransferCharacteristics?, matrix: VideoMatrixCoefficients?, fullRange: Bool?) { +open class VideoColorSpaceInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + primaries: VideoColorPrimaries?, + transfer: VideoTransferCharacteristics?, + matrix: VideoMatrixCoefficients?, + fullRange: Bool? + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.primaries] = _toJSValue(primaries) object[Strings.transfer] = _toJSValue(transfer) object[Strings.matrix] = _toJSValue(matrix) object[Strings.fullRange] = _toJSValue(fullRange) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _primaries = ReadWriteAttribute(jsObject: object, name: Strings.primaries) - _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) - _matrix = ReadWriteAttribute(jsObject: object, name: Strings.matrix) - _fullRange = ReadWriteAttribute(jsObject: object, name: Strings.fullRange) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var primaries: VideoColorPrimaries? - - @ReadWriteAttribute - public var transfer: VideoTransferCharacteristics? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var matrix: VideoMatrixCoefficients? - - @ReadWriteAttribute - public var fullRange: Bool? + @inlinable public var primaries: VideoColorPrimaries? { + get { jsObject[Strings.primaries].fromJSValue() } + set { jsObject[Strings.primaries] = _toJSValue(newValue) } + } + @inlinable public var transfer: VideoTransferCharacteristics? { + get { jsObject[Strings.transfer].fromJSValue() } + set { jsObject[Strings.transfer] = _toJSValue(newValue) } + } + @inlinable public var matrix: VideoMatrixCoefficients? { + get { jsObject[Strings.matrix].fromJSValue() } + set { jsObject[Strings.matrix] = _toJSValue(newValue) } + } + @inlinable public var fullRange: Bool? { + get { jsObject[Strings.fullRange].fromJSValue() } + set { jsObject[Strings.fullRange] = _toJSValue(newValue) } + } } - public class VideoDecoder: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VideoDecoder].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.VideoDecoder].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _decodeQueueSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.decodeQueueSize) - _ondequeue = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondequeue) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(init: VideoDecoderInit) { + @inlinable public convenience init(`init`: VideoDecoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var state: CodecState + @inlinable public var state: CodecState { jsObject[Strings.state].fromJSValue()! } - @ReadonlyAttribute - public var decodeQueueSize: UInt32 + @inlinable public var decodeQueueSize: UInt32 { jsObject[Strings.decodeQueueSize].fromJSValue()! } - @ClosureAttribute1Optional - public var ondequeue: EventHandler + @inlinable public var ondequeue: EventHandler { + get { + guard let function = jsObject[Strings.ondequeue].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondequeue] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondequeue] = .null + } + } + } - @inlinable public func configure(config: VideoDecoderConfig) { + @inlinable final public func configure(config: VideoDecoderConfig) { let this = jsObject _ = this[Strings.configure].function!(this: this, arguments: [_toJSValue(config)]) } - @inlinable public func decode(chunk: EncodedVideoChunk) { + @inlinable final public func decode(chunk: EncodedVideoChunk) { let this = jsObject _ = this[Strings.decode].function!(this: this, arguments: [_toJSValue(chunk)]) } - @inlinable public func flush() -> JSPromise { + @inlinable final public func flush() -> JSPromise { let this = jsObject return this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func flush() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func flush() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -17071,16 +19456,36 @@ public class VideoDecoder: EventTarget { return this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public class func isConfigSupported(config: VideoDecoderConfig) async throws -> VideoDecoderSupport { - let this = constructor! - let _promise: JSPromise = this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isConfigSupported( + config: VideoDecoderConfig + ) async throws(JSException) -> VideoDecoderSupport { + let this = constructor! + let _promise: JSPromise = this[Strings.isConfigSupported].function!( + this: this, + arguments: [_toJSValue(config)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } -public class VideoDecoderConfig: BridgedDictionary { - public convenience init(codec: String, description: AllowSharedBufferSource, codedWidth: UInt32, codedHeight: UInt32, displayAspectWidth: UInt32, displayAspectHeight: UInt32, colorSpace: VideoColorSpaceInit, hardwareAcceleration: HardwareAcceleration, optimizeForLatency: Bool) { +open class VideoDecoderConfig: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + codec: String, + description: AllowSharedBufferSource? = nil, + codedWidth: UInt32? = nil, + codedHeight: UInt32? = nil, + displayAspectWidth: UInt32? = nil, + displayAspectHeight: UInt32? = nil, + colorSpace: VideoColorSpaceInit? = nil, + hardwareAcceleration: HardwareAcceleration? = nil, + optimizeForLatency: Bool? = nil, + rotation: Double? = nil, + flip: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.codec] = _toJSValue(codec) object[Strings.description] = _toJSValue(description) @@ -17091,143 +19496,179 @@ public class VideoDecoderConfig: BridgedDictionary { object[Strings.colorSpace] = _toJSValue(colorSpace) object[Strings.hardwareAcceleration] = _toJSValue(hardwareAcceleration) object[Strings.optimizeForLatency] = _toJSValue(optimizeForLatency) - self.init(unsafelyWrapping: object) - } + object[Strings.rotation] = _toJSValue(rotation) + object[Strings.flip] = _toJSValue(flip) - public required init(unsafelyWrapping object: JSObject) { - _codec = ReadWriteAttribute(jsObject: object, name: Strings.codec) - _description = ReadWriteAttribute(jsObject: object, name: Strings.description) - _codedWidth = ReadWriteAttribute(jsObject: object, name: Strings.codedWidth) - _codedHeight = ReadWriteAttribute(jsObject: object, name: Strings.codedHeight) - _displayAspectWidth = ReadWriteAttribute(jsObject: object, name: Strings.displayAspectWidth) - _displayAspectHeight = ReadWriteAttribute(jsObject: object, name: Strings.displayAspectHeight) - _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) - _hardwareAcceleration = ReadWriteAttribute(jsObject: object, name: Strings.hardwareAcceleration) - _optimizeForLatency = ReadWriteAttribute(jsObject: object, name: Strings.optimizeForLatency) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var codec: String - - @ReadWriteAttribute - public var description: AllowSharedBufferSource? - - @ReadWriteAttribute - public var codedWidth: UInt32? - - @ReadWriteAttribute - public var codedHeight: UInt32? - - @ReadWriteAttribute - public var displayAspectWidth: UInt32? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var displayAspectHeight: UInt32? - - @ReadWriteAttribute - public var colorSpace: VideoColorSpaceInit? - - @ReadWriteAttribute - public var hardwareAcceleration: HardwareAcceleration? - - @ReadWriteAttribute - public var optimizeForLatency: Bool? + @inlinable public var codec: String { + get { jsObject[Strings.codec].fromJSValue()! } + set { jsObject[Strings.codec] = _toJSValue(newValue) } + } + @inlinable public var description: AllowSharedBufferSource { + get { jsObject[Strings.description].fromJSValue()! } + set { jsObject[Strings.description] = _toJSValue(newValue) } + } + @inlinable public var codedWidth: UInt32 { + get { jsObject[Strings.codedWidth].fromJSValue()! } + set { jsObject[Strings.codedWidth] = _toJSValue(newValue) } + } + @inlinable public var codedHeight: UInt32 { + get { jsObject[Strings.codedHeight].fromJSValue()! } + set { jsObject[Strings.codedHeight] = _toJSValue(newValue) } + } + @inlinable public var displayAspectWidth: UInt32 { + get { jsObject[Strings.displayAspectWidth].fromJSValue()! } + set { jsObject[Strings.displayAspectWidth] = _toJSValue(newValue) } + } + @inlinable public var displayAspectHeight: UInt32 { + get { jsObject[Strings.displayAspectHeight].fromJSValue()! } + set { jsObject[Strings.displayAspectHeight] = _toJSValue(newValue) } + } + @inlinable public var colorSpace: VideoColorSpaceInit { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } + @inlinable public var hardwareAcceleration: HardwareAcceleration { + get { jsObject[Strings.hardwareAcceleration].fromJSValue()! } + set { jsObject[Strings.hardwareAcceleration] = _toJSValue(newValue) } + } + @inlinable public var optimizeForLatency: Bool { + get { jsObject[Strings.optimizeForLatency].fromJSValue()! } + set { jsObject[Strings.optimizeForLatency] = _toJSValue(newValue) } + } + @inlinable public var rotation: Double { + get { jsObject[Strings.rotation].fromJSValue()! } + set { jsObject[Strings.rotation] = _toJSValue(newValue) } + } + @inlinable public var flip: Bool { + get { jsObject[Strings.flip].fromJSValue()! } + set { jsObject[Strings.flip] = _toJSValue(newValue) } + } } +open class VideoDecoderInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoDecoderInit: BridgedDictionary { public convenience init(output: @escaping VideoFrameOutputCallback, error: @escaping WebCodecsErrorCallback) { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute1Void[Strings.output, in: object] = output - ClosureAttribute1Void[Strings.error, in: object] = error - self.init(unsafelyWrapping: object) - } + object[Strings.output] = _toJSValue(output) + object[Strings.error] = _toJSValue(error) - public required init(unsafelyWrapping object: JSObject) { - _output = ClosureAttribute1Void(jsObject: object, name: Strings.output) - _error = ClosureAttribute1Void(jsObject: object, name: Strings.error) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ClosureAttribute1Void - public var output: VideoFrameOutputCallback + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ClosureAttribute1Void - public var error: WebCodecsErrorCallback + @inlinable public var output: VideoFrameOutputCallback { + get { + let function = jsObject[Strings.output].function! + return { function(_toJSValue($0)) } + } + set { + jsObject[Strings.output] = + JSClosure { + newValue($0[0].fromJSValue()!) + return .undefined + }.jsValue + } + } + @inlinable public var error: WebCodecsErrorCallback { + get { + let function = jsObject[Strings.error].function! + return { function(_toJSValue($0)) } + } + set { + jsObject[Strings.error] = + JSClosure { + newValue($0[0].fromJSValue()!) + return .undefined + }.jsValue + } + } } +open class VideoDecoderSupport: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoDecoderSupport: BridgedDictionary { - public convenience init(supported: Bool, config: VideoDecoderConfig) { + public convenience init(supported: Bool? = nil, config: VideoDecoderConfig? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.supported] = _toJSValue(supported) object[Strings.config] = _toJSValue(config) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _supported = ReadWriteAttribute(jsObject: object, name: Strings.supported) - _config = ReadWriteAttribute(jsObject: object, name: Strings.config) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var supported: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var config: VideoDecoderConfig? + @inlinable public var supported: Bool { + get { jsObject[Strings.supported].fromJSValue()! } + set { jsObject[Strings.supported] = _toJSValue(newValue) } + } + @inlinable public var config: VideoDecoderConfig { + get { jsObject[Strings.config].fromJSValue()! } + set { jsObject[Strings.config] = _toJSValue(newValue) } + } } - public class VideoEncoder: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VideoEncoder].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.VideoEncoder].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state) - _encodeQueueSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.encodeQueueSize) - _ondequeue = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondequeue) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(init: VideoEncoderInit) { + @inlinable public convenience init(`init`: VideoEncoderInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(`init`)])) } - @ReadonlyAttribute - public var state: CodecState + @inlinable public var state: CodecState { jsObject[Strings.state].fromJSValue()! } - @ReadonlyAttribute - public var encodeQueueSize: UInt32 + @inlinable public var encodeQueueSize: UInt32 { jsObject[Strings.encodeQueueSize].fromJSValue()! } - @ClosureAttribute1Optional - public var ondequeue: EventHandler + @inlinable public var ondequeue: EventHandler { + get { + guard let function = jsObject[Strings.ondequeue].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ondequeue] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ondequeue] = .null + } + } + } - @inlinable public func configure(config: VideoEncoderConfig) { + @inlinable final public func configure(config: VideoEncoderConfig) { let this = jsObject _ = this[Strings.configure].function!(this: this, arguments: [_toJSValue(config)]) } - @inlinable public func encode(frame: VideoFrame, options: VideoEncoderEncodeOptions? = nil) { + @inlinable final public func encode(frame: VideoFrame, options: VideoEncoderEncodeOptions? = nil) { let this = jsObject _ = this[Strings.encode].function!(this: this, arguments: [_toJSValue(frame), _toJSValue(options)]) } - @inlinable public func flush() -> JSPromise { + @inlinable final public func flush() -> JSPromise { let this = jsObject return this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func flush() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func flush() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.flush].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } @@ -17237,12 +19678,18 @@ public class VideoEncoder: EventTarget { return this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public class func isConfigSupported(config: VideoEncoderConfig) async throws -> VideoEncoderSupport { - let this = constructor! - let _promise: JSPromise = this[Strings.isConfigSupported].function!(this: this, arguments: [_toJSValue(config)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public class func isConfigSupported( + config: VideoEncoderConfig + ) async throws(JSException) -> VideoEncoderSupport { + let this = constructor! + let _promise: JSPromise = this[Strings.isConfigSupported].function!( + this: this, + arguments: [_toJSValue(config)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif } public enum VideoEncoderBitrateMode: JSString, JSValueCompatible { @@ -17251,21 +19698,32 @@ public enum VideoEncoderBitrateMode: JSString, JSValueCompatible { case quantizer = "quantizer" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +open class VideoEncoderConfig: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoEncoderConfig: BridgedDictionary { - public convenience init(codec: String, width: UInt32, height: UInt32, displayWidth: UInt32, displayHeight: UInt32, bitrate: UInt64, framerate: Double, hardwareAcceleration: HardwareAcceleration, alpha: AlphaOption, scalabilityMode: String, bitrateMode: VideoEncoderBitrateMode, latencyMode: LatencyMode) { + public convenience init( + codec: String, + width: UInt32, + height: UInt32, + displayWidth: UInt32? = nil, + displayHeight: UInt32? = nil, + bitrate: UInt64? = nil, + framerate: Double? = nil, + hardwareAcceleration: HardwareAcceleration? = nil, + alpha: AlphaOption? = nil, + scalabilityMode: String? = nil, + bitrateMode: VideoEncoderBitrateMode? = nil, + latencyMode: LatencyMode? = nil, + contentHint: String? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.codec] = _toJSValue(codec) object[Strings.width] = _toJSValue(width) @@ -17279,120 +19737,146 @@ public class VideoEncoderConfig: BridgedDictionary { object[Strings.scalabilityMode] = _toJSValue(scalabilityMode) object[Strings.bitrateMode] = _toJSValue(bitrateMode) object[Strings.latencyMode] = _toJSValue(latencyMode) - self.init(unsafelyWrapping: object) - } + object[Strings.contentHint] = _toJSValue(contentHint) - public required init(unsafelyWrapping object: JSObject) { - _codec = ReadWriteAttribute(jsObject: object, name: Strings.codec) - _width = ReadWriteAttribute(jsObject: object, name: Strings.width) - _height = ReadWriteAttribute(jsObject: object, name: Strings.height) - _displayWidth = ReadWriteAttribute(jsObject: object, name: Strings.displayWidth) - _displayHeight = ReadWriteAttribute(jsObject: object, name: Strings.displayHeight) - _bitrate = ReadWriteAttribute(jsObject: object, name: Strings.bitrate) - _framerate = ReadWriteAttribute(jsObject: object, name: Strings.framerate) - _hardwareAcceleration = ReadWriteAttribute(jsObject: object, name: Strings.hardwareAcceleration) - _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) - _scalabilityMode = ReadWriteAttribute(jsObject: object, name: Strings.scalabilityMode) - _bitrateMode = ReadWriteAttribute(jsObject: object, name: Strings.bitrateMode) - _latencyMode = ReadWriteAttribute(jsObject: object, name: Strings.latencyMode) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var codec: String - - @ReadWriteAttribute - public var width: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var height: UInt32 - - @ReadWriteAttribute - public var displayWidth: UInt32? - - @ReadWriteAttribute - public var displayHeight: UInt32? - - @ReadWriteAttribute - public var bitrate: UInt64? - - @ReadWriteAttribute - public var framerate: Double? - - @ReadWriteAttribute - public var hardwareAcceleration: HardwareAcceleration? - - @ReadWriteAttribute - public var alpha: AlphaOption? - - @ReadWriteAttribute - public var scalabilityMode: String? - - @ReadWriteAttribute - public var bitrateMode: VideoEncoderBitrateMode? - - @ReadWriteAttribute - public var latencyMode: LatencyMode? + @inlinable public var codec: String { + get { jsObject[Strings.codec].fromJSValue()! } + set { jsObject[Strings.codec] = _toJSValue(newValue) } + } + @inlinable public var width: UInt32 { + get { jsObject[Strings.width].fromJSValue()! } + set { jsObject[Strings.width] = _toJSValue(newValue) } + } + @inlinable public var height: UInt32 { + get { jsObject[Strings.height].fromJSValue()! } + set { jsObject[Strings.height] = _toJSValue(newValue) } + } + @inlinable public var displayWidth: UInt32 { + get { jsObject[Strings.displayWidth].fromJSValue()! } + set { jsObject[Strings.displayWidth] = _toJSValue(newValue) } + } + @inlinable public var displayHeight: UInt32 { + get { jsObject[Strings.displayHeight].fromJSValue()! } + set { jsObject[Strings.displayHeight] = _toJSValue(newValue) } + } + @inlinable public var bitrate: UInt64 { + get { jsObject[Strings.bitrate].fromJSValue()! } + set { jsObject[Strings.bitrate] = _toJSValue(newValue) } + } + @inlinable public var framerate: Double { + get { jsObject[Strings.framerate].fromJSValue()! } + set { jsObject[Strings.framerate] = _toJSValue(newValue) } + } + @inlinable public var hardwareAcceleration: HardwareAcceleration { + get { jsObject[Strings.hardwareAcceleration].fromJSValue()! } + set { jsObject[Strings.hardwareAcceleration] = _toJSValue(newValue) } + } + @inlinable public var alpha: AlphaOption { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } + @inlinable public var scalabilityMode: String { + get { jsObject[Strings.scalabilityMode].fromJSValue()! } + set { jsObject[Strings.scalabilityMode] = _toJSValue(newValue) } + } + @inlinable public var bitrateMode: VideoEncoderBitrateMode { + get { jsObject[Strings.bitrateMode].fromJSValue()! } + set { jsObject[Strings.bitrateMode] = _toJSValue(newValue) } + } + @inlinable public var latencyMode: LatencyMode { + get { jsObject[Strings.latencyMode].fromJSValue()! } + set { jsObject[Strings.latencyMode] = _toJSValue(newValue) } + } + @inlinable public var contentHint: String { + get { jsObject[Strings.contentHint].fromJSValue()! } + set { jsObject[Strings.contentHint] = _toJSValue(newValue) } + } } +open class VideoEncoderEncodeOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoEncoderEncodeOptions: BridgedDictionary { - public convenience init(keyFrame: Bool) { + public convenience init(keyFrame: Bool? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.keyFrame] = _toJSValue(keyFrame) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _keyFrame = ReadWriteAttribute(jsObject: object, name: Strings.keyFrame) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var keyFrame: Bool? + @inlinable public var keyFrame: Bool { + get { jsObject[Strings.keyFrame].fromJSValue()! } + set { jsObject[Strings.keyFrame] = _toJSValue(newValue) } + } } +open class VideoEncoderInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoEncoderInit: BridgedDictionary { - public convenience init(output: @escaping EncodedVideoChunkOutputCallback, error: @escaping WebCodecsErrorCallback) { + public convenience init(output: @escaping EncodedVideoChunkOutputCallback, error: @escaping WebCodecsErrorCallback) + { let object = JSObject.global[Strings.Object].function!.new() - ClosureAttribute2Void[Strings.output, in: object] = output - ClosureAttribute1Void[Strings.error, in: object] = error - self.init(unsafelyWrapping: object) - } + object[Strings.output] = _toJSValue(output) + object[Strings.error] = _toJSValue(error) - public required init(unsafelyWrapping object: JSObject) { - _output = ClosureAttribute2Void(jsObject: object, name: Strings.output) - _error = ClosureAttribute1Void(jsObject: object, name: Strings.error) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ClosureAttribute2Void - public var output: EncodedVideoChunkOutputCallback + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ClosureAttribute1Void - public var error: WebCodecsErrorCallback + @inlinable public var output: EncodedVideoChunkOutputCallback { + get { + let function = jsObject[Strings.output].function! + return { function(_toJSValue($0), _toJSValue($1)) } + } + set { + jsObject[Strings.output] = + JSClosure { + newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!) + return .undefined + }.jsValue + } + } + @inlinable public var error: WebCodecsErrorCallback { + get { + let function = jsObject[Strings.error].function! + return { function(_toJSValue($0)) } + } + set { + jsObject[Strings.error] = + JSClosure { + newValue($0[0].fromJSValue()!) + return .undefined + }.jsValue + } + } } +open class VideoEncoderSupport: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoEncoderSupport: BridgedDictionary { - public convenience init(supported: Bool, config: VideoEncoderConfig) { + public convenience init(supported: Bool? = nil, config: VideoEncoderConfig? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.supported] = _toJSValue(supported) object[Strings.config] = _toJSValue(config) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _supported = ReadWriteAttribute(jsObject: object, name: Strings.supported) - _config = ReadWriteAttribute(jsObject: object, name: Strings.config) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var supported: Bool? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var config: VideoEncoderConfig? + @inlinable public var supported: Bool { + get { jsObject[Strings.supported].fromJSValue()! } + set { jsObject[Strings.supported] = _toJSValue(newValue) } + } + @inlinable public var config: VideoEncoderConfig { + get { jsObject[Strings.config].fromJSValue()! } + set { jsObject[Strings.config] = _toJSValue(newValue) } + } } - public enum VideoFacingModeEnum: JSString, JSValueCompatible { case user = "user" case environment = "environment" @@ -17400,111 +19884,116 @@ public enum VideoFacingModeEnum: JSString, JSValueCompatible { case right = "right" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class VideoFrame: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.VideoFrame].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _format = ReadonlyAttribute(jsObject: jsObject, name: Strings.format) - _codedWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.codedWidth) - _codedHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.codedHeight) - _codedRect = ReadonlyAttribute(jsObject: jsObject, name: Strings.codedRect) - _visibleRect = ReadonlyAttribute(jsObject: jsObject, name: Strings.visibleRect) - _displayWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.displayWidth) - _displayHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.displayHeight) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - _timestamp = ReadonlyAttribute(jsObject: jsObject, name: Strings.timestamp) - _colorSpace = ReadonlyAttribute(jsObject: jsObject, name: Strings.colorSpace) - self.jsObject = jsObject - } - - @inlinable public convenience init(image: CanvasImageSource, init: VideoFrameInit? = nil) { + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public convenience init(image: CanvasImageSource, `init`: VideoFrameInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(image), _toJSValue(`init`)])) } - @inlinable public convenience init(data: AllowSharedBufferSource, init: VideoFrameBufferInit) { + @inlinable public convenience init(data: AllowSharedBufferSource, `init`: VideoFrameBufferInit) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(data), _toJSValue(`init`)])) } - @ReadonlyAttribute - public var format: VideoPixelFormat? + @inlinable public var format: VideoPixelFormat? { jsObject[Strings.format].fromJSValue() } - @ReadonlyAttribute - public var codedWidth: UInt32 + @inlinable public var codedWidth: UInt32 { jsObject[Strings.codedWidth].fromJSValue()! } - @ReadonlyAttribute - public var codedHeight: UInt32 + @inlinable public var codedHeight: UInt32 { jsObject[Strings.codedHeight].fromJSValue()! } - @ReadonlyAttribute - public var codedRect: DOMRectReadOnly? + @inlinable public var codedRect: DOMRectReadOnly? { jsObject[Strings.codedRect].fromJSValue() } - @ReadonlyAttribute - public var visibleRect: DOMRectReadOnly? + @inlinable public var visibleRect: DOMRectReadOnly? { jsObject[Strings.visibleRect].fromJSValue() } - @ReadonlyAttribute - public var displayWidth: UInt32 + @inlinable public var rotation: Double { jsObject[Strings.rotation].fromJSValue()! } - @ReadonlyAttribute - public var displayHeight: UInt32 + @inlinable public var flip: Bool { jsObject[Strings.flip].fromJSValue()! } - @ReadonlyAttribute - public var duration: UInt64? + @inlinable public var displayWidth: UInt32 { jsObject[Strings.displayWidth].fromJSValue()! } - @ReadonlyAttribute - public var timestamp: Int64 + @inlinable public var displayHeight: UInt32 { jsObject[Strings.displayHeight].fromJSValue()! } - @ReadonlyAttribute - public var colorSpace: VideoColorSpace + @inlinable public var duration: UInt64? { jsObject[Strings.duration].fromJSValue() } - @inlinable public func metadata() -> VideoFrameMetadata { + @inlinable public var timestamp: Int64 { jsObject[Strings.timestamp].fromJSValue()! } + + @inlinable public var colorSpace: VideoColorSpace { jsObject[Strings.colorSpace].fromJSValue()! } + + @inlinable final public func metadata() -> VideoFrameMetadata { let this = jsObject return this[Strings.metadata].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func allocationSize(options: VideoFrameCopyToOptions? = nil) -> UInt32 { + @inlinable final public func allocationSize(options: VideoFrameCopyToOptions? = nil) -> UInt32 { let this = jsObject return this[Strings.allocationSize].function!(this: this, arguments: [_toJSValue(options)]).fromJSValue()! } - @inlinable public func copyTo(destination: AllowSharedBufferSource, options: VideoFrameCopyToOptions? = nil) -> JSPromise { + @inlinable final public func copyTo( + destination: AllowSharedBufferSource, + options: VideoFrameCopyToOptions? = nil + ) -> JSPromise { let this = jsObject - return this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]).fromJSValue()! + return this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func copyTo(destination: AllowSharedBufferSource, options: VideoFrameCopyToOptions? = nil) async throws -> [PlaneLayout] { - let this = jsObject - let _promise: JSPromise = this[Strings.copyTo].function!(this: this, arguments: [_toJSValue(destination), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func copyTo( + destination: AllowSharedBufferSource, + options: VideoFrameCopyToOptions? = nil + ) async throws(JSException) -> [PlaneLayout] { + let this = jsObject + let _promise: JSPromise = this[Strings.copyTo].function!( + this: this, + arguments: [_toJSValue(destination), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable public func clone() -> Self { + @inlinable final public func clone() -> VideoFrame { let this = jsObject return this[Strings.clone].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func close() { + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } } -public class VideoFrameBufferInit: BridgedDictionary { - public convenience init(format: VideoPixelFormat, codedWidth: UInt32, codedHeight: UInt32, timestamp: Int64, duration: UInt64, layout: [PlaneLayout], visibleRect: DOMRectInit, displayWidth: UInt32, displayHeight: UInt32, colorSpace: VideoColorSpaceInit, transfer: [ArrayBuffer]) { +open class VideoFrameBufferInit: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + format: VideoPixelFormat, + codedWidth: UInt32, + codedHeight: UInt32, + timestamp: Int64, + duration: UInt64? = nil, + layout: [PlaneLayout]? = nil, + visibleRect: DOMRectInit? = nil, + rotation: Double? = nil, + flip: Bool? = nil, + displayWidth: UInt32? = nil, + displayHeight: UInt32? = nil, + colorSpace: VideoColorSpaceInit? = nil, + transfer: [ArrayBuffer]? = nil, + metadata: VideoFrameMetadata? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.format] = _toJSValue(format) object[Strings.codedWidth] = _toJSValue(codedWidth) @@ -17513,141 +20002,192 @@ public class VideoFrameBufferInit: BridgedDictionary { object[Strings.duration] = _toJSValue(duration) object[Strings.layout] = _toJSValue(layout) object[Strings.visibleRect] = _toJSValue(visibleRect) + object[Strings.rotation] = _toJSValue(rotation) + object[Strings.flip] = _toJSValue(flip) object[Strings.displayWidth] = _toJSValue(displayWidth) object[Strings.displayHeight] = _toJSValue(displayHeight) object[Strings.colorSpace] = _toJSValue(colorSpace) object[Strings.transfer] = _toJSValue(transfer) - self.init(unsafelyWrapping: object) - } + object[Strings.metadata] = _toJSValue(metadata) - public required init(unsafelyWrapping object: JSObject) { - _format = ReadWriteAttribute(jsObject: object, name: Strings.format) - _codedWidth = ReadWriteAttribute(jsObject: object, name: Strings.codedWidth) - _codedHeight = ReadWriteAttribute(jsObject: object, name: Strings.codedHeight) - _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) - _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) - _layout = ReadWriteAttribute(jsObject: object, name: Strings.layout) - _visibleRect = ReadWriteAttribute(jsObject: object, name: Strings.visibleRect) - _displayWidth = ReadWriteAttribute(jsObject: object, name: Strings.displayWidth) - _displayHeight = ReadWriteAttribute(jsObject: object, name: Strings.displayHeight) - _colorSpace = ReadWriteAttribute(jsObject: object, name: Strings.colorSpace) - _transfer = ReadWriteAttribute(jsObject: object, name: Strings.transfer) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var format: VideoPixelFormat - - @ReadWriteAttribute - public var codedWidth: UInt32 + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var codedHeight: UInt32 - - @ReadWriteAttribute - public var timestamp: Int64 - - @ReadWriteAttribute - public var duration: UInt64? - - @ReadWriteAttribute - public var layout: [PlaneLayout]? - - @ReadWriteAttribute - public var visibleRect: DOMRectInit? - - @ReadWriteAttribute - public var displayWidth: UInt32? - - @ReadWriteAttribute - public var displayHeight: UInt32? - - @ReadWriteAttribute - public var colorSpace: VideoColorSpaceInit? - - @ReadWriteAttribute - public var transfer: [ArrayBuffer]? + @inlinable public var format: VideoPixelFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } + @inlinable public var codedWidth: UInt32 { + get { jsObject[Strings.codedWidth].fromJSValue()! } + set { jsObject[Strings.codedWidth] = _toJSValue(newValue) } + } + @inlinable public var codedHeight: UInt32 { + get { jsObject[Strings.codedHeight].fromJSValue()! } + set { jsObject[Strings.codedHeight] = _toJSValue(newValue) } + } + @inlinable public var timestamp: Int64 { + get { jsObject[Strings.timestamp].fromJSValue()! } + set { jsObject[Strings.timestamp] = _toJSValue(newValue) } + } + @inlinable public var duration: UInt64 { + get { jsObject[Strings.duration].fromJSValue()! } + set { jsObject[Strings.duration] = _toJSValue(newValue) } + } + @inlinable public var layout: [PlaneLayout] { + get { jsObject[Strings.layout].fromJSValue()! } + set { jsObject[Strings.layout] = _toJSValue(newValue) } + } + @inlinable public var visibleRect: DOMRectInit { + get { jsObject[Strings.visibleRect].fromJSValue()! } + set { jsObject[Strings.visibleRect] = _toJSValue(newValue) } + } + @inlinable public var rotation: Double { + get { jsObject[Strings.rotation].fromJSValue()! } + set { jsObject[Strings.rotation] = _toJSValue(newValue) } + } + @inlinable public var flip: Bool { + get { jsObject[Strings.flip].fromJSValue()! } + set { jsObject[Strings.flip] = _toJSValue(newValue) } + } + @inlinable public var displayWidth: UInt32 { + get { jsObject[Strings.displayWidth].fromJSValue()! } + set { jsObject[Strings.displayWidth] = _toJSValue(newValue) } + } + @inlinable public var displayHeight: UInt32 { + get { jsObject[Strings.displayHeight].fromJSValue()! } + set { jsObject[Strings.displayHeight] = _toJSValue(newValue) } + } + @inlinable public var colorSpace: VideoColorSpaceInit { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } + @inlinable public var transfer: [ArrayBuffer] { + get { jsObject[Strings.transfer].fromJSValue()! } + set { jsObject[Strings.transfer] = _toJSValue(newValue) } + } + @inlinable public var metadata: VideoFrameMetadata { + get { jsObject[Strings.metadata].fromJSValue()! } + set { jsObject[Strings.metadata] = _toJSValue(newValue) } + } } +open class VideoFrameCopyToOptions: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoFrameCopyToOptions: BridgedDictionary { - public convenience init(rect: DOMRectInit, layout: [PlaneLayout]) { + public convenience init( + rect: DOMRectInit? = nil, + layout: [PlaneLayout]? = nil, + format: VideoPixelFormat? = nil, + colorSpace: PredefinedColorSpace? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.rect] = _toJSValue(rect) object[Strings.layout] = _toJSValue(layout) - self.init(unsafelyWrapping: object) - } + object[Strings.format] = _toJSValue(format) + object[Strings.colorSpace] = _toJSValue(colorSpace) - public required init(unsafelyWrapping object: JSObject) { - _rect = ReadWriteAttribute(jsObject: object, name: Strings.rect) - _layout = ReadWriteAttribute(jsObject: object, name: Strings.layout) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var rect: DOMRectInit? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var layout: [PlaneLayout]? + @inlinable public var rect: DOMRectInit { + get { jsObject[Strings.rect].fromJSValue()! } + set { jsObject[Strings.rect] = _toJSValue(newValue) } + } + @inlinable public var layout: [PlaneLayout] { + get { jsObject[Strings.layout].fromJSValue()! } + set { jsObject[Strings.layout] = _toJSValue(newValue) } + } + @inlinable public var format: VideoPixelFormat { + get { jsObject[Strings.format].fromJSValue()! } + set { jsObject[Strings.format] = _toJSValue(newValue) } + } + @inlinable public var colorSpace: PredefinedColorSpace { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } } +open class VideoFrameInit: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoFrameInit: BridgedDictionary { - public convenience init(duration: UInt64, timestamp: Int64, alpha: AlphaOption, visibleRect: DOMRectInit, displayWidth: UInt32, displayHeight: UInt32, metadata: VideoFrameMetadata) { + public convenience init( + duration: UInt64? = nil, + timestamp: Int64? = nil, + alpha: AlphaOption? = nil, + visibleRect: DOMRectInit? = nil, + rotation: Double? = nil, + flip: Bool? = nil, + displayWidth: UInt32? = nil, + displayHeight: UInt32? = nil, + metadata: VideoFrameMetadata? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.duration] = _toJSValue(duration) object[Strings.timestamp] = _toJSValue(timestamp) object[Strings.alpha] = _toJSValue(alpha) object[Strings.visibleRect] = _toJSValue(visibleRect) + object[Strings.rotation] = _toJSValue(rotation) + object[Strings.flip] = _toJSValue(flip) object[Strings.displayWidth] = _toJSValue(displayWidth) object[Strings.displayHeight] = _toJSValue(displayHeight) object[Strings.metadata] = _toJSValue(metadata) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _duration = ReadWriteAttribute(jsObject: object, name: Strings.duration) - _timestamp = ReadWriteAttribute(jsObject: object, name: Strings.timestamp) - _alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha) - _visibleRect = ReadWriteAttribute(jsObject: object, name: Strings.visibleRect) - _displayWidth = ReadWriteAttribute(jsObject: object, name: Strings.displayWidth) - _displayHeight = ReadWriteAttribute(jsObject: object, name: Strings.displayHeight) - _metadata = ReadWriteAttribute(jsObject: object, name: Strings.metadata) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var duration: UInt64? - - @ReadWriteAttribute - public var timestamp: Int64? - - @ReadWriteAttribute - public var alpha: AlphaOption? - - @ReadWriteAttribute - public var visibleRect: DOMRectInit? - - @ReadWriteAttribute - public var displayWidth: UInt32? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var displayHeight: UInt32? - - @ReadWriteAttribute - public var metadata: VideoFrameMetadata? + @inlinable public var duration: UInt64 { + get { jsObject[Strings.duration].fromJSValue()! } + set { jsObject[Strings.duration] = _toJSValue(newValue) } + } + @inlinable public var timestamp: Int64 { + get { jsObject[Strings.timestamp].fromJSValue()! } + set { jsObject[Strings.timestamp] = _toJSValue(newValue) } + } + @inlinable public var alpha: AlphaOption { + get { jsObject[Strings.alpha].fromJSValue()! } + set { jsObject[Strings.alpha] = _toJSValue(newValue) } + } + @inlinable public var visibleRect: DOMRectInit { + get { jsObject[Strings.visibleRect].fromJSValue()! } + set { jsObject[Strings.visibleRect] = _toJSValue(newValue) } + } + @inlinable public var rotation: Double { + get { jsObject[Strings.rotation].fromJSValue()! } + set { jsObject[Strings.rotation] = _toJSValue(newValue) } + } + @inlinable public var flip: Bool { + get { jsObject[Strings.flip].fromJSValue()! } + set { jsObject[Strings.flip] = _toJSValue(newValue) } + } + @inlinable public var displayWidth: UInt32 { + get { jsObject[Strings.displayWidth].fromJSValue()! } + set { jsObject[Strings.displayWidth] = _toJSValue(newValue) } + } + @inlinable public var displayHeight: UInt32 { + get { jsObject[Strings.displayHeight].fromJSValue()! } + set { jsObject[Strings.displayHeight] = _toJSValue(newValue) } + } + @inlinable public var metadata: VideoFrameMetadata { + get { jsObject[Strings.metadata].fromJSValue()! } + set { jsObject[Strings.metadata] = _toJSValue(newValue) } + } } +open class VideoFrameMetadata: JSDictionaryCompatible { + public let jsObject: JSObject -public class VideoFrameMetadata: BridgedDictionary { public convenience init() { let object = JSObject.global[Strings.Object].function!.new() self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - super.init(unsafelyWrapping: object) - } -} + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } +} public enum VideoMatrixCoefficients: JSString, JSValueCompatible { case rgb = "rgb" case bt709 = "bt709" @@ -17656,24 +20196,33 @@ public enum VideoMatrixCoefficients: JSString, JSValueCompatible { case bt2020Ncl = "bt2020-ncl" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum VideoPixelFormat: JSString, JSValueCompatible { case i420 = "I420" + case i420P10 = "I420P10" + case i420P12 = "I420P12" case i420A = "I420A" + case i420AP10 = "I420AP10" + case i420AP12 = "I420AP12" case i422 = "I422" + case i422P10 = "I422P10" + case i422P12 = "I422P12" + case i422A = "I422A" + case i422AP10 = "I422AP10" + case i422AP12 = "I422AP12" case i444 = "I444" + case i444P10 = "I444P10" + case i444P12 = "I444P12" + case i444A = "I444A" + case i444AP10 = "I444AP10" + case i444AP12 = "I444AP12" case nV12 = "NV12" case rGBA = "RGBA" case rGBX = "RGBX" @@ -17681,106 +20230,107 @@ public enum VideoPixelFormat: JSString, JSValueCompatible { case bGRX = "BGRX" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public enum VideoResizeModeEnum: JSString, JSValueCompatible { case none = "none" case cropAndScale = "crop-and-scale" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - public class VideoTrack: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.VideoTrack].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _id = ReadonlyAttribute(jsObject: jsObject, name: Strings.id) - _kind = ReadonlyAttribute(jsObject: jsObject, name: Strings.kind) - _label = ReadonlyAttribute(jsObject: jsObject, name: Strings.label) - _language = ReadonlyAttribute(jsObject: jsObject, name: Strings.language) - _selected = ReadWriteAttribute(jsObject: jsObject, name: Strings.selected) - _sourceBuffer = ReadonlyAttribute(jsObject: jsObject, name: Strings.sourceBuffer) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var id: String + @inlinable public var id: String { jsObject[Strings.id].fromJSValue()! } - @ReadonlyAttribute - public var kind: String + @inlinable public var kind: String { jsObject[Strings.kind].fromJSValue()! } - @ReadonlyAttribute - public var label: String + @inlinable public var label: String { jsObject[Strings.label].fromJSValue()! } - @ReadonlyAttribute - public var language: String + @inlinable public var language: String { jsObject[Strings.language].fromJSValue()! } - @ReadWriteAttribute - public var selected: Bool + @inlinable public var selected: Bool { + get { jsObject[Strings.selected].fromJSValue()! } + set { jsObject[Strings.selected] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var sourceBuffer: SourceBuffer? + @inlinable public var sourceBuffer: SourceBuffer? { jsObject[Strings.sourceBuffer].fromJSValue() } } public class VideoTrackList: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VideoTrackList].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.VideoTrackList].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } + + @inlinable public subscript(key: Int) -> VideoTrack { jsObject[key].fromJSValue()! } - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _selectedIndex = ReadonlyAttribute(jsObject: jsObject, name: Strings.selectedIndex) - _onchange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onchange) - _onaddtrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onaddtrack) - _onremovetrack = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onremovetrack) - super.init(unsafelyWrapping: jsObject) + @inlinable final public func getTrackById(id: String) -> VideoTrack? { + let this = jsObject + return this[Strings.getTrackById].function!(this: this, arguments: [_toJSValue(id)]).fromJSValue() } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var selectedIndex: Int32 { jsObject[Strings.selectedIndex].fromJSValue()! } + + @inlinable public var onchange: EventHandler { + get { + guard let function = jsObject[Strings.onchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onchange] = .null + } + } + } - @inlinable public subscript(key: Int) -> VideoTrack { - jsObject[key].fromJSValue()! + @inlinable public var onaddtrack: EventHandler { + get { + guard let function = jsObject[Strings.onaddtrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onaddtrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onaddtrack] = .null + } + } } - @inlinable public func getTrackById(id: String) -> VideoTrack? { - let this = jsObject - return this[Strings.getTrackById].function!(this: this, arguments: [_toJSValue(id)]).fromJSValue() + @inlinable public var onremovetrack: EventHandler { + get { + guard let function = jsObject[Strings.onremovetrack].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onremovetrack] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onremovetrack] = .null + } + } } - - @ReadonlyAttribute - public var selectedIndex: Int32 - - @ClosureAttribute1Optional - public var onchange: EventHandler - - @ClosureAttribute1Optional - public var onaddtrack: EventHandler - - @ClosureAttribute1Optional - public var onremovetrack: EventHandler } public enum VideoTransferCharacteristics: JSString, JSValueCompatible { @@ -17792,101 +20342,108 @@ public enum VideoTransferCharacteristics: JSString, JSValueCompatible { case hlg = "hlg" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } +public class ViewTransition: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.ViewTransition].function } -public class VisibilityStateEntry: PerformanceEntry { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VisibilityStateEntry].function } + public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name) - _entryType = ReadonlyAttribute(jsObject: jsObject, name: Strings.entryType) - _startTime = ReadonlyAttribute(jsObject: jsObject, name: Strings.startTime) - _duration = ReadonlyAttribute(jsObject: jsObject, name: Strings.duration) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public var updateCallbackDone: JSPromise { jsObject[Strings.updateCallbackDone].fromJSValue()! } - @usableFromInline let _name: ReadonlyAttribute - @inlinable override public var name: String { _name.wrappedValue } + @inlinable public var ready: JSPromise { jsObject[Strings.ready].fromJSValue()! } - @usableFromInline let _entryType: ReadonlyAttribute - @inlinable override public var entryType: String { _entryType.wrappedValue } + @inlinable public var finished: JSPromise { jsObject[Strings.finished].fromJSValue()! } - @usableFromInline let _startTime: ReadonlyAttribute - @inlinable override public var startTime: DOMHighResTimeStamp { _startTime.wrappedValue } + @inlinable final public func skipTransition() { + let this = jsObject + _ = this[Strings.skipTransition].function!(this: this, arguments: []) + } +} + +public class VisibilityStateEntry: PerformanceEntry { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.VisibilityStateEntry].function + } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @usableFromInline let _duration: ReadonlyAttribute - @inlinable override public var duration: UInt32 { _duration.wrappedValue } } public class VisualViewport: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.VisualViewport].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.VisualViewport].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _offsetLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetLeft) - _offsetTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.offsetTop) - _pageLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageLeft) - _pageTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageTop) - _width = ReadonlyAttribute(jsObject: jsObject, name: Strings.width) - _height = ReadonlyAttribute(jsObject: jsObject, name: Strings.height) - _scale = ReadonlyAttribute(jsObject: jsObject, name: Strings.scale) - _onresize = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onresize) - _onscroll = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onscroll) - _onscrollend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onscrollend) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @ReadonlyAttribute - public var offsetLeft: Double + @inlinable public var offsetLeft: Double { jsObject[Strings.offsetLeft].fromJSValue()! } - @ReadonlyAttribute - public var offsetTop: Double + @inlinable public var offsetTop: Double { jsObject[Strings.offsetTop].fromJSValue()! } - @ReadonlyAttribute - public var pageLeft: Double + @inlinable public var pageLeft: Double { jsObject[Strings.pageLeft].fromJSValue()! } - @ReadonlyAttribute - public var pageTop: Double + @inlinable public var pageTop: Double { jsObject[Strings.pageTop].fromJSValue()! } - @ReadonlyAttribute - public var width: Double + @inlinable public var width: Double { jsObject[Strings.width].fromJSValue()! } - @ReadonlyAttribute - public var height: Double + @inlinable public var height: Double { jsObject[Strings.height].fromJSValue()! } - @ReadonlyAttribute - public var scale: Double + @inlinable public var scale: Double { jsObject[Strings.scale].fromJSValue()! } - @ClosureAttribute1Optional - public var onresize: EventHandler + @inlinable public var onresize: EventHandler { + get { + guard let function = jsObject[Strings.onresize].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onresize] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onresize] = .null + } + } + } - @ClosureAttribute1Optional - public var onscroll: EventHandler + @inlinable public var onscroll: EventHandler { + get { + guard let function = jsObject[Strings.onscroll].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onscroll] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onscroll] = .null + } + } + } - @ClosureAttribute1Optional - public var onscrollend: EventHandler + @inlinable public var onscrollend: EventHandler { + get { + guard let function = jsObject[Strings.onscrollend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onscrollend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onscrollend] = .null + } + } + } } public class WheelEvent: MouseEvent { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.WheelEvent].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.WheelEvent].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _deltaX = ReadonlyAttribute(jsObject: jsObject, name: Strings.deltaX) - _deltaY = ReadonlyAttribute(jsObject: jsObject, name: Strings.deltaY) - _deltaZ = ReadonlyAttribute(jsObject: jsObject, name: Strings.deltaZ) - _deltaMode = ReadonlyAttribute(jsObject: jsObject, name: Strings.deltaMode) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } @inlinable public convenience init(type: String, eventInitDict: WheelEventInit? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) @@ -17898,845 +20455,1011 @@ public class WheelEvent: MouseEvent { public static let DOM_DELTA_PAGE: UInt32 = 0x02 - @ReadonlyAttribute - public var deltaX: Double + @inlinable public var deltaX: Double { jsObject[Strings.deltaX].fromJSValue()! } - @ReadonlyAttribute - public var deltaY: Double + @inlinable public var deltaY: Double { jsObject[Strings.deltaY].fromJSValue()! } - @ReadonlyAttribute - public var deltaZ: Double + @inlinable public var deltaZ: Double { jsObject[Strings.deltaZ].fromJSValue()! } - @ReadonlyAttribute - public var deltaMode: UInt32 + @inlinable public var deltaMode: UInt32 { jsObject[Strings.deltaMode].fromJSValue()! } } -public class WheelEventInit: BridgedDictionary { - public convenience init(deltaX: Double, deltaY: Double, deltaZ: Double, deltaMode: UInt32) { +open class WheelEventInit: MouseEventInit { + + public convenience init( + screenX: Int32? = nil, + screenY: Int32? = nil, + clientX: Int32? = nil, + clientY: Int32? = nil, + button: Int16? = nil, + buttons: UInt16? = nil, + relatedTarget: EventTarget?, + deltaX: Double? = nil, + deltaY: Double? = nil, + deltaZ: Double? = nil, + deltaMode: UInt32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.screenX] = _toJSValue(screenX) + object[Strings.screenY] = _toJSValue(screenY) + object[Strings.clientX] = _toJSValue(clientX) + object[Strings.clientY] = _toJSValue(clientY) + object[Strings.button] = _toJSValue(button) + object[Strings.buttons] = _toJSValue(buttons) + object[Strings.relatedTarget] = _toJSValue(relatedTarget) object[Strings.deltaX] = _toJSValue(deltaX) object[Strings.deltaY] = _toJSValue(deltaY) object[Strings.deltaZ] = _toJSValue(deltaZ) object[Strings.deltaMode] = _toJSValue(deltaMode) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _deltaX = ReadWriteAttribute(jsObject: object, name: Strings.deltaX) - _deltaY = ReadWriteAttribute(jsObject: object, name: Strings.deltaY) - _deltaZ = ReadWriteAttribute(jsObject: object, name: Strings.deltaZ) - _deltaMode = ReadWriteAttribute(jsObject: object, name: Strings.deltaMode) - super.init(unsafelyWrapping: object) - } - - @ReadWriteAttribute - public var deltaX: Double? - - @ReadWriteAttribute - public var deltaY: Double? - - @ReadWriteAttribute - public var deltaZ: Double? - - @ReadWriteAttribute - public var deltaMode: UInt32? -} - -public class Window: EventTarget, GlobalEventHandlers, WindowEventHandlers, WindowOrWorkerGlobalScope, AnimationFrameProvider, WindowSessionStorage, WindowLocalStorage { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Window].function } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @inlinable public static var global: Window { - Window(unsafelyWrapping: JSObject.global) + @inlinable public var deltaX: Double { + get { jsObject[Strings.deltaX].fromJSValue()! } + set { jsObject[Strings.deltaX] = _toJSValue(newValue) } + } + @inlinable public var deltaY: Double { + get { jsObject[Strings.deltaY].fromJSValue()! } + set { jsObject[Strings.deltaY] = _toJSValue(newValue) } + } + @inlinable public var deltaZ: Double { + get { jsObject[Strings.deltaZ].fromJSValue()! } + set { jsObject[Strings.deltaZ] = _toJSValue(newValue) } + } + @inlinable public var deltaMode: UInt32 { + get { jsObject[Strings.deltaMode].fromJSValue()! } + set { jsObject[Strings.deltaMode] = _toJSValue(newValue) } } +} +public class Window: EventTarget, GlobalEventHandlers, WindowEventHandlers, WindowOrWorkerGlobalScope, + AnimationFrameProvider, WindowSessionStorage, WindowLocalStorage +{ + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Window].function } + + @inlinable public static var global: Window { Window(unsafelyWrapping: JSObject.global) } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var event: Event? { jsObject[Strings.event].fromJSValue()! } - public required init(unsafelyWrapping jsObject: JSObject) { - _event = ReadonlyAttribute(jsObject: jsObject, name: Strings.event) - _window = ReadonlyAttribute(jsObject: jsObject, name: Strings.window) - _self = ReadonlyAttribute(jsObject: jsObject, name: Strings._self) - _document = ReadonlyAttribute(jsObject: jsObject, name: Strings.document) - _name = ReadWriteAttribute(jsObject: jsObject, name: Strings.name) - _location = ReadonlyAttribute(jsObject: jsObject, name: Strings.location) - _history = ReadonlyAttribute(jsObject: jsObject, name: Strings.history) - _navigation = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigation) - _customElements = ReadonlyAttribute(jsObject: jsObject, name: Strings.customElements) - _locationbar = ReadonlyAttribute(jsObject: jsObject, name: Strings.locationbar) - _menubar = ReadonlyAttribute(jsObject: jsObject, name: Strings.menubar) - _personalbar = ReadonlyAttribute(jsObject: jsObject, name: Strings.personalbar) - _scrollbars = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollbars) - _statusbar = ReadonlyAttribute(jsObject: jsObject, name: Strings.statusbar) - _toolbar = ReadonlyAttribute(jsObject: jsObject, name: Strings.toolbar) - _status = ReadWriteAttribute(jsObject: jsObject, name: Strings.status) - _closed = ReadonlyAttribute(jsObject: jsObject, name: Strings.closed) - _frames = ReadonlyAttribute(jsObject: jsObject, name: Strings.frames) - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - _top = ReadonlyAttribute(jsObject: jsObject, name: Strings.top) - _opener = ReadWriteAttribute(jsObject: jsObject, name: Strings.opener) - _parent = ReadonlyAttribute(jsObject: jsObject, name: Strings.parent) - _frameElement = ReadonlyAttribute(jsObject: jsObject, name: Strings.frameElement) - _navigator = ReadonlyAttribute(jsObject: jsObject, name: Strings.navigator) - _clientInformation = ReadonlyAttribute(jsObject: jsObject, name: Strings.clientInformation) - _originAgentCluster = ReadonlyAttribute(jsObject: jsObject, name: Strings.originAgentCluster) - _external = ReadonlyAttribute(jsObject: jsObject, name: Strings.external) - _screen = ReadonlyAttribute(jsObject: jsObject, name: Strings.screen) - _visualViewport = ReadonlyAttribute(jsObject: jsObject, name: Strings.visualViewport) - _innerWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.innerWidth) - _innerHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.innerHeight) - _scrollX = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollX) - _pageXOffset = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageXOffset) - _scrollY = ReadonlyAttribute(jsObject: jsObject, name: Strings.scrollY) - _pageYOffset = ReadonlyAttribute(jsObject: jsObject, name: Strings.pageYOffset) - _screenX = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenX) - _screenLeft = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenLeft) - _screenY = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenY) - _screenTop = ReadonlyAttribute(jsObject: jsObject, name: Strings.screenTop) - _outerWidth = ReadonlyAttribute(jsObject: jsObject, name: Strings.outerWidth) - _outerHeight = ReadonlyAttribute(jsObject: jsObject, name: Strings.outerHeight) - _devicePixelRatio = ReadonlyAttribute(jsObject: jsObject, name: Strings.devicePixelRatio) - super.init(unsafelyWrapping: jsObject) + @inlinable public var window: WindowProxy { jsObject[Strings.window].fromJSValue()! } + + @inlinable public var `self`: WindowProxy { jsObject[Strings._self].fromJSValue()! } + + @inlinable public var document: Document { jsObject[Strings.document].fromJSValue()! } + + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } } - @ReadonlyAttribute - public var event: Event? + @inlinable public var location: Location { jsObject[Strings.location].fromJSValue()! } + + @inlinable public var history: History { jsObject[Strings.history].fromJSValue()! } - @ReadonlyAttribute - public var window: WindowProxy + @inlinable public var navigation: Navigation { jsObject[Strings.navigation].fromJSValue()! } - @ReadonlyAttribute - public var `self`: WindowProxy + @inlinable public var customElements: CustomElementRegistry { jsObject[Strings.customElements].fromJSValue()! } - @ReadonlyAttribute - public var document: Document + @inlinable public var locationbar: BarProp { jsObject[Strings.locationbar].fromJSValue()! } - @ReadWriteAttribute - public var name: String + @inlinable public var menubar: BarProp { jsObject[Strings.menubar].fromJSValue()! } - @ReadonlyAttribute - public var location: Location + @inlinable public var personalbar: BarProp { jsObject[Strings.personalbar].fromJSValue()! } - @ReadonlyAttribute - public var history: History + @inlinable public var scrollbars: BarProp { jsObject[Strings.scrollbars].fromJSValue()! } - @ReadonlyAttribute - public var navigation: Navigation + @inlinable public var statusbar: BarProp { jsObject[Strings.statusbar].fromJSValue()! } - @ReadonlyAttribute - public var customElements: CustomElementRegistry - - @ReadonlyAttribute - public var locationbar: BarProp - - @ReadonlyAttribute - public var menubar: BarProp + @inlinable public var toolbar: BarProp { jsObject[Strings.toolbar].fromJSValue()! } - @ReadonlyAttribute - public var personalbar: BarProp - - @ReadonlyAttribute - public var scrollbars: BarProp - - @ReadonlyAttribute - public var statusbar: BarProp - - @ReadonlyAttribute - public var toolbar: BarProp - - @ReadWriteAttribute - public var status: String - - @inlinable public func close() { + @inlinable public var status: String { + get { jsObject[Strings.status].fromJSValue()! } + set { jsObject[Strings.status] = _toJSValue(newValue) } + } + + @inlinable final public func close() { let this = jsObject _ = this[Strings.close].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var closed: Bool + @inlinable public var closed: Bool { jsObject[Strings.closed].fromJSValue()! } - @inlinable public func stop() { + @inlinable final public func stop() { let this = jsObject _ = this[Strings.stop].function!(this: this, arguments: []) } - @inlinable public func focus() { + @inlinable final public func focus() { let this = jsObject _ = this[Strings.focus].function!(this: this, arguments: []) } - @inlinable public func blur() { + @inlinable final public func blur() { let this = jsObject _ = this[Strings.blur].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var frames: WindowProxy + @inlinable public var frames: WindowProxy { jsObject[Strings.frames].fromJSValue()! } - @ReadonlyAttribute - public var length: UInt32 + @inlinable public var length: UInt32 { jsObject[Strings.length].fromJSValue()! } - @ReadonlyAttribute - public var top: WindowProxy? + @inlinable public var top: WindowProxy? { jsObject[Strings.top].fromJSValue() } - @ReadWriteAttribute - public var opener: JSValue + @inlinable public var opener: JSValue { + get { jsObject[Strings.opener].fromJSValue()! } + set { jsObject[Strings.opener] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var parent: WindowProxy? + @inlinable public var parent: WindowProxy? { jsObject[Strings.parent].fromJSValue() } - @ReadonlyAttribute - public var frameElement: Element? + @inlinable public var frameElement: Element? { jsObject[Strings.frameElement].fromJSValue() } - @inlinable public func open(url: String? = nil, target: String? = nil, features: String? = nil) -> WindowProxy? { + @inlinable final public func open( + url: String? = nil, + target: String? = nil, + features: String? = nil + ) -> WindowProxy? { let this = jsObject - return this[Strings.open].function!(this: this, arguments: [_toJSValue(url), _toJSValue(target), _toJSValue(features)]).fromJSValue() + return this[Strings.open].function!( + this: this, + arguments: [_toJSValue(url), _toJSValue(target), _toJSValue(features)] + ).fromJSValue() } - @inlinable public subscript(key: String) -> JSObject { - jsObject[key].fromJSValue()! - } + @inlinable public subscript(key: String) -> JSObject { jsObject[key].fromJSValue()! } - @ReadonlyAttribute - public var navigator: Navigator + @inlinable public var navigator: Navigator { jsObject[Strings.navigator].fromJSValue()! } - @ReadonlyAttribute - public var clientInformation: Navigator + @inlinable public var clientInformation: Navigator { jsObject[Strings.clientInformation].fromJSValue()! } - @ReadonlyAttribute - public var originAgentCluster: Bool + @inlinable public var originAgentCluster: Bool { jsObject[Strings.originAgentCluster].fromJSValue()! } - @inlinable public func alert() { + @inlinable final public func alert() { let this = jsObject _ = this[Strings.alert].function!(this: this, arguments: []) } - @inlinable public func alert(message: String) { + @inlinable final public func alert(message: String) { let this = jsObject _ = this[Strings.alert].function!(this: this, arguments: [_toJSValue(message)]) } - @inlinable public func confirm(message: String? = nil) -> Bool { + @inlinable final public func confirm(message: String? = nil) -> Bool { let this = jsObject return this[Strings.confirm].function!(this: this, arguments: [_toJSValue(message)]).fromJSValue()! } - @inlinable public func prompt(message: String? = nil, default: String? = nil) -> String? { + @inlinable final public func prompt(message: String? = nil, `default`: String? = nil) -> String? { let this = jsObject - return this[Strings.prompt].function!(this: this, arguments: [_toJSValue(message), _toJSValue(`default`)]).fromJSValue() + return this[Strings.prompt].function!(this: this, arguments: [_toJSValue(message), _toJSValue(`default`)]) + .fromJSValue() } - @inlinable public func print() { + @inlinable final public func print() { let this = jsObject _ = this[Strings.print].function!(this: this, arguments: []) } - @inlinable public func postMessage(message: JSValue, targetOrigin: String, transfer: [JSObject]? = nil) { + @inlinable final public func postMessage(message: JSValue, targetOrigin: String, transfer: [JSObject]? = nil) { let this = jsObject - _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(targetOrigin), _toJSValue(transfer)]) + _ = this[Strings.postMessage].function!( + this: this, + arguments: [_toJSValue(message), _toJSValue(targetOrigin), _toJSValue(transfer)] + ) } - @inlinable public func postMessage(message: JSValue, options: WindowPostMessageOptions? = nil) { + @inlinable final public func postMessage(message: JSValue, options: WindowPostMessageOptions? = nil) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(options)]) } - @inlinable public func captureEvents() { + @inlinable final public func captureEvents() { let this = jsObject _ = this[Strings.captureEvents].function!(this: this, arguments: []) } - @inlinable public func releaseEvents() { + @inlinable final public func releaseEvents() { let this = jsObject _ = this[Strings.releaseEvents].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var external: External + @inlinable public var external: External { jsObject[Strings.external].fromJSValue()! } - @inlinable public func matchMedia(query: String) -> MediaQueryList { + @inlinable final public func matchMedia(query: String) -> MediaQueryList { let this = jsObject return this[Strings.matchMedia].function!(this: this, arguments: [_toJSValue(query)]).fromJSValue()! } - @ReadonlyAttribute - public var screen: Screen + @inlinable public var screen: Screen { jsObject[Strings.screen].fromJSValue()! } - @ReadonlyAttribute - public var visualViewport: VisualViewport? + @inlinable public var visualViewport: VisualViewport? { jsObject[Strings.visualViewport].fromJSValue() } - @inlinable public func moveTo(x: Int32, y: Int32) { + @inlinable final public func moveTo(x: Int32, y: Int32) { let this = jsObject _ = this[Strings.moveTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func moveBy(x: Int32, y: Int32) { + @inlinable final public func moveBy(x: Int32, y: Int32) { let this = jsObject _ = this[Strings.moveBy].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func resizeTo(width: Int32, height: Int32) { + @inlinable final public func resizeTo(width: Int32, height: Int32) { let this = jsObject _ = this[Strings.resizeTo].function!(this: this, arguments: [_toJSValue(width), _toJSValue(height)]) } - @inlinable public func resizeBy(x: Int32, y: Int32) { + @inlinable final public func resizeBy(x: Int32, y: Int32) { let this = jsObject _ = this[Strings.resizeBy].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @ReadonlyAttribute - public var innerWidth: Int32 + @inlinable public var innerWidth: Int32 { jsObject[Strings.innerWidth].fromJSValue()! } - @ReadonlyAttribute - public var innerHeight: Int32 + @inlinable public var innerHeight: Int32 { jsObject[Strings.innerHeight].fromJSValue()! } - @ReadonlyAttribute - public var scrollX: Double + @inlinable public var scrollX: Double { jsObject[Strings.scrollX].fromJSValue()! } - @ReadonlyAttribute - public var pageXOffset: Double + @inlinable public var pageXOffset: Double { jsObject[Strings.pageXOffset].fromJSValue()! } - @ReadonlyAttribute - public var scrollY: Double + @inlinable public var scrollY: Double { jsObject[Strings.scrollY].fromJSValue()! } - @ReadonlyAttribute - public var pageYOffset: Double + @inlinable public var pageYOffset: Double { jsObject[Strings.pageYOffset].fromJSValue()! } - @inlinable public func scroll(options: ScrollToOptions? = nil) { + @inlinable final public func scroll(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scroll(x: Double, y: Double) { + @inlinable final public func scroll(x: Double, y: Double) { let this = jsObject _ = this[Strings.scroll].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func scrollTo(options: ScrollToOptions? = nil) { + @inlinable final public func scrollTo(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scrollTo].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scrollTo(x: Double, y: Double) { + @inlinable final public func scrollTo(x: Double, y: Double) { let this = jsObject _ = this[Strings.scrollTo].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @inlinable public func scrollBy(options: ScrollToOptions? = nil) { + @inlinable final public func scrollBy(options: ScrollToOptions? = nil) { let this = jsObject _ = this[Strings.scrollBy].function!(this: this, arguments: [_toJSValue(options)]) } - @inlinable public func scrollBy(x: Double, y: Double) { + @inlinable final public func scrollBy(x: Double, y: Double) { let this = jsObject _ = this[Strings.scrollBy].function!(this: this, arguments: [_toJSValue(x), _toJSValue(y)]) } - @ReadonlyAttribute - public var screenX: Int32 + @inlinable public var screenX: Int32 { jsObject[Strings.screenX].fromJSValue()! } - @ReadonlyAttribute - public var screenLeft: Int32 + @inlinable public var screenLeft: Int32 { jsObject[Strings.screenLeft].fromJSValue()! } - @ReadonlyAttribute - public var screenY: Int32 + @inlinable public var screenY: Int32 { jsObject[Strings.screenY].fromJSValue()! } - @ReadonlyAttribute - public var screenTop: Int32 + @inlinable public var screenTop: Int32 { jsObject[Strings.screenTop].fromJSValue()! } - @ReadonlyAttribute - public var outerWidth: Int32 + @inlinable public var outerWidth: Int32 { jsObject[Strings.outerWidth].fromJSValue()! } - @ReadonlyAttribute - public var outerHeight: Int32 + @inlinable public var outerHeight: Int32 { jsObject[Strings.outerHeight].fromJSValue()! } - @ReadonlyAttribute - public var devicePixelRatio: Double + @inlinable public var devicePixelRatio: Double { jsObject[Strings.devicePixelRatio].fromJSValue()! } } public protocol WindowEventHandlers: JSBridgedClass {} -public extension WindowEventHandlers { - @inlinable var onafterprint: EventHandler { - get { ClosureAttribute1Optional[Strings.onafterprint, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onafterprint, in: jsObject] = newValue } +extension WindowEventHandlers { + @inlinable public var onafterprint: EventHandler { + get { + guard let function = jsObject[Strings.onafterprint].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onafterprint] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onafterprint] = .null + } + } + } + + @inlinable public var onbeforeprint: EventHandler { + get { + guard let function = jsObject[Strings.onbeforeprint].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onbeforeprint] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onbeforeprint] = .null + } + } + } + + @inlinable public var onbeforeunload: OnBeforeUnloadEventHandler { + get { + guard let function = jsObject[Strings.onbeforeunload].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onbeforeunload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onbeforeunload] = .null + } + } } - @inlinable var onbeforeprint: EventHandler { - get { ClosureAttribute1Optional[Strings.onbeforeprint, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onbeforeprint, in: jsObject] = newValue } + @inlinable public var onhashchange: EventHandler { + get { + guard let function = jsObject[Strings.onhashchange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onhashchange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onhashchange] = .null + } + } } - @inlinable var onbeforeunload: OnBeforeUnloadEventHandler { - get { ClosureAttribute1Optional[Strings.onbeforeunload, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onbeforeunload, in: jsObject] = newValue } + @inlinable public var onlanguagechange: EventHandler { + get { + guard let function = jsObject[Strings.onlanguagechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onlanguagechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onlanguagechange] = .null + } + } } - @inlinable var onhashchange: EventHandler { - get { ClosureAttribute1Optional[Strings.onhashchange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onhashchange, in: jsObject] = newValue } + @inlinable public var onmessage: EventHandler { + get { + guard let function = jsObject[Strings.onmessage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessage] = .null + } + } } - @inlinable var onlanguagechange: EventHandler { - get { ClosureAttribute1Optional[Strings.onlanguagechange, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onlanguagechange, in: jsObject] = newValue } + @inlinable public var onmessageerror: EventHandler { + get { + guard let function = jsObject[Strings.onmessageerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onmessageerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onmessageerror] = .null + } + } } - @inlinable var onmessage: EventHandler { - get { ClosureAttribute1Optional[Strings.onmessage, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmessage, in: jsObject] = newValue } + @inlinable public var onoffline: EventHandler { + get { + guard let function = jsObject[Strings.onoffline].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onoffline] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onoffline] = .null + } + } } - @inlinable var onmessageerror: EventHandler { - get { ClosureAttribute1Optional[Strings.onmessageerror, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onmessageerror, in: jsObject] = newValue } + @inlinable public var ononline: EventHandler { + get { + guard let function = jsObject[Strings.ononline].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ononline] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ononline] = .null + } + } } - @inlinable var onoffline: EventHandler { - get { ClosureAttribute1Optional[Strings.onoffline, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onoffline, in: jsObject] = newValue } + @inlinable public var onpagehide: EventHandler { + get { + guard let function = jsObject[Strings.onpagehide].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpagehide] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpagehide] = .null + } + } } - @inlinable var ononline: EventHandler { - get { ClosureAttribute1Optional[Strings.ononline, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.ononline, in: jsObject] = newValue } + @inlinable public var onpagereveal: EventHandler { + get { + guard let function = jsObject[Strings.onpagereveal].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpagereveal] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpagereveal] = .null + } + } } - @inlinable var onpagehide: EventHandler { - get { ClosureAttribute1Optional[Strings.onpagehide, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onpagehide, in: jsObject] = newValue } + @inlinable public var onpageshow: EventHandler { + get { + guard let function = jsObject[Strings.onpageshow].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpageshow] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpageshow] = .null + } + } } - @inlinable var onpageshow: EventHandler { - get { ClosureAttribute1Optional[Strings.onpageshow, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onpageshow, in: jsObject] = newValue } + @inlinable public var onpageswap: EventHandler { + get { + guard let function = jsObject[Strings.onpageswap].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpageswap] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpageswap] = .null + } + } } - @inlinable var onpopstate: EventHandler { - get { ClosureAttribute1Optional[Strings.onpopstate, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onpopstate, in: jsObject] = newValue } + @inlinable public var onpopstate: EventHandler { + get { + guard let function = jsObject[Strings.onpopstate].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onpopstate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onpopstate] = .null + } + } } - @inlinable var onrejectionhandled: EventHandler { - get { ClosureAttribute1Optional[Strings.onrejectionhandled, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onrejectionhandled, in: jsObject] = newValue } + @inlinable public var onrejectionhandled: EventHandler { + get { + guard let function = jsObject[Strings.onrejectionhandled].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onrejectionhandled] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onrejectionhandled] = .null + } + } } - @inlinable var onstorage: EventHandler { - get { ClosureAttribute1Optional[Strings.onstorage, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onstorage, in: jsObject] = newValue } + @inlinable public var onstorage: EventHandler { + get { + guard let function = jsObject[Strings.onstorage].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onstorage] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onstorage] = .null + } + } } - @inlinable var onunhandledrejection: EventHandler { - get { ClosureAttribute1Optional[Strings.onunhandledrejection, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onunhandledrejection, in: jsObject] = newValue } + @inlinable public var onunhandledrejection: EventHandler { + get { + guard let function = jsObject[Strings.onunhandledrejection].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onunhandledrejection] = + JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onunhandledrejection] = .null + } + } } - @inlinable var onunload: EventHandler { - get { ClosureAttribute1Optional[Strings.onunload, in: jsObject] } - nonmutating set { ClosureAttribute1Optional[Strings.onunload, in: jsObject] = newValue } + @inlinable public var onunload: EventHandler { + get { + guard let function = jsObject[Strings.onunload].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onunload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onunload] = .null + } + } } } - public protocol WindowLocalStorage: JSBridgedClass {} -public extension WindowLocalStorage { - @inlinable var localStorage: Storage { jsObject[Strings.localStorage].fromJSValue()! } +extension WindowLocalStorage { + @inlinable public var localStorage: Storage { jsObject[Strings.localStorage].fromJSValue()! } } - public protocol WindowOrWorkerGlobalScope: JSBridgedClass {} -public extension WindowOrWorkerGlobalScope { - @inlinable var origin: String { jsObject[Strings.origin].fromJSValue()! } +extension WindowOrWorkerGlobalScope { + @inlinable public var origin: String { jsObject[Strings.origin].fromJSValue()! } - @inlinable var isSecureContext: Bool { jsObject[Strings.isSecureContext].fromJSValue()! } + @inlinable public var isSecureContext: Bool { jsObject[Strings.isSecureContext].fromJSValue()! } - @inlinable var crossOriginIsolated: Bool { jsObject[Strings.crossOriginIsolated].fromJSValue()! } + @inlinable public var crossOriginIsolated: Bool { jsObject[Strings.crossOriginIsolated].fromJSValue()! } - @inlinable func reportError(e: JSValue) { + @inlinable public func reportError(e: JSValue) { let this = jsObject _ = this[Strings.reportError].function!(this: this, arguments: [_toJSValue(e)]) } - @inlinable func btoa(data: String) -> String { + @inlinable public func btoa(data: String) -> String { let this = jsObject return this[Strings.btoa].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable func atob(data: String) -> String { + @inlinable public func atob(data: String) -> String { let this = jsObject return this[Strings.atob].function!(this: this, arguments: [_toJSValue(data)]).fromJSValue()! } - @inlinable func setTimeout(handler: TimerHandler, timeout: Int32? = nil, arguments: JSValue...) -> Int32 { + @inlinable public func setTimeout(handler: TimerHandler, timeout: Int32? = nil, arguments: JSValue...) -> Int32 { let this = jsObject - return this[Strings.setTimeout].function!(this: this, arguments: [_toJSValue(handler), _toJSValue(timeout)] + arguments.map(_toJSValue)).fromJSValue()! + return this[Strings.setTimeout].function!( + this: this, + arguments: [_toJSValue(handler), _toJSValue(timeout)] + arguments.map(_toJSValue) + ).fromJSValue()! } - @inlinable func clearTimeout(id: Int32? = nil) { + @inlinable public func clearTimeout(id: Int32? = nil) { let this = jsObject _ = this[Strings.clearTimeout].function!(this: this, arguments: [_toJSValue(id)]) } - @inlinable func setInterval(handler: TimerHandler, timeout: Int32? = nil, arguments: JSValue...) -> Int32 { + @inlinable public func setInterval(handler: TimerHandler, timeout: Int32? = nil, arguments: JSValue...) -> Int32 { let this = jsObject - return this[Strings.setInterval].function!(this: this, arguments: [_toJSValue(handler), _toJSValue(timeout)] + arguments.map(_toJSValue)).fromJSValue()! + return this[Strings.setInterval].function!( + this: this, + arguments: [_toJSValue(handler), _toJSValue(timeout)] + arguments.map(_toJSValue) + ).fromJSValue()! } - @inlinable func clearInterval(id: Int32? = nil) { + @inlinable public func clearInterval(id: Int32? = nil) { let this = jsObject _ = this[Strings.clearInterval].function!(this: this, arguments: [_toJSValue(id)]) } - @inlinable func queueMicrotask(callback: @escaping VoidFunction) { + @inlinable public func queueMicrotask(callback: @escaping VoidFunction) { let this = jsObject _ = this[Strings.queueMicrotask].function!(this: this, arguments: [_toJSValue(callback)]) } - @inlinable func createImageBitmap(image: ImageBitmapSource, options: ImageBitmapOptions? = nil) -> JSPromise { + @inlinable public func createImageBitmap(image: ImageBitmapSource, options: ImageBitmapOptions? = nil) -> JSPromise + { let this = jsObject - return this[Strings.createImageBitmap].function!(this: this, arguments: [_toJSValue(image), _toJSValue(options)]).fromJSValue()! + return this[Strings.createImageBitmap].function!( + this: this, + arguments: [_toJSValue(image), _toJSValue(options)] + ).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func createImageBitmap(image: ImageBitmapSource, options: ImageBitmapOptions? = nil) async throws -> ImageBitmap { - let this = jsObject - let _promise: JSPromise = this[Strings.createImageBitmap].function!(this: this, arguments: [_toJSValue(image), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func createImageBitmap( + image: ImageBitmapSource, + options: ImageBitmapOptions? = nil + ) async throws(JSException) -> ImageBitmap { + let this = jsObject + let _promise: JSPromise = this[Strings.createImageBitmap].function!( + this: this, + arguments: [_toJSValue(image), _toJSValue(options)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable func createImageBitmap(image: ImageBitmapSource, sx: Int32, sy: Int32, sw: Int32, sh: Int32, options: ImageBitmapOptions? = nil) -> JSPromise { + @inlinable public func createImageBitmap( + image: ImageBitmapSource, + sx: Int32, + sy: Int32, + sw: Int32, + sh: Int32, + options: ImageBitmapOptions? = nil + ) -> JSPromise { let this = jsObject - return this[Strings.createImageBitmap].function!(this: this, arguments: [_toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(options)]).fromJSValue()! + return this[Strings.createImageBitmap].function!( + this: this, + arguments: [ + _toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(options), + ] + ).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func createImageBitmap(image: ImageBitmapSource, sx: Int32, sy: Int32, sw: Int32, sh: Int32, options: ImageBitmapOptions? = nil) async throws -> ImageBitmap { - let this = jsObject - let _promise: JSPromise = this[Strings.createImageBitmap].function!(this: this, arguments: [_toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), _toJSValue(options)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func createImageBitmap( + image: ImageBitmapSource, + sx: Int32, + sy: Int32, + sw: Int32, + sh: Int32, + options: ImageBitmapOptions? = nil + ) async throws(JSException) -> ImageBitmap { + let this = jsObject + let _promise: JSPromise = this[Strings.createImageBitmap].function!( + this: this, + arguments: [ + _toJSValue(image), _toJSValue(sx), _toJSValue(sy), _toJSValue(sw), _toJSValue(sh), + _toJSValue(options), + ] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable func structuredClone(value: JSValue, options: StructuredSerializeOptions? = nil) -> JSValue { + @inlinable public func structuredClone(value: JSValue, options: StructuredSerializeOptions? = nil) -> JSValue { let this = jsObject - return this[Strings.structuredClone].function!(this: this, arguments: [_toJSValue(value), _toJSValue(options)]).fromJSValue()! + return this[Strings.structuredClone].function!(this: this, arguments: [_toJSValue(value), _toJSValue(options)]) + .fromJSValue()! } - @inlinable var performance: Performance { jsObject[Strings.performance].fromJSValue()! } + @inlinable public var performance: Performance { jsObject[Strings.performance].fromJSValue()! } - @inlinable func fetch(input: RequestInfo, init: RequestInit? = nil) -> JSPromise { + @inlinable public func fetch(input: RequestInfo, `init`: RequestInit? = nil) -> JSPromise { let this = jsObject - return this[Strings.fetch].function!(this: this, arguments: [_toJSValue(input), _toJSValue(`init`)]).fromJSValue()! + return this[Strings.fetch].function!(this: this, arguments: [_toJSValue(input), _toJSValue(`init`)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func fetch(input: RequestInfo, init: RequestInit? = nil) async throws -> Response { - let this = jsObject - let _promise: JSPromise = this[Strings.fetch].function!(this: this, arguments: [_toJSValue(input), _toJSValue(`init`)]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable public func fetch( + input: RequestInfo, + `init`: RequestInit? = nil + ) async throws(JSException) -> Response { + let this = jsObject + let _promise: JSPromise = this[Strings.fetch].function!( + this: this, + arguments: [_toJSValue(input), _toJSValue(`init`)] + ).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif - @inlinable var caches: CacheStorage { jsObject[Strings.caches].fromJSValue()! } + @inlinable public var caches: CacheStorage { jsObject[Strings.caches].fromJSValue()! } + + @inlinable public var trustedTypes: TrustedTypePolicyFactory { jsObject[Strings.trustedTypes].fromJSValue()! } } +open class WindowPostMessageOptions: StructuredSerializeOptions { -public class WindowPostMessageOptions: BridgedDictionary { - public convenience init(targetOrigin: String) { + public convenience init(transfer: [JSObject]? = nil, targetOrigin: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.transfer] = _toJSValue(transfer) object[Strings.targetOrigin] = _toJSValue(targetOrigin) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _targetOrigin = ReadWriteAttribute(jsObject: object, name: Strings.targetOrigin) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var targetOrigin: String? + @inlinable public var targetOrigin: String { + get { jsObject[Strings.targetOrigin].fromJSValue()! } + set { jsObject[Strings.targetOrigin] = _toJSValue(newValue) } + } } - public protocol WindowSessionStorage: JSBridgedClass {} -public extension WindowSessionStorage { - @inlinable var sessionStorage: Storage { jsObject[Strings.sessionStorage].fromJSValue()! } +extension WindowSessionStorage { + @inlinable public var sessionStorage: Storage { jsObject[Strings.sessionStorage].fromJSValue()! } } +public class Worker: EventTarget, AbstractWorker, MessageEventTarget { + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.Worker].function } -public class Worker: EventTarget, AbstractWorker { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.Worker].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _onmessage = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessage) - _onmessageerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onmessageerror) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(scriptURL: String, options: WorkerOptions? = nil) { + @inlinable public convenience init(scriptURL: String_or_TrustedScriptURL, options: WorkerOptions? = nil) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(scriptURL), _toJSValue(options)])) } - @inlinable public func terminate() { + @inlinable final public func terminate() { let this = jsObject _ = this[Strings.terminate].function!(this: this, arguments: []) } - @inlinable public func postMessage(message: JSValue, transfer: [JSObject]) { + @inlinable final public func postMessage(message: JSValue, transfer: [JSObject]) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(transfer)]) } - @inlinable public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { + @inlinable final public func postMessage(message: JSValue, options: StructuredSerializeOptions? = nil) { let this = jsObject _ = this[Strings.postMessage].function!(this: this, arguments: [_toJSValue(message), _toJSValue(options)]) } - - @ClosureAttribute1Optional - public var onmessage: EventHandler - - @ClosureAttribute1Optional - public var onmessageerror: EventHandler } -public class WorkerOptions: BridgedDictionary { - public convenience init(type: WorkerType, credentials: RequestCredentials, name: String) { +open class WorkerOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(type: WorkerType? = nil, credentials: RequestCredentials? = nil, name: String? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.type] = _toJSValue(type) object[Strings.credentials] = _toJSValue(credentials) object[Strings.name] = _toJSValue(name) - self.init(unsafelyWrapping: object) - } - public required init(unsafelyWrapping object: JSObject) { - _type = ReadWriteAttribute(jsObject: object, name: Strings.type) - _credentials = ReadWriteAttribute(jsObject: object, name: Strings.credentials) - _name = ReadWriteAttribute(jsObject: object, name: Strings.name) - super.init(unsafelyWrapping: object) + self.init(unsafelyWrapping: object) } - @ReadWriteAttribute - public var type: WorkerType? - - @ReadWriteAttribute - public var credentials: RequestCredentials? + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var name: String? + @inlinable public var type: WorkerType { + get { jsObject[Strings.type].fromJSValue()! } + set { jsObject[Strings.type] = _toJSValue(newValue) } + } + @inlinable public var credentials: RequestCredentials { + get { jsObject[Strings.credentials].fromJSValue()! } + set { jsObject[Strings.credentials] = _toJSValue(newValue) } + } + @inlinable public var name: String { + get { jsObject[Strings.name].fromJSValue()! } + set { jsObject[Strings.name] = _toJSValue(newValue) } + } } - public enum WorkerType: JSString, JSValueCompatible { case classic = "classic" case module = "module" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } @inlinable public var jsValue: JSValue { rawValue.jsValue } } - open class Worklet: JSBridgedClass { @inlinable open class var constructor: JSFunction? { JSObject.global[Strings.Worklet].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func addModule(moduleURL: String, options: WorkletOptions? = nil) -> JSPromise { + @inlinable final public func addModule(moduleURL: String, options: WorkletOptions? = nil) -> JSPromise { let this = jsObject - return this[Strings.addModule].function!(this: this, arguments: [_toJSValue(moduleURL), _toJSValue(options)]).fromJSValue()! + return this[Strings.addModule].function!(this: this, arguments: [_toJSValue(moduleURL), _toJSValue(options)]) + .fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func addModule(moduleURL: String, options: WorkletOptions? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.addModule].function!(this: this, arguments: [_toJSValue(moduleURL), _toJSValue(options)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func addModule( + moduleURL: String, + options: WorkletOptions? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.addModule].function!( + this: this, + arguments: [_toJSValue(moduleURL), _toJSValue(options)] + ).fromJSValue()! + _ = try await _promise.value + } + #endif } -public class WorkletOptions: BridgedDictionary { - public convenience init(credentials: RequestCredentials) { +open class WorkletOptions: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(credentials: RequestCredentials? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.credentials] = _toJSValue(credentials) + self.init(unsafelyWrapping: object) } - public required init(unsafelyWrapping object: JSObject) { - _credentials = ReadWriteAttribute(jsObject: object, name: Strings.credentials) - super.init(unsafelyWrapping: object) - } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @ReadWriteAttribute - public var credentials: RequestCredentials? + @inlinable public var credentials: RequestCredentials { + get { jsObject[Strings.credentials].fromJSValue()! } + set { jsObject[Strings.credentials] = _toJSValue(newValue) } + } } - open class WritableStream: JSBridgedClass { @inlinable open class var constructor: JSFunction? { JSObject.global[Strings.WritableStream].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _locked = ReadonlyAttribute(jsObject: jsObject, name: Strings.locked) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(underlyingSink: JSObject? = nil, strategy: QueuingStrategy? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(underlyingSink), _toJSValue(strategy)])) + self.init( + unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(underlyingSink), _toJSValue(strategy)]) + ) } - @ReadonlyAttribute - public var locked: Bool + @inlinable public var locked: Bool { jsObject[Strings.locked].fromJSValue()! } - @inlinable public func abort(reason: JSValue? = nil) -> JSPromise { + @inlinable final public func abort(reason: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func abort(reason: JSValue? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func abort( + reason: JSValue? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func close() -> JSPromise { + @inlinable final public func close() -> JSPromise { let this = jsObject return this[Strings.close].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func close() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func close() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func getWriter() -> WritableStreamDefaultWriter { + @inlinable final public func getWriter() -> WritableStreamDefaultWriter { let this = jsObject return this[Strings.getWriter].function!(this: this, arguments: []).fromJSValue()! } } public class WritableStreamDefaultController: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.WritableStreamDefaultController].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.WritableStreamDefaultController].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _signal = ReadonlyAttribute(jsObject: jsObject, name: Strings.signal) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @ReadonlyAttribute - public var signal: AbortSignal + @inlinable public var signal: AbortSignal { jsObject[Strings.signal].fromJSValue()! } - @inlinable public func error(e: JSValue? = nil) { + @inlinable final public func error(e: JSValue? = nil) { let this = jsObject _ = this[Strings.error].function!(this: this, arguments: [_toJSValue(e)]) } } public class WritableStreamDefaultWriter: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.WritableStreamDefaultWriter].function } + @inlinable public class var constructor: JSFunction? { + JSObject.global[Strings.WritableStreamDefaultWriter].function + } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _closed = ReadonlyAttribute(jsObject: jsObject, name: Strings.closed) - _desiredSize = ReadonlyAttribute(jsObject: jsObject, name: Strings.desiredSize) - _ready = ReadonlyAttribute(jsObject: jsObject, name: Strings.ready) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } @inlinable public convenience init(stream: WritableStream) { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(stream)])) } - @ReadonlyAttribute - public var closed: JSPromise + @inlinable public var closed: JSPromise { jsObject[Strings.closed].fromJSValue()! } - @ReadonlyAttribute - public var desiredSize: Double? + @inlinable public var desiredSize: Double? { jsObject[Strings.desiredSize].fromJSValue() } - @ReadonlyAttribute - public var ready: JSPromise + @inlinable public var ready: JSPromise { jsObject[Strings.ready].fromJSValue()! } - @inlinable public func abort(reason: JSValue? = nil) -> JSPromise { + @inlinable final public func abort(reason: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func abort(reason: JSValue? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func abort( + reason: JSValue? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.abort].function!(this: this, arguments: [_toJSValue(reason)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func close() -> JSPromise { + @inlinable final public func close() -> JSPromise { let this = jsObject return this[Strings.close].function!(this: this, arguments: []).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func close() async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func close() + async throws(JSException) + { + let this = jsObject + let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value + } + #endif - @inlinable public func releaseLock() { + @inlinable final public func releaseLock() { let this = jsObject _ = this[Strings.releaseLock].function!(this: this, arguments: []) } - @inlinable public func write(chunk: JSValue? = nil) -> JSPromise { + @inlinable final public func write(chunk: JSValue? = nil) -> JSPromise { let this = jsObject return this[Strings.write].function!(this: this, arguments: [_toJSValue(chunk)]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func write(chunk: JSValue? = nil) async throws { - let this = jsObject - let _promise: JSPromise = this[Strings.write].function!(this: this, arguments: [_toJSValue(chunk)]).fromJSValue()! - _ = try await _promise.value - } + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func write( + chunk: JSValue? = nil + ) async throws(JSException) { + let this = jsObject + let _promise: JSPromise = this[Strings.write].function!(this: this, arguments: [_toJSValue(chunk)]) + .fromJSValue()! + _ = try await _promise.value + } + #endif } public class XMLDocument: Document { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.XMLDocument].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.XMLDocument].function } + + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } } public class XMLHttpRequest: XMLHttpRequestEventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.XMLHttpRequest].function } + @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.XMLHttpRequest].function } - public required init(unsafelyWrapping jsObject: JSObject) { - _onreadystatechange = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onreadystatechange) - _readyState = ReadonlyAttribute(jsObject: jsObject, name: Strings.readyState) - _timeout = ReadWriteAttribute(jsObject: jsObject, name: Strings.timeout) - _withCredentials = ReadWriteAttribute(jsObject: jsObject, name: Strings.withCredentials) - _upload = ReadonlyAttribute(jsObject: jsObject, name: Strings.upload) - _responseURL = ReadonlyAttribute(jsObject: jsObject, name: Strings.responseURL) - _status = ReadonlyAttribute(jsObject: jsObject, name: Strings.status) - _statusText = ReadonlyAttribute(jsObject: jsObject, name: Strings.statusText) - _responseType = ReadWriteAttribute(jsObject: jsObject, name: Strings.responseType) - _response = ReadonlyAttribute(jsObject: jsObject, name: Strings.response) - _responseText = ReadonlyAttribute(jsObject: jsObject, name: Strings.responseText) - _responseXML = ReadonlyAttribute(jsObject: jsObject, name: Strings.responseXML) - super.init(unsafelyWrapping: jsObject) - } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @ClosureAttribute1Optional - public var onreadystatechange: EventHandler + @inlinable public var onreadystatechange: EventHandler { + get { + guard let function = jsObject[Strings.onreadystatechange].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onreadystatechange] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onreadystatechange] = .null + } + } + } public static let UNSENT: UInt16 = 0 @@ -18748,114 +21471,193 @@ public class XMLHttpRequest: XMLHttpRequestEventTarget { public static let DONE: UInt16 = 4 - @ReadonlyAttribute - public var readyState: UInt16 + @inlinable public var readyState: UInt16 { jsObject[Strings.readyState].fromJSValue()! } - @inlinable public func open(method: String, url: String) { + @inlinable final public func open(method: String, url: String) { let this = jsObject _ = this[Strings.open].function!(this: this, arguments: [_toJSValue(method), _toJSValue(url)]) } - @inlinable public func open(method: String, url: String, async: Bool, username: String? = nil, password: String? = nil) { + @inlinable final public func open( + method: String, + url: String, + async: Bool, + username: String? = nil, + password: String? = nil + ) { let this = jsObject - _ = this[Strings.open].function!(this: this, arguments: [_toJSValue(method), _toJSValue(url), _toJSValue(async), _toJSValue(username), _toJSValue(password)]) + _ = this[Strings.open].function!( + this: this, + arguments: [ + _toJSValue(method), _toJSValue(url), _toJSValue(async), _toJSValue(username), _toJSValue(password), + ] + ) } - @inlinable public func setRequestHeader(name: String, value: String) { + @inlinable final public func setRequestHeader(name: String, value: String) { let this = jsObject _ = this[Strings.setRequestHeader].function!(this: this, arguments: [_toJSValue(name), _toJSValue(value)]) } - @ReadWriteAttribute - public var timeout: UInt32 + @inlinable public var timeout: UInt32 { + get { jsObject[Strings.timeout].fromJSValue()! } + set { jsObject[Strings.timeout] = _toJSValue(newValue) } + } - @ReadWriteAttribute - public var withCredentials: Bool + @inlinable public var withCredentials: Bool { + get { jsObject[Strings.withCredentials].fromJSValue()! } + set { jsObject[Strings.withCredentials] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var upload: XMLHttpRequestUpload + @inlinable public var upload: XMLHttpRequestUpload { jsObject[Strings.upload].fromJSValue()! } - @inlinable public func send(body: Document_or_XMLHttpRequestBodyInit? = nil) { + @inlinable final public func send(body: Document_or_XMLHttpRequestBodyInit? = nil) { let this = jsObject _ = this[Strings.send].function!(this: this, arguments: [_toJSValue(body)]) } - @inlinable public func abort() { + @inlinable final public func abort() { let this = jsObject _ = this[Strings.abort].function!(this: this, arguments: []) } - @ReadonlyAttribute - public var responseURL: String + @inlinable public var responseURL: String { jsObject[Strings.responseURL].fromJSValue()! } - @ReadonlyAttribute - public var status: UInt16 + @inlinable public var status: UInt16 { jsObject[Strings.status].fromJSValue()! } - @ReadonlyAttribute - public var statusText: String + @inlinable public var statusText: String { jsObject[Strings.statusText].fromJSValue()! } - @inlinable public func getResponseHeader(name: String) -> String? { + @inlinable final public func getResponseHeader(name: String) -> String? { let this = jsObject return this[Strings.getResponseHeader].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } - @inlinable public func getAllResponseHeaders() -> String { + @inlinable final public func getAllResponseHeaders() -> String { let this = jsObject return this[Strings.getAllResponseHeaders].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func overrideMimeType(mime: String) { + @inlinable final public func overrideMimeType(mime: String) { let this = jsObject _ = this[Strings.overrideMimeType].function!(this: this, arguments: [_toJSValue(mime)]) } - @ReadWriteAttribute - public var responseType: XMLHttpRequestResponseType + @inlinable public var responseType: XMLHttpRequestResponseType { + get { jsObject[Strings.responseType].fromJSValue()! } + set { jsObject[Strings.responseType] = _toJSValue(newValue) } + } - @ReadonlyAttribute - public var response: JSValue + @inlinable public var response: JSValue { jsObject[Strings.response].fromJSValue()! } - @ReadonlyAttribute - public var responseText: String + @inlinable public var responseText: String { jsObject[Strings.responseText].fromJSValue()! } - @ReadonlyAttribute - public var responseXML: Document? + @inlinable public var responseXML: Document? { jsObject[Strings.responseXML].fromJSValue() } } public class XMLHttpRequestEventTarget: EventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.XMLHttpRequestEventTarget].function } - - public required init(unsafelyWrapping jsObject: JSObject) { - _onloadstart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onloadstart) - _onprogress = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onprogress) - _onabort = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onabort) - _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror) - _onload = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onload) - _ontimeout = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ontimeout) - _onloadend = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onloadend) - super.init(unsafelyWrapping: jsObject) + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.XMLHttpRequestEventTarget].function } - @ClosureAttribute1Optional - public var onloadstart: EventHandler + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + + @inlinable public var onloadstart: EventHandler { + get { + guard let function = jsObject[Strings.onloadstart].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadstart] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadstart] = .null + } + } + } - @ClosureAttribute1Optional - public var onprogress: EventHandler + @inlinable public var onprogress: EventHandler { + get { + guard let function = jsObject[Strings.onprogress].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onprogress] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onprogress] = .null + } + } + } - @ClosureAttribute1Optional - public var onabort: EventHandler + @inlinable public var onabort: EventHandler { + get { + guard let function = jsObject[Strings.onabort].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onabort] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onabort] = .null + } + } + } - @ClosureAttribute1Optional - public var onerror: EventHandler + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } - @ClosureAttribute1Optional - public var onload: EventHandler + @inlinable public var onload: EventHandler { + get { + guard let function = jsObject[Strings.onload].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onload] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onload] = .null + } + } + } - @ClosureAttribute1Optional - public var ontimeout: EventHandler + @inlinable public var ontimeout: EventHandler { + get { + guard let function = jsObject[Strings.ontimeout].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.ontimeout] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.ontimeout] = .null + } + } + } - @ClosureAttribute1Optional - public var onloadend: EventHandler + @inlinable public var onloadend: EventHandler { + get { + guard let function = jsObject[Strings.onloadend].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onloadend] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onloadend] = .null + } + } + } } public enum XMLHttpRequestResponseType: JSString, JSValueCompatible { @@ -18867,24 +21669,35 @@ public enum XMLHttpRequestResponseType: JSString, JSValueCompatible { case text = "text" @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } + if let string = jsValue.jsString { return Self(rawValue: string) } return nil } - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + + @inlinable public var jsValue: JSValue { rawValue.jsValue } +} +public class XMLHttpRequestUpload: XMLHttpRequestEventTarget { + @inlinable public override class var constructor: JSFunction? { + JSObject.global[Strings.XMLHttpRequestUpload].function } - @inlinable public var jsValue: JSValue { rawValue.jsValue } + public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } + } -public class XMLHttpRequestUpload: XMLHttpRequestEventTarget { - @inlinable override public class var constructor: JSFunction? { JSObject.global[Strings.XMLHttpRequestUpload].function } +public class XMLSerializer: JSBridgedClass { + @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.XMLSerializer].function } + + public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } + + @inlinable final public func serializeToString(root: Node) -> String { + let this = jsObject + return this[Strings.serializeToString].function!(this: this, arguments: [_toJSValue(root)]).fromJSValue()! } } @@ -18893,36 +21706,36 @@ public class XPathEvaluator: JSBridgedClass, XPathEvaluatorBase { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } } public protocol XPathEvaluatorBase: JSBridgedClass {} -public extension XPathEvaluatorBase { +extension XPathEvaluatorBase { // XXX: method 'createExpression' is ignored // XXX: method 'createNSResolver' is ignored // XXX: method 'evaluate' is ignored } - public class XPathExpression: JSBridgedClass { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.XPathExpression].function } public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public func evaluate(contextNode: Node, type: UInt16? = nil, result: XPathResult? = nil) -> XPathResult { + @inlinable final public func evaluate( + contextNode: Node, + type: UInt16? = nil, + result: XPathResult? = nil + ) -> XPathResult { let this = jsObject - return this[Strings.evaluate].function!(this: this, arguments: [_toJSValue(contextNode), _toJSValue(type), _toJSValue(result)]).fromJSValue()! + return this[Strings.evaluate].function!( + this: this, + arguments: [_toJSValue(contextNode), _toJSValue(type), _toJSValue(result)] + ).fromJSValue()! } } @@ -18931,16 +21744,7 @@ public class XPathResult: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - _resultType = ReadonlyAttribute(jsObject: jsObject, name: Strings.resultType) - _numberValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.numberValue) - _stringValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.stringValue) - _booleanValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.booleanValue) - _singleNodeValue = ReadonlyAttribute(jsObject: jsObject, name: Strings.singleNodeValue) - _invalidIteratorState = ReadonlyAttribute(jsObject: jsObject, name: Strings.invalidIteratorState) - _snapshotLength = ReadonlyAttribute(jsObject: jsObject, name: Strings.snapshotLength) - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } public static let ANY_TYPE: UInt16 = 0 @@ -18962,33 +21766,26 @@ public class XPathResult: JSBridgedClass { public static let FIRST_ORDERED_NODE_TYPE: UInt16 = 9 - @ReadonlyAttribute - public var resultType: UInt16 + @inlinable public var resultType: UInt16 { jsObject[Strings.resultType].fromJSValue()! } - @ReadonlyAttribute - public var numberValue: Double + @inlinable public var numberValue: Double { jsObject[Strings.numberValue].fromJSValue()! } - @ReadonlyAttribute - public var stringValue: String + @inlinable public var stringValue: String { jsObject[Strings.stringValue].fromJSValue()! } - @ReadonlyAttribute - public var booleanValue: Bool + @inlinable public var booleanValue: Bool { jsObject[Strings.booleanValue].fromJSValue()! } - @ReadonlyAttribute - public var singleNodeValue: Node? + @inlinable public var singleNodeValue: Node? { jsObject[Strings.singleNodeValue].fromJSValue() } - @ReadonlyAttribute - public var invalidIteratorState: Bool + @inlinable public var invalidIteratorState: Bool { jsObject[Strings.invalidIteratorState].fromJSValue()! } - @ReadonlyAttribute - public var snapshotLength: UInt32 + @inlinable public var snapshotLength: UInt32 { jsObject[Strings.snapshotLength].fromJSValue()! } - @inlinable public func iterateNext() -> Node? { + @inlinable final public func iterateNext() -> Node? { let this = jsObject return this[Strings.iterateNext].function!(this: this, arguments: []).fromJSValue() } - @inlinable public func snapshotItem(index: UInt32) -> Node? { + @inlinable final public func snapshotItem(index: UInt32) -> Node? { let this = jsObject return this[Strings.snapshotItem].function!(this: this, arguments: [_toJSValue(index)]).fromJSValue() } @@ -18999,50 +21796,58 @@ public class XSLTProcessor: JSBridgedClass { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public convenience init() { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) - } + @inlinable public convenience init() { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [])) } - @inlinable public func importStylesheet(style: Node) { + @inlinable final public func importStylesheet(style: Node) { let this = jsObject _ = this[Strings.importStylesheet].function!(this: this, arguments: [_toJSValue(style)]) } - @inlinable public func transformToFragment(source: Node, output: Document) -> DocumentFragment { + @inlinable final public func transformToFragment(source: Node, output: Document) -> DocumentFragment { let this = jsObject - return this[Strings.transformToFragment].function!(this: this, arguments: [_toJSValue(source), _toJSValue(output)]).fromJSValue()! + return this[Strings.transformToFragment].function!( + this: this, + arguments: [_toJSValue(source), _toJSValue(output)] + ).fromJSValue()! } - @inlinable public func transformToDocument(source: Node) -> Document { + @inlinable final public func transformToDocument(source: Node) -> Document { let this = jsObject return this[Strings.transformToDocument].function!(this: this, arguments: [_toJSValue(source)]).fromJSValue()! } - @inlinable public func setParameter(namespaceURI: String, localName: String, value: JSValue) { + @inlinable final public func setParameter(namespaceURI: String, localName: String, value: JSValue) { let this = jsObject - _ = this[Strings.setParameter].function!(this: this, arguments: [_toJSValue(namespaceURI), _toJSValue(localName), _toJSValue(value)]) + _ = this[Strings.setParameter].function!( + this: this, + arguments: [_toJSValue(namespaceURI), _toJSValue(localName), _toJSValue(value)] + ) } - @inlinable public func getParameter(namespaceURI: String, localName: String) -> JSValue { + @inlinable final public func getParameter(namespaceURI: String, localName: String) -> JSValue { let this = jsObject - return this[Strings.getParameter].function!(this: this, arguments: [_toJSValue(namespaceURI), _toJSValue(localName)]).fromJSValue()! + return this[Strings.getParameter].function!( + this: this, + arguments: [_toJSValue(namespaceURI), _toJSValue(localName)] + ).fromJSValue()! } - @inlinable public func removeParameter(namespaceURI: String, localName: String) { + @inlinable final public func removeParameter(namespaceURI: String, localName: String) { let this = jsObject - _ = this[Strings.removeParameter].function!(this: this, arguments: [_toJSValue(namespaceURI), _toJSValue(localName)]) + _ = this[Strings.removeParameter].function!( + this: this, + arguments: [_toJSValue(namespaceURI), _toJSValue(localName)] + ) } - @inlinable public func clearParameters() { + @inlinable final public func clearParameters() { let this = jsObject _ = this[Strings.clearParameters].function!(this: this, arguments: []) } - @inlinable public func reset() { + @inlinable final public func reset() { let this = jsObject _ = this[Strings.reset].function!(this: this, arguments: []) } @@ -19050,1720 +21855,1821 @@ public class XSLTProcessor: JSBridgedClass { @usableFromInline enum Strings { @usableFromInline static let _self: JSString = "self" - @usableFromInline static let AbortController: JSString = "AbortController" - @usableFromInline static let AbortSignal: JSString = "AbortSignal" - @usableFromInline static let AbstractRange: JSString = "AbstractRange" - @usableFromInline static let AddSearchProvider: JSString = "AddSearchProvider" - @usableFromInline static let Attr: JSString = "Attr" - @usableFromInline static let AudioData: JSString = "AudioData" - @usableFromInline static let AudioDecoder: JSString = "AudioDecoder" - @usableFromInline static let AudioEncoder: JSString = "AudioEncoder" - @usableFromInline static let AudioTrack: JSString = "AudioTrack" - @usableFromInline static let AudioTrackList: JSString = "AudioTrackList" - @usableFromInline static let BarProp: JSString = "BarProp" - @usableFromInline static let BeforeUnloadEvent: JSString = "BeforeUnloadEvent" - @usableFromInline static let Blob: JSString = "Blob" - @usableFromInline static let BlobEvent: JSString = "BlobEvent" - @usableFromInline static let BroadcastChannel: JSString = "BroadcastChannel" - @usableFromInline static let ByteLengthQueuingStrategy: JSString = "ByteLengthQueuingStrategy" - @usableFromInline static let CDATASection: JSString = "CDATASection" - @usableFromInline static let CSSPseudoElement: JSString = "CSSPseudoElement" - @usableFromInline static let Cache: JSString = "Cache" - @usableFromInline static let CacheStorage: JSString = "CacheStorage" - @usableFromInline static let CanvasGradient: JSString = "CanvasGradient" - @usableFromInline static let CanvasPattern: JSString = "CanvasPattern" - @usableFromInline static let CanvasRenderingContext2D: JSString = "CanvasRenderingContext2D" - @usableFromInline static let CaretPosition: JSString = "CaretPosition" - @usableFromInline static let CharacterData: JSString = "CharacterData" - @usableFromInline static let Comment: JSString = "Comment" - @usableFromInline static let CompositionEvent: JSString = "CompositionEvent" - @usableFromInline static let CountQueuingStrategy: JSString = "CountQueuingStrategy" - @usableFromInline static let CustomElementRegistry: JSString = "CustomElementRegistry" - @usableFromInline static let CustomEvent: JSString = "CustomEvent" - @usableFromInline static let DOMImplementation: JSString = "DOMImplementation" - @usableFromInline static let DOMMatrix: JSString = "DOMMatrix" - @usableFromInline static let DOMMatrixReadOnly: JSString = "DOMMatrixReadOnly" - @usableFromInline static let DOMParser: JSString = "DOMParser" - @usableFromInline static let DOMPoint: JSString = "DOMPoint" - @usableFromInline static let DOMPointReadOnly: JSString = "DOMPointReadOnly" - @usableFromInline static let DOMQuad: JSString = "DOMQuad" - @usableFromInline static let DOMRect: JSString = "DOMRect" - @usableFromInline static let DOMRectList: JSString = "DOMRectList" - @usableFromInline static let DOMRectReadOnly: JSString = "DOMRectReadOnly" - @usableFromInline static let DOMStringList: JSString = "DOMStringList" - @usableFromInline static let DOMStringMap: JSString = "DOMStringMap" - @usableFromInline static let DOMTokenList: JSString = "DOMTokenList" - @usableFromInline static let DataTransfer: JSString = "DataTransfer" - @usableFromInline static let DataTransferItem: JSString = "DataTransferItem" - @usableFromInline static let DataTransferItemList: JSString = "DataTransferItemList" - @usableFromInline static let Document: JSString = "Document" - @usableFromInline static let DocumentFragment: JSString = "DocumentFragment" - @usableFromInline static let DocumentType: JSString = "DocumentType" - @usableFromInline static let DragEvent: JSString = "DragEvent" - @usableFromInline static let Element: JSString = "Element" - @usableFromInline static let ElementInternals: JSString = "ElementInternals" - @usableFromInline static let EncodedAudioChunk: JSString = "EncodedAudioChunk" - @usableFromInline static let EncodedVideoChunk: JSString = "EncodedVideoChunk" - @usableFromInline static let ErrorEvent: JSString = "ErrorEvent" - @usableFromInline static let Event: JSString = "Event" - @usableFromInline static let EventSource: JSString = "EventSource" - @usableFromInline static let EventTarget: JSString = "EventTarget" - @usableFromInline static let External: JSString = "External" - @usableFromInline static let File: JSString = "File" - @usableFromInline static let FileList: JSString = "FileList" - @usableFromInline static let FileReader: JSString = "FileReader" - @usableFromInline static let FocusEvent: JSString = "FocusEvent" - @usableFromInline static let FormData: JSString = "FormData" - @usableFromInline static let FormDataEvent: JSString = "FormDataEvent" - @usableFromInline static let HTMLAllCollection: JSString = "HTMLAllCollection" - @usableFromInline static let HTMLAnchorElement: JSString = "HTMLAnchorElement" - @usableFromInline static let HTMLAreaElement: JSString = "HTMLAreaElement" - @usableFromInline static let HTMLAudioElement: JSString = "HTMLAudioElement" - @usableFromInline static let HTMLBRElement: JSString = "HTMLBRElement" - @usableFromInline static let HTMLBaseElement: JSString = "HTMLBaseElement" - @usableFromInline static let HTMLBodyElement: JSString = "HTMLBodyElement" - @usableFromInline static let HTMLButtonElement: JSString = "HTMLButtonElement" - @usableFromInline static let HTMLCanvasElement: JSString = "HTMLCanvasElement" - @usableFromInline static let HTMLCollection: JSString = "HTMLCollection" - @usableFromInline static let HTMLDListElement: JSString = "HTMLDListElement" - @usableFromInline static let HTMLDataElement: JSString = "HTMLDataElement" - @usableFromInline static let HTMLDataListElement: JSString = "HTMLDataListElement" - @usableFromInline static let HTMLDetailsElement: JSString = "HTMLDetailsElement" - @usableFromInline static let HTMLDialogElement: JSString = "HTMLDialogElement" - @usableFromInline static let HTMLDirectoryElement: JSString = "HTMLDirectoryElement" - @usableFromInline static let HTMLDivElement: JSString = "HTMLDivElement" - @usableFromInline static let HTMLElement: JSString = "HTMLElement" - @usableFromInline static let HTMLEmbedElement: JSString = "HTMLEmbedElement" - @usableFromInline static let HTMLFieldSetElement: JSString = "HTMLFieldSetElement" - @usableFromInline static let HTMLFontElement: JSString = "HTMLFontElement" - @usableFromInline static let HTMLFormControlsCollection: JSString = "HTMLFormControlsCollection" - @usableFromInline static let HTMLFormElement: JSString = "HTMLFormElement" - @usableFromInline static let HTMLFrameElement: JSString = "HTMLFrameElement" - @usableFromInline static let HTMLFrameSetElement: JSString = "HTMLFrameSetElement" - @usableFromInline static let HTMLHRElement: JSString = "HTMLHRElement" - @usableFromInline static let HTMLHeadElement: JSString = "HTMLHeadElement" - @usableFromInline static let HTMLHeadingElement: JSString = "HTMLHeadingElement" - @usableFromInline static let HTMLHtmlElement: JSString = "HTMLHtmlElement" - @usableFromInline static let HTMLIFrameElement: JSString = "HTMLIFrameElement" - @usableFromInline static let HTMLImageElement: JSString = "HTMLImageElement" - @usableFromInline static let HTMLInputElement: JSString = "HTMLInputElement" - @usableFromInline static let HTMLLIElement: JSString = "HTMLLIElement" - @usableFromInline static let HTMLLabelElement: JSString = "HTMLLabelElement" - @usableFromInline static let HTMLLegendElement: JSString = "HTMLLegendElement" - @usableFromInline static let HTMLLinkElement: JSString = "HTMLLinkElement" - @usableFromInline static let HTMLMapElement: JSString = "HTMLMapElement" - @usableFromInline static let HTMLMarqueeElement: JSString = "HTMLMarqueeElement" - @usableFromInline static let HTMLMediaElement: JSString = "HTMLMediaElement" - @usableFromInline static let HTMLMenuElement: JSString = "HTMLMenuElement" - @usableFromInline static let HTMLMetaElement: JSString = "HTMLMetaElement" - @usableFromInline static let HTMLMeterElement: JSString = "HTMLMeterElement" - @usableFromInline static let HTMLModElement: JSString = "HTMLModElement" - @usableFromInline static let HTMLOListElement: JSString = "HTMLOListElement" - @usableFromInline static let HTMLObjectElement: JSString = "HTMLObjectElement" - @usableFromInline static let HTMLOptGroupElement: JSString = "HTMLOptGroupElement" - @usableFromInline static let HTMLOptionElement: JSString = "HTMLOptionElement" - @usableFromInline static let HTMLOptionsCollection: JSString = "HTMLOptionsCollection" - @usableFromInline static let HTMLOutputElement: JSString = "HTMLOutputElement" - @usableFromInline static let HTMLParagraphElement: JSString = "HTMLParagraphElement" - @usableFromInline static let HTMLParamElement: JSString = "HTMLParamElement" - @usableFromInline static let HTMLPictureElement: JSString = "HTMLPictureElement" - @usableFromInline static let HTMLPreElement: JSString = "HTMLPreElement" - @usableFromInline static let HTMLProgressElement: JSString = "HTMLProgressElement" - @usableFromInline static let HTMLQuoteElement: JSString = "HTMLQuoteElement" - @usableFromInline static let HTMLScriptElement: JSString = "HTMLScriptElement" - @usableFromInline static let HTMLSelectElement: JSString = "HTMLSelectElement" - @usableFromInline static let HTMLSlotElement: JSString = "HTMLSlotElement" - @usableFromInline static let HTMLSourceElement: JSString = "HTMLSourceElement" - @usableFromInline static let HTMLSpanElement: JSString = "HTMLSpanElement" - @usableFromInline static let HTMLStyleElement: JSString = "HTMLStyleElement" - @usableFromInline static let HTMLTableCaptionElement: JSString = "HTMLTableCaptionElement" - @usableFromInline static let HTMLTableCellElement: JSString = "HTMLTableCellElement" - @usableFromInline static let HTMLTableColElement: JSString = "HTMLTableColElement" - @usableFromInline static let HTMLTableElement: JSString = "HTMLTableElement" - @usableFromInline static let HTMLTableRowElement: JSString = "HTMLTableRowElement" - @usableFromInline static let HTMLTableSectionElement: JSString = "HTMLTableSectionElement" - @usableFromInline static let HTMLTemplateElement: JSString = "HTMLTemplateElement" - @usableFromInline static let HTMLTextAreaElement: JSString = "HTMLTextAreaElement" - @usableFromInline static let HTMLTimeElement: JSString = "HTMLTimeElement" - @usableFromInline static let HTMLTitleElement: JSString = "HTMLTitleElement" - @usableFromInline static let HTMLTrackElement: JSString = "HTMLTrackElement" - @usableFromInline static let HTMLUListElement: JSString = "HTMLUListElement" - @usableFromInline static let HTMLUnknownElement: JSString = "HTMLUnknownElement" - @usableFromInline static let HTMLVideoElement: JSString = "HTMLVideoElement" - @usableFromInline static let HashChangeEvent: JSString = "HashChangeEvent" - @usableFromInline static let Headers: JSString = "Headers" - @usableFromInline static let History: JSString = "History" - @usableFromInline static let ImageBitmap: JSString = "ImageBitmap" - @usableFromInline static let ImageBitmapRenderingContext: JSString = "ImageBitmapRenderingContext" - @usableFromInline static let ImageData: JSString = "ImageData" - @usableFromInline static let ImageDecoder: JSString = "ImageDecoder" - @usableFromInline static let ImageTrack: JSString = "ImageTrack" - @usableFromInline static let ImageTrackList: JSString = "ImageTrackList" - @usableFromInline static let InputDeviceInfo: JSString = "InputDeviceInfo" - @usableFromInline static let InputEvent: JSString = "InputEvent" - @usableFromInline static let IsSearchProviderInstalled: JSString = "IsSearchProviderInstalled" - @usableFromInline static let KeyboardEvent: JSString = "KeyboardEvent" - @usableFromInline static let Location: JSString = "Location" - @usableFromInline static let MathMLElement: JSString = "MathMLElement" - @usableFromInline static let MediaDeviceInfo: JSString = "MediaDeviceInfo" - @usableFromInline static let MediaDevices: JSString = "MediaDevices" - @usableFromInline static let MediaError: JSString = "MediaError" - @usableFromInline static let MediaQueryList: JSString = "MediaQueryList" - @usableFromInline static let MediaQueryListEvent: JSString = "MediaQueryListEvent" - @usableFromInline static let MediaRecorder: JSString = "MediaRecorder" - @usableFromInline static let MediaSource: JSString = "MediaSource" - @usableFromInline static let MediaSourceHandle: JSString = "MediaSourceHandle" - @usableFromInline static let MediaStream: JSString = "MediaStream" - @usableFromInline static let MediaStreamTrack: JSString = "MediaStreamTrack" - @usableFromInline static let MediaStreamTrackEvent: JSString = "MediaStreamTrackEvent" - @usableFromInline static let MessageChannel: JSString = "MessageChannel" - @usableFromInline static let MessageEvent: JSString = "MessageEvent" - @usableFromInline static let MessagePort: JSString = "MessagePort" - @usableFromInline static let MimeType: JSString = "MimeType" - @usableFromInline static let MimeTypeArray: JSString = "MimeTypeArray" - @usableFromInline static let MouseEvent: JSString = "MouseEvent" - @usableFromInline static let MutationEvent: JSString = "MutationEvent" - @usableFromInline static let MutationObserver: JSString = "MutationObserver" - @usableFromInline static let MutationRecord: JSString = "MutationRecord" - @usableFromInline static let NamedNodeMap: JSString = "NamedNodeMap" - @usableFromInline static let NavigateEvent: JSString = "NavigateEvent" - @usableFromInline static let Navigation: JSString = "Navigation" - @usableFromInline static let NavigationCurrentEntryChangeEvent: JSString = "NavigationCurrentEntryChangeEvent" - @usableFromInline static let NavigationDestination: JSString = "NavigationDestination" - @usableFromInline static let NavigationHistoryEntry: JSString = "NavigationHistoryEntry" - @usableFromInline static let NavigationPreloadManager: JSString = "NavigationPreloadManager" - @usableFromInline static let NavigationTransition: JSString = "NavigationTransition" - @usableFromInline static let Navigator: JSString = "Navigator" - @usableFromInline static let Node: JSString = "Node" - @usableFromInline static let NodeIterator: JSString = "NodeIterator" - @usableFromInline static let NodeList: JSString = "NodeList" - @usableFromInline static let Object: JSString = "Object" - @usableFromInline static let OffscreenCanvas: JSString = "OffscreenCanvas" - @usableFromInline static let OffscreenCanvasRenderingContext2D: JSString = "OffscreenCanvasRenderingContext2D" - @usableFromInline static let OverconstrainedError: JSString = "OverconstrainedError" - @usableFromInline static let PageTransitionEvent: JSString = "PageTransitionEvent" - @usableFromInline static let Path2D: JSString = "Path2D" - @usableFromInline static let Performance: JSString = "Performance" - @usableFromInline static let PerformanceEntry: JSString = "PerformanceEntry" - @usableFromInline static let PerformanceObserver: JSString = "PerformanceObserver" - @usableFromInline static let PerformanceObserverEntryList: JSString = "PerformanceObserverEntryList" - @usableFromInline static let PermissionStatus: JSString = "PermissionStatus" - @usableFromInline static let Permissions: JSString = "Permissions" - @usableFromInline static let Plugin: JSString = "Plugin" - @usableFromInline static let PluginArray: JSString = "PluginArray" - @usableFromInline static let PopStateEvent: JSString = "PopStateEvent" - @usableFromInline static let ProcessingInstruction: JSString = "ProcessingInstruction" - @usableFromInline static let ProgressEvent: JSString = "ProgressEvent" - @usableFromInline static let PromiseRejectionEvent: JSString = "PromiseRejectionEvent" - @usableFromInline static let RadioNodeList: JSString = "RadioNodeList" - @usableFromInline static let Range: JSString = "Range" - @usableFromInline static let ReadableByteStreamController: JSString = "ReadableByteStreamController" - @usableFromInline static let ReadableStream: JSString = "ReadableStream" - @usableFromInline static let ReadableStreamBYOBReader: JSString = "ReadableStreamBYOBReader" - @usableFromInline static let ReadableStreamBYOBRequest: JSString = "ReadableStreamBYOBRequest" - @usableFromInline static let ReadableStreamDefaultController: JSString = "ReadableStreamDefaultController" - @usableFromInline static let ReadableStreamDefaultReader: JSString = "ReadableStreamDefaultReader" - @usableFromInline static let Request: JSString = "Request" - @usableFromInline static let Response: JSString = "Response" - @usableFromInline static let Screen: JSString = "Screen" - @usableFromInline static let ServiceWorker: JSString = "ServiceWorker" - @usableFromInline static let ServiceWorkerContainer: JSString = "ServiceWorkerContainer" - @usableFromInline static let ServiceWorkerRegistration: JSString = "ServiceWorkerRegistration" - @usableFromInline static let ShadowRoot: JSString = "ShadowRoot" - @usableFromInline static let SharedWorker: JSString = "SharedWorker" - @usableFromInline static let SourceBuffer: JSString = "SourceBuffer" - @usableFromInline static let SourceBufferList: JSString = "SourceBufferList" - @usableFromInline static let StaticRange: JSString = "StaticRange" - @usableFromInline static let Storage: JSString = "Storage" - @usableFromInline static let StorageEvent: JSString = "StorageEvent" - @usableFromInline static let SubmitEvent: JSString = "SubmitEvent" - @usableFromInline static let Text: JSString = "Text" - @usableFromInline static let TextMetrics: JSString = "TextMetrics" - @usableFromInline static let TextTrack: JSString = "TextTrack" - @usableFromInline static let TextTrackCue: JSString = "TextTrackCue" - @usableFromInline static let TextTrackCueList: JSString = "TextTrackCueList" - @usableFromInline static let TextTrackList: JSString = "TextTrackList" - @usableFromInline static let TimeRanges: JSString = "TimeRanges" - @usableFromInline static let ToggleEvent: JSString = "ToggleEvent" - @usableFromInline static let Touch: JSString = "Touch" - @usableFromInline static let TouchEvent: JSString = "TouchEvent" - @usableFromInline static let TouchList: JSString = "TouchList" - @usableFromInline static let TrackEvent: JSString = "TrackEvent" - @usableFromInline static let TransformStream: JSString = "TransformStream" - @usableFromInline static let TransformStreamDefaultController: JSString = "TransformStreamDefaultController" - @usableFromInline static let TreeWalker: JSString = "TreeWalker" - @usableFromInline static let UIEvent: JSString = "UIEvent" - @usableFromInline static let URL: JSString = "URL" - @usableFromInline static let UserActivation: JSString = "UserActivation" - @usableFromInline static let ValidityState: JSString = "ValidityState" - @usableFromInline static let VideoColorSpace: JSString = "VideoColorSpace" - @usableFromInline static let VideoDecoder: JSString = "VideoDecoder" - @usableFromInline static let VideoEncoder: JSString = "VideoEncoder" - @usableFromInline static let VideoFrame: JSString = "VideoFrame" - @usableFromInline static let VideoTrack: JSString = "VideoTrack" - @usableFromInline static let VideoTrackList: JSString = "VideoTrackList" - @usableFromInline static let VisibilityStateEntry: JSString = "VisibilityStateEntry" - @usableFromInline static let VisualViewport: JSString = "VisualViewport" - @usableFromInline static let WheelEvent: JSString = "WheelEvent" - @usableFromInline static let Window: JSString = "Window" - @usableFromInline static let Worker: JSString = "Worker" - @usableFromInline static let Worklet: JSString = "Worklet" - @usableFromInline static let WritableStream: JSString = "WritableStream" - @usableFromInline static let WritableStreamDefaultController: JSString = "WritableStreamDefaultController" - @usableFromInline static let WritableStreamDefaultWriter: JSString = "WritableStreamDefaultWriter" - @usableFromInline static let XMLDocument: JSString = "XMLDocument" - @usableFromInline static let XMLHttpRequest: JSString = "XMLHttpRequest" - @usableFromInline static let XMLHttpRequestEventTarget: JSString = "XMLHttpRequestEventTarget" - @usableFromInline static let XMLHttpRequestUpload: JSString = "XMLHttpRequestUpload" - @usableFromInline static let XPathEvaluator: JSString = "XPathEvaluator" - @usableFromInline static let XPathExpression: JSString = "XPathExpression" - @usableFromInline static let XPathResult: JSString = "XPathResult" - @usableFromInline static let XSLTProcessor: JSString = "XSLTProcessor" - @usableFromInline static let a: JSString = "a" - @usableFromInline static let aLink: JSString = "aLink" - @usableFromInline static let abbr: JSString = "abbr" - @usableFromInline static let abort: JSString = "abort" - @usableFromInline static let aborted: JSString = "aborted" - @usableFromInline static let accept: JSString = "accept" - @usableFromInline static let acceptCharset: JSString = "acceptCharset" - @usableFromInline static let accessKey: JSString = "accessKey" - @usableFromInline static let accessKeyLabel: JSString = "accessKeyLabel" - @usableFromInline static let action: JSString = "action" - @usableFromInline static let active: JSString = "active" - @usableFromInline static let activeCues: JSString = "activeCues" - @usableFromInline static let activeElement: JSString = "activeElement" - @usableFromInline static let activeSourceBuffers: JSString = "activeSourceBuffers" - @usableFromInline static let actualBoundingBoxAscent: JSString = "actualBoundingBoxAscent" - @usableFromInline static let actualBoundingBoxDescent: JSString = "actualBoundingBoxDescent" - @usableFromInline static let actualBoundingBoxLeft: JSString = "actualBoundingBoxLeft" - @usableFromInline static let actualBoundingBoxRight: JSString = "actualBoundingBoxRight" - @usableFromInline static let add: JSString = "add" - @usableFromInline static let addAll: JSString = "addAll" - @usableFromInline static let addColorStop: JSString = "addColorStop" - @usableFromInline static let addCue: JSString = "addCue" - @usableFromInline static let addEventListener: JSString = "addEventListener" - @usableFromInline static let addListener: JSString = "addListener" - @usableFromInline static let addModule: JSString = "addModule" - @usableFromInline static let addPath: JSString = "addPath" - @usableFromInline static let addSourceBuffer: JSString = "addSourceBuffer" - @usableFromInline static let addTextTrack: JSString = "addTextTrack" - @usableFromInline static let addTrack: JSString = "addTrack" - @usableFromInline static let addedNodes: JSString = "addedNodes" - @usableFromInline static let adoptNode: JSString = "adoptNode" - @usableFromInline static let advanced: JSString = "advanced" - @usableFromInline static let after: JSString = "after" - @usableFromInline static let alert: JSString = "alert" - @usableFromInline static let align: JSString = "align" - @usableFromInline static let alinkColor: JSString = "alinkColor" - @usableFromInline static let all: JSString = "all" - @usableFromInline static let allocationSize: JSString = "allocationSize" - @usableFromInline static let allow: JSString = "allow" - @usableFromInline static let allowFullscreen: JSString = "allowFullscreen" - @usableFromInline static let alpha: JSString = "alpha" - @usableFromInline static let alphaSideData: JSString = "alphaSideData" - @usableFromInline static let alphabeticBaseline: JSString = "alphabeticBaseline" - @usableFromInline static let alt: JSString = "alt" - @usableFromInline static let altKey: JSString = "altKey" - @usableFromInline static let altitudeAngle: JSString = "altitudeAngle" - @usableFromInline static let ancestorOrigins: JSString = "ancestorOrigins" - @usableFromInline static let anchors: JSString = "anchors" - @usableFromInline static let animated: JSString = "animated" - @usableFromInline static let any: JSString = "any" - @usableFromInline static let appCodeName: JSString = "appCodeName" - @usableFromInline static let appName: JSString = "appName" - @usableFromInline static let appVersion: JSString = "appVersion" - @usableFromInline static let append: JSString = "append" - @usableFromInline static let appendBuffer: JSString = "appendBuffer" - @usableFromInline static let appendChild: JSString = "appendChild" - @usableFromInline static let appendData: JSString = "appendData" - @usableFromInline static let appendWindowEnd: JSString = "appendWindowEnd" - @usableFromInline static let appendWindowStart: JSString = "appendWindowStart" - @usableFromInline static let applets: JSString = "applets" - @usableFromInline static let applyConstraints: JSString = "applyConstraints" - @usableFromInline static let arc: JSString = "arc" - @usableFromInline static let arcTo: JSString = "arcTo" - @usableFromInline static let archive: JSString = "archive" - @usableFromInline static let areas: JSString = "areas" - @usableFromInline static let ariaActiveDescendantElement: JSString = "ariaActiveDescendantElement" - @usableFromInline static let ariaAtomic: JSString = "ariaAtomic" - @usableFromInline static let ariaAutoComplete: JSString = "ariaAutoComplete" - @usableFromInline static let ariaBusy: JSString = "ariaBusy" - @usableFromInline static let ariaChecked: JSString = "ariaChecked" - @usableFromInline static let ariaColCount: JSString = "ariaColCount" - @usableFromInline static let ariaColIndex: JSString = "ariaColIndex" - @usableFromInline static let ariaColIndexText: JSString = "ariaColIndexText" - @usableFromInline static let ariaColSpan: JSString = "ariaColSpan" - @usableFromInline static let ariaControlsElements: JSString = "ariaControlsElements" - @usableFromInline static let ariaCurrent: JSString = "ariaCurrent" - @usableFromInline static let ariaDescribedByElements: JSString = "ariaDescribedByElements" - @usableFromInline static let ariaDescription: JSString = "ariaDescription" - @usableFromInline static let ariaDetailsElements: JSString = "ariaDetailsElements" - @usableFromInline static let ariaDisabled: JSString = "ariaDisabled" - @usableFromInline static let ariaErrorMessageElements: JSString = "ariaErrorMessageElements" - @usableFromInline static let ariaExpanded: JSString = "ariaExpanded" - @usableFromInline static let ariaFlowToElements: JSString = "ariaFlowToElements" - @usableFromInline static let ariaHasPopup: JSString = "ariaHasPopup" - @usableFromInline static let ariaHidden: JSString = "ariaHidden" - @usableFromInline static let ariaInvalid: JSString = "ariaInvalid" - @usableFromInline static let ariaKeyShortcuts: JSString = "ariaKeyShortcuts" - @usableFromInline static let ariaLabel: JSString = "ariaLabel" - @usableFromInline static let ariaLabelledByElements: JSString = "ariaLabelledByElements" - @usableFromInline static let ariaLevel: JSString = "ariaLevel" - @usableFromInline static let ariaLive: JSString = "ariaLive" - @usableFromInline static let ariaModal: JSString = "ariaModal" - @usableFromInline static let ariaMultiLine: JSString = "ariaMultiLine" - @usableFromInline static let ariaMultiSelectable: JSString = "ariaMultiSelectable" - @usableFromInline static let ariaOrientation: JSString = "ariaOrientation" - @usableFromInline static let ariaOwnsElements: JSString = "ariaOwnsElements" - @usableFromInline static let ariaPlaceholder: JSString = "ariaPlaceholder" - @usableFromInline static let ariaPosInSet: JSString = "ariaPosInSet" - @usableFromInline static let ariaPressed: JSString = "ariaPressed" - @usableFromInline static let ariaReadOnly: JSString = "ariaReadOnly" - @usableFromInline static let ariaRequired: JSString = "ariaRequired" - @usableFromInline static let ariaRoleDescription: JSString = "ariaRoleDescription" - @usableFromInline static let ariaRowCount: JSString = "ariaRowCount" - @usableFromInline static let ariaRowIndex: JSString = "ariaRowIndex" - @usableFromInline static let ariaRowIndexText: JSString = "ariaRowIndexText" - @usableFromInline static let ariaRowSpan: JSString = "ariaRowSpan" - @usableFromInline static let ariaSelected: JSString = "ariaSelected" - @usableFromInline static let ariaSetSize: JSString = "ariaSetSize" - @usableFromInline static let ariaSort: JSString = "ariaSort" - @usableFromInline static let ariaValueMax: JSString = "ariaValueMax" - @usableFromInline static let ariaValueMin: JSString = "ariaValueMin" - @usableFromInline static let ariaValueNow: JSString = "ariaValueNow" - @usableFromInline static let ariaValueText: JSString = "ariaValueText" - @usableFromInline static let arrayBuffer: JSString = "arrayBuffer" + @usableFromInline static let `AbortController`: JSString = "AbortController" + @usableFromInline static let `AbortSignal`: JSString = "AbortSignal" + @usableFromInline static let `AbstractRange`: JSString = "AbstractRange" + @usableFromInline static let `AddSearchProvider`: JSString = "AddSearchProvider" + @usableFromInline static let `Attr`: JSString = "Attr" + @usableFromInline static let `AudioData`: JSString = "AudioData" + @usableFromInline static let `AudioDecoder`: JSString = "AudioDecoder" + @usableFromInline static let `AudioEncoder`: JSString = "AudioEncoder" + @usableFromInline static let `AudioTrack`: JSString = "AudioTrack" + @usableFromInline static let `AudioTrackList`: JSString = "AudioTrackList" + @usableFromInline static let `BarProp`: JSString = "BarProp" + @usableFromInline static let `BeforeUnloadEvent`: JSString = "BeforeUnloadEvent" + @usableFromInline static let `Blob`: JSString = "Blob" + @usableFromInline static let `BlobEvent`: JSString = "BlobEvent" + @usableFromInline static let `BroadcastChannel`: JSString = "BroadcastChannel" + @usableFromInline static let `BufferedChangeEvent`: JSString = "BufferedChangeEvent" + @usableFromInline static let `ByteLengthQueuingStrategy`: JSString = "ByteLengthQueuingStrategy" + @usableFromInline static let `CDATASection`: JSString = "CDATASection" + @usableFromInline static let `CSSPseudoElement`: JSString = "CSSPseudoElement" + @usableFromInline static let `Cache`: JSString = "Cache" + @usableFromInline static let `CacheStorage`: JSString = "CacheStorage" + @usableFromInline static let `CanvasGradient`: JSString = "CanvasGradient" + @usableFromInline static let `CanvasPattern`: JSString = "CanvasPattern" + @usableFromInline static let `CanvasRenderingContext2D`: JSString = "CanvasRenderingContext2D" + @usableFromInline static let `CaretPosition`: JSString = "CaretPosition" + @usableFromInline static let `CharacterData`: JSString = "CharacterData" + @usableFromInline static let `CloseWatcher`: JSString = "CloseWatcher" + @usableFromInline static let `CommandEvent`: JSString = "CommandEvent" + @usableFromInline static let `Comment`: JSString = "Comment" + @usableFromInline static let `CompositionEvent`: JSString = "CompositionEvent" + @usableFromInline static let `CountQueuingStrategy`: JSString = "CountQueuingStrategy" + @usableFromInline static let `CustomElementRegistry`: JSString = "CustomElementRegistry" + @usableFromInline static let `CustomEvent`: JSString = "CustomEvent" + @usableFromInline static let `CustomStateSet`: JSString = "CustomStateSet" + @usableFromInline static let `DOMImplementation`: JSString = "DOMImplementation" + @usableFromInline static let `DOMMatrix`: JSString = "DOMMatrix" + @usableFromInline static let `DOMMatrixReadOnly`: JSString = "DOMMatrixReadOnly" + @usableFromInline static let `DOMParser`: JSString = "DOMParser" + @usableFromInline static let `DOMPoint`: JSString = "DOMPoint" + @usableFromInline static let `DOMPointReadOnly`: JSString = "DOMPointReadOnly" + @usableFromInline static let `DOMQuad`: JSString = "DOMQuad" + @usableFromInline static let `DOMRect`: JSString = "DOMRect" + @usableFromInline static let `DOMRectList`: JSString = "DOMRectList" + @usableFromInline static let `DOMRectReadOnly`: JSString = "DOMRectReadOnly" + @usableFromInline static let `DOMStringList`: JSString = "DOMStringList" + @usableFromInline static let `DOMStringMap`: JSString = "DOMStringMap" + @usableFromInline static let `DOMTokenList`: JSString = "DOMTokenList" + @usableFromInline static let `DataTransfer`: JSString = "DataTransfer" + @usableFromInline static let `DataTransferItem`: JSString = "DataTransferItem" + @usableFromInline static let `DataTransferItemList`: JSString = "DataTransferItemList" + @usableFromInline static let `DeviceChangeEvent`: JSString = "DeviceChangeEvent" + @usableFromInline static let `Document`: JSString = "Document" + @usableFromInline static let `DocumentFragment`: JSString = "DocumentFragment" + @usableFromInline static let `DocumentType`: JSString = "DocumentType" + @usableFromInline static let `DragEvent`: JSString = "DragEvent" + @usableFromInline static let `Element`: JSString = "Element" + @usableFromInline static let `ElementInternals`: JSString = "ElementInternals" + @usableFromInline static let `EncodedAudioChunk`: JSString = "EncodedAudioChunk" + @usableFromInline static let `EncodedVideoChunk`: JSString = "EncodedVideoChunk" + @usableFromInline static let `ErrorEvent`: JSString = "ErrorEvent" + @usableFromInline static let `Event`: JSString = "Event" + @usableFromInline static let `EventSource`: JSString = "EventSource" + @usableFromInline static let `EventTarget`: JSString = "EventTarget" + @usableFromInline static let `External`: JSString = "External" + @usableFromInline static let `File`: JSString = "File" + @usableFromInline static let `FileList`: JSString = "FileList" + @usableFromInline static let `FileReader`: JSString = "FileReader" + @usableFromInline static let `FocusEvent`: JSString = "FocusEvent" + @usableFromInline static let `FormData`: JSString = "FormData" + @usableFromInline static let `FormDataEvent`: JSString = "FormDataEvent" + @usableFromInline static let `HTMLAllCollection`: JSString = "HTMLAllCollection" + @usableFromInline static let `HTMLAnchorElement`: JSString = "HTMLAnchorElement" + @usableFromInline static let `HTMLAreaElement`: JSString = "HTMLAreaElement" + @usableFromInline static let `HTMLAudioElement`: JSString = "HTMLAudioElement" + @usableFromInline static let `HTMLBRElement`: JSString = "HTMLBRElement" + @usableFromInline static let `HTMLBaseElement`: JSString = "HTMLBaseElement" + @usableFromInline static let `HTMLBodyElement`: JSString = "HTMLBodyElement" + @usableFromInline static let `HTMLButtonElement`: JSString = "HTMLButtonElement" + @usableFromInline static let `HTMLCanvasElement`: JSString = "HTMLCanvasElement" + @usableFromInline static let `HTMLCollection`: JSString = "HTMLCollection" + @usableFromInline static let `HTMLDListElement`: JSString = "HTMLDListElement" + @usableFromInline static let `HTMLDataElement`: JSString = "HTMLDataElement" + @usableFromInline static let `HTMLDataListElement`: JSString = "HTMLDataListElement" + @usableFromInline static let `HTMLDetailsElement`: JSString = "HTMLDetailsElement" + @usableFromInline static let `HTMLDialogElement`: JSString = "HTMLDialogElement" + @usableFromInline static let `HTMLDirectoryElement`: JSString = "HTMLDirectoryElement" + @usableFromInline static let `HTMLDivElement`: JSString = "HTMLDivElement" + @usableFromInline static let `HTMLElement`: JSString = "HTMLElement" + @usableFromInline static let `HTMLEmbedElement`: JSString = "HTMLEmbedElement" + @usableFromInline static let `HTMLFieldSetElement`: JSString = "HTMLFieldSetElement" + @usableFromInline static let `HTMLFontElement`: JSString = "HTMLFontElement" + @usableFromInline static let `HTMLFormControlsCollection`: JSString = "HTMLFormControlsCollection" + @usableFromInline static let `HTMLFormElement`: JSString = "HTMLFormElement" + @usableFromInline static let `HTMLFrameElement`: JSString = "HTMLFrameElement" + @usableFromInline static let `HTMLFrameSetElement`: JSString = "HTMLFrameSetElement" + @usableFromInline static let `HTMLHRElement`: JSString = "HTMLHRElement" + @usableFromInline static let `HTMLHeadElement`: JSString = "HTMLHeadElement" + @usableFromInline static let `HTMLHeadingElement`: JSString = "HTMLHeadingElement" + @usableFromInline static let `HTMLHtmlElement`: JSString = "HTMLHtmlElement" + @usableFromInline static let `HTMLIFrameElement`: JSString = "HTMLIFrameElement" + @usableFromInline static let `HTMLImageElement`: JSString = "HTMLImageElement" + @usableFromInline static let `HTMLInputElement`: JSString = "HTMLInputElement" + @usableFromInline static let `HTMLLIElement`: JSString = "HTMLLIElement" + @usableFromInline static let `HTMLLabelElement`: JSString = "HTMLLabelElement" + @usableFromInline static let `HTMLLegendElement`: JSString = "HTMLLegendElement" + @usableFromInline static let `HTMLLinkElement`: JSString = "HTMLLinkElement" + @usableFromInline static let `HTMLMapElement`: JSString = "HTMLMapElement" + @usableFromInline static let `HTMLMarqueeElement`: JSString = "HTMLMarqueeElement" + @usableFromInline static let `HTMLMediaElement`: JSString = "HTMLMediaElement" + @usableFromInline static let `HTMLMenuElement`: JSString = "HTMLMenuElement" + @usableFromInline static let `HTMLMetaElement`: JSString = "HTMLMetaElement" + @usableFromInline static let `HTMLMeterElement`: JSString = "HTMLMeterElement" + @usableFromInline static let `HTMLModElement`: JSString = "HTMLModElement" + @usableFromInline static let `HTMLOListElement`: JSString = "HTMLOListElement" + @usableFromInline static let `HTMLObjectElement`: JSString = "HTMLObjectElement" + @usableFromInline static let `HTMLOptGroupElement`: JSString = "HTMLOptGroupElement" + @usableFromInline static let `HTMLOptionElement`: JSString = "HTMLOptionElement" + @usableFromInline static let `HTMLOptionsCollection`: JSString = "HTMLOptionsCollection" + @usableFromInline static let `HTMLOutputElement`: JSString = "HTMLOutputElement" + @usableFromInline static let `HTMLParagraphElement`: JSString = "HTMLParagraphElement" + @usableFromInline static let `HTMLParamElement`: JSString = "HTMLParamElement" + @usableFromInline static let `HTMLPictureElement`: JSString = "HTMLPictureElement" + @usableFromInline static let `HTMLPreElement`: JSString = "HTMLPreElement" + @usableFromInline static let `HTMLProgressElement`: JSString = "HTMLProgressElement" + @usableFromInline static let `HTMLQuoteElement`: JSString = "HTMLQuoteElement" + @usableFromInline static let `HTMLScriptElement`: JSString = "HTMLScriptElement" + @usableFromInline static let `HTMLSelectElement`: JSString = "HTMLSelectElement" + @usableFromInline static let `HTMLSlotElement`: JSString = "HTMLSlotElement" + @usableFromInline static let `HTMLSourceElement`: JSString = "HTMLSourceElement" + @usableFromInline static let `HTMLSpanElement`: JSString = "HTMLSpanElement" + @usableFromInline static let `HTMLStyleElement`: JSString = "HTMLStyleElement" + @usableFromInline static let `HTMLTableCaptionElement`: JSString = "HTMLTableCaptionElement" + @usableFromInline static let `HTMLTableCellElement`: JSString = "HTMLTableCellElement" + @usableFromInline static let `HTMLTableColElement`: JSString = "HTMLTableColElement" + @usableFromInline static let `HTMLTableElement`: JSString = "HTMLTableElement" + @usableFromInline static let `HTMLTableRowElement`: JSString = "HTMLTableRowElement" + @usableFromInline static let `HTMLTableSectionElement`: JSString = "HTMLTableSectionElement" + @usableFromInline static let `HTMLTemplateElement`: JSString = "HTMLTemplateElement" + @usableFromInline static let `HTMLTextAreaElement`: JSString = "HTMLTextAreaElement" + @usableFromInline static let `HTMLTimeElement`: JSString = "HTMLTimeElement" + @usableFromInline static let `HTMLTitleElement`: JSString = "HTMLTitleElement" + @usableFromInline static let `HTMLTrackElement`: JSString = "HTMLTrackElement" + @usableFromInline static let `HTMLUListElement`: JSString = "HTMLUListElement" + @usableFromInline static let `HTMLUnknownElement`: JSString = "HTMLUnknownElement" + @usableFromInline static let `HTMLVideoElement`: JSString = "HTMLVideoElement" + @usableFromInline static let `HashChangeEvent`: JSString = "HashChangeEvent" + @usableFromInline static let `Headers`: JSString = "Headers" + @usableFromInline static let `History`: JSString = "History" + @usableFromInline static let `ImageBitmap`: JSString = "ImageBitmap" + @usableFromInline static let `ImageBitmapRenderingContext`: JSString = "ImageBitmapRenderingContext" + @usableFromInline static let `ImageData`: JSString = "ImageData" + @usableFromInline static let `ImageDecoder`: JSString = "ImageDecoder" + @usableFromInline static let `ImageTrack`: JSString = "ImageTrack" + @usableFromInline static let `ImageTrackList`: JSString = "ImageTrackList" + @usableFromInline static let `InputDeviceInfo`: JSString = "InputDeviceInfo" + @usableFromInline static let `InputEvent`: JSString = "InputEvent" + @usableFromInline static let `IsSearchProviderInstalled`: JSString = "IsSearchProviderInstalled" + @usableFromInline static let `KeyboardEvent`: JSString = "KeyboardEvent" + @usableFromInline static let `Location`: JSString = "Location" + @usableFromInline static let `ManagedMediaSource`: JSString = "ManagedMediaSource" + @usableFromInline static let `ManagedSourceBuffer`: JSString = "ManagedSourceBuffer" + @usableFromInline static let `MathMLElement`: JSString = "MathMLElement" + @usableFromInline static let `MediaDeviceInfo`: JSString = "MediaDeviceInfo" + @usableFromInline static let `MediaDevices`: JSString = "MediaDevices" + @usableFromInline static let `MediaError`: JSString = "MediaError" + @usableFromInline static let `MediaQueryList`: JSString = "MediaQueryList" + @usableFromInline static let `MediaQueryListEvent`: JSString = "MediaQueryListEvent" + @usableFromInline static let `MediaRecorder`: JSString = "MediaRecorder" + @usableFromInline static let `MediaSource`: JSString = "MediaSource" + @usableFromInline static let `MediaSourceHandle`: JSString = "MediaSourceHandle" + @usableFromInline static let `MediaStream`: JSString = "MediaStream" + @usableFromInline static let `MediaStreamTrack`: JSString = "MediaStreamTrack" + @usableFromInline static let `MediaStreamTrackEvent`: JSString = "MediaStreamTrackEvent" + @usableFromInline static let `MessageChannel`: JSString = "MessageChannel" + @usableFromInline static let `MessageEvent`: JSString = "MessageEvent" + @usableFromInline static let `MessagePort`: JSString = "MessagePort" + @usableFromInline static let `MimeType`: JSString = "MimeType" + @usableFromInline static let `MimeTypeArray`: JSString = "MimeTypeArray" + @usableFromInline static let `MouseEvent`: JSString = "MouseEvent" + @usableFromInline static let `MutationObserver`: JSString = "MutationObserver" + @usableFromInline static let `MutationRecord`: JSString = "MutationRecord" + @usableFromInline static let `NamedNodeMap`: JSString = "NamedNodeMap" + @usableFromInline static let `NavigateEvent`: JSString = "NavigateEvent" + @usableFromInline static let `Navigation`: JSString = "Navigation" + @usableFromInline static let `NavigationActivation`: JSString = "NavigationActivation" + @usableFromInline static let `NavigationCurrentEntryChangeEvent`: JSString = "NavigationCurrentEntryChangeEvent" + @usableFromInline static let `NavigationDestination`: JSString = "NavigationDestination" + @usableFromInline static let `NavigationHistoryEntry`: JSString = "NavigationHistoryEntry" + @usableFromInline static let `NavigationPreloadManager`: JSString = "NavigationPreloadManager" + @usableFromInline static let `NavigationTransition`: JSString = "NavigationTransition" + @usableFromInline static let `Navigator`: JSString = "Navigator" + @usableFromInline static let `Node`: JSString = "Node" + @usableFromInline static let `NodeIterator`: JSString = "NodeIterator" + @usableFromInline static let `NodeList`: JSString = "NodeList" + @usableFromInline static let `NotRestoredReasonDetails`: JSString = "NotRestoredReasonDetails" + @usableFromInline static let `NotRestoredReasons`: JSString = "NotRestoredReasons" + @usableFromInline static let `Object`: JSString = "Object" + @usableFromInline static let `OffscreenCanvas`: JSString = "OffscreenCanvas" + @usableFromInline static let `OffscreenCanvasRenderingContext2D`: JSString = "OffscreenCanvasRenderingContext2D" + @usableFromInline static let `OverconstrainedError`: JSString = "OverconstrainedError" + @usableFromInline static let `PageRevealEvent`: JSString = "PageRevealEvent" + @usableFromInline static let `PageSwapEvent`: JSString = "PageSwapEvent" + @usableFromInline static let `PageTransitionEvent`: JSString = "PageTransitionEvent" + @usableFromInline static let `Path2D`: JSString = "Path2D" + @usableFromInline static let `Performance`: JSString = "Performance" + @usableFromInline static let `PerformanceEntry`: JSString = "PerformanceEntry" + @usableFromInline static let `PerformanceObserver`: JSString = "PerformanceObserver" + @usableFromInline static let `PerformanceObserverEntryList`: JSString = "PerformanceObserverEntryList" + @usableFromInline static let `PermissionStatus`: JSString = "PermissionStatus" + @usableFromInline static let `Permissions`: JSString = "Permissions" + @usableFromInline static let `Plugin`: JSString = "Plugin" + @usableFromInline static let `PluginArray`: JSString = "PluginArray" + @usableFromInline static let `PopStateEvent`: JSString = "PopStateEvent" + @usableFromInline static let `ProcessingInstruction`: JSString = "ProcessingInstruction" + @usableFromInline static let `ProgressEvent`: JSString = "ProgressEvent" + @usableFromInline static let `PromiseRejectionEvent`: JSString = "PromiseRejectionEvent" + @usableFromInline static let `RadioNodeList`: JSString = "RadioNodeList" + @usableFromInline static let `Range`: JSString = "Range" + @usableFromInline static let `ReadableByteStreamController`: JSString = "ReadableByteStreamController" + @usableFromInline static let `ReadableStream`: JSString = "ReadableStream" + @usableFromInline static let `ReadableStreamBYOBReader`: JSString = "ReadableStreamBYOBReader" + @usableFromInline static let `ReadableStreamBYOBRequest`: JSString = "ReadableStreamBYOBRequest" + @usableFromInline static let `ReadableStreamDefaultController`: JSString = "ReadableStreamDefaultController" + @usableFromInline static let `ReadableStreamDefaultReader`: JSString = "ReadableStreamDefaultReader" + @usableFromInline static let `Request`: JSString = "Request" + @usableFromInline static let `Response`: JSString = "Response" + @usableFromInline static let `Screen`: JSString = "Screen" + @usableFromInline static let `ServiceWorker`: JSString = "ServiceWorker" + @usableFromInline static let `ServiceWorkerContainer`: JSString = "ServiceWorkerContainer" + @usableFromInline static let `ServiceWorkerRegistration`: JSString = "ServiceWorkerRegistration" + @usableFromInline static let `ShadowRoot`: JSString = "ShadowRoot" + @usableFromInline static let `SharedWorker`: JSString = "SharedWorker" + @usableFromInline static let `SourceBuffer`: JSString = "SourceBuffer" + @usableFromInline static let `SourceBufferList`: JSString = "SourceBufferList" + @usableFromInline static let `StaticRange`: JSString = "StaticRange" + @usableFromInline static let `Storage`: JSString = "Storage" + @usableFromInline static let `StorageEvent`: JSString = "StorageEvent" + @usableFromInline static let `SubmitEvent`: JSString = "SubmitEvent" + @usableFromInline static let `Text`: JSString = "Text" + @usableFromInline static let `TextEvent`: JSString = "TextEvent" + @usableFromInline static let `TextMetrics`: JSString = "TextMetrics" + @usableFromInline static let `TextTrack`: JSString = "TextTrack" + @usableFromInline static let `TextTrackCue`: JSString = "TextTrackCue" + @usableFromInline static let `TextTrackCueList`: JSString = "TextTrackCueList" + @usableFromInline static let `TextTrackList`: JSString = "TextTrackList" + @usableFromInline static let `TimeRanges`: JSString = "TimeRanges" + @usableFromInline static let `ToggleEvent`: JSString = "ToggleEvent" + @usableFromInline static let `Touch`: JSString = "Touch" + @usableFromInline static let `TouchEvent`: JSString = "TouchEvent" + @usableFromInline static let `TouchList`: JSString = "TouchList" + @usableFromInline static let `TrackEvent`: JSString = "TrackEvent" + @usableFromInline static let `TransformStream`: JSString = "TransformStream" + @usableFromInline static let `TransformStreamDefaultController`: JSString = "TransformStreamDefaultController" + @usableFromInline static let `TreeWalker`: JSString = "TreeWalker" + @usableFromInline static let `TrustedHTML`: JSString = "TrustedHTML" + @usableFromInline static let `TrustedScript`: JSString = "TrustedScript" + @usableFromInline static let `TrustedScriptURL`: JSString = "TrustedScriptURL" + @usableFromInline static let `TrustedTypePolicy`: JSString = "TrustedTypePolicy" + @usableFromInline static let `TrustedTypePolicyFactory`: JSString = "TrustedTypePolicyFactory" + @usableFromInline static let `UIEvent`: JSString = "UIEvent" + @usableFromInline static let `URL`: JSString = "URL" + @usableFromInline static let `URLPattern`: JSString = "URLPattern" + @usableFromInline static let `UserActivation`: JSString = "UserActivation" + @usableFromInline static let `ValidityState`: JSString = "ValidityState" + @usableFromInline static let `VideoColorSpace`: JSString = "VideoColorSpace" + @usableFromInline static let `VideoDecoder`: JSString = "VideoDecoder" + @usableFromInline static let `VideoEncoder`: JSString = "VideoEncoder" + @usableFromInline static let `VideoFrame`: JSString = "VideoFrame" + @usableFromInline static let `VideoTrack`: JSString = "VideoTrack" + @usableFromInline static let `VideoTrackList`: JSString = "VideoTrackList" + @usableFromInline static let `ViewTransition`: JSString = "ViewTransition" + @usableFromInline static let `VisibilityStateEntry`: JSString = "VisibilityStateEntry" + @usableFromInline static let `VisualViewport`: JSString = "VisualViewport" + @usableFromInline static let `WheelEvent`: JSString = "WheelEvent" + @usableFromInline static let `Window`: JSString = "Window" + @usableFromInline static let `Worker`: JSString = "Worker" + @usableFromInline static let `Worklet`: JSString = "Worklet" + @usableFromInline static let `WritableStream`: JSString = "WritableStream" + @usableFromInline static let `WritableStreamDefaultController`: JSString = "WritableStreamDefaultController" + @usableFromInline static let `WritableStreamDefaultWriter`: JSString = "WritableStreamDefaultWriter" + @usableFromInline static let `XMLDocument`: JSString = "XMLDocument" + @usableFromInline static let `XMLHttpRequest`: JSString = "XMLHttpRequest" + @usableFromInline static let `XMLHttpRequestEventTarget`: JSString = "XMLHttpRequestEventTarget" + @usableFromInline static let `XMLHttpRequestUpload`: JSString = "XMLHttpRequestUpload" + @usableFromInline static let `XMLSerializer`: JSString = "XMLSerializer" + @usableFromInline static let `XPathEvaluator`: JSString = "XPathEvaluator" + @usableFromInline static let `XPathExpression`: JSString = "XPathExpression" + @usableFromInline static let `XPathResult`: JSString = "XPathResult" + @usableFromInline static let `XSLTProcessor`: JSString = "XSLTProcessor" + @usableFromInline static let `a`: JSString = "a" + @usableFromInline static let `aLink`: JSString = "aLink" + @usableFromInline static let `abbr`: JSString = "abbr" + @usableFromInline static let `abort`: JSString = "abort" + @usableFromInline static let `aborted`: JSString = "aborted" + @usableFromInline static let `accept`: JSString = "accept" + @usableFromInline static let `acceptCharset`: JSString = "acceptCharset" + @usableFromInline static let `accessKey`: JSString = "accessKey" + @usableFromInline static let `accessKeyLabel`: JSString = "accessKeyLabel" + @usableFromInline static let `action`: JSString = "action" + @usableFromInline static let `activation`: JSString = "activation" + @usableFromInline static let `active`: JSString = "active" + @usableFromInline static let `activeCues`: JSString = "activeCues" + @usableFromInline static let `activeElement`: JSString = "activeElement" + @usableFromInline static let `activeSourceBuffers`: JSString = "activeSourceBuffers" + @usableFromInline static let `actualBoundingBoxAscent`: JSString = "actualBoundingBoxAscent" + @usableFromInline static let `actualBoundingBoxDescent`: JSString = "actualBoundingBoxDescent" + @usableFromInline static let `actualBoundingBoxLeft`: JSString = "actualBoundingBoxLeft" + @usableFromInline static let `actualBoundingBoxRight`: JSString = "actualBoundingBoxRight" + @usableFromInline static let `add`: JSString = "add" + @usableFromInline static let `addAll`: JSString = "addAll" + @usableFromInline static let `addColorStop`: JSString = "addColorStop" + @usableFromInline static let `addCue`: JSString = "addCue" + @usableFromInline static let `addEventListener`: JSString = "addEventListener" + @usableFromInline static let `addListener`: JSString = "addListener" + @usableFromInline static let `addModule`: JSString = "addModule" + @usableFromInline static let `addPath`: JSString = "addPath" + @usableFromInline static let `addSourceBuffer`: JSString = "addSourceBuffer" + @usableFromInline static let `addTextTrack`: JSString = "addTextTrack" + @usableFromInline static let `addTrack`: JSString = "addTrack" + @usableFromInline static let `addedNodes`: JSString = "addedNodes" + @usableFromInline static let `addedRanges`: JSString = "addedRanges" + @usableFromInline static let `adoptNode`: JSString = "adoptNode" + @usableFromInline static let `advanced`: JSString = "advanced" + @usableFromInline static let `after`: JSString = "after" + @usableFromInline static let `alert`: JSString = "alert" + @usableFromInline static let `align`: JSString = "align" + @usableFromInline static let `alinkColor`: JSString = "alinkColor" + @usableFromInline static let `all`: JSString = "all" + @usableFromInline static let `allocationSize`: JSString = "allocationSize" + @usableFromInline static let `allow`: JSString = "allow" + @usableFromInline static let `allowFullscreen`: JSString = "allowFullscreen" + @usableFromInline static let `alpha`: JSString = "alpha" + @usableFromInline static let `alphaSideData`: JSString = "alphaSideData" + @usableFromInline static let `alphabeticBaseline`: JSString = "alphabeticBaseline" + @usableFromInline static let `alt`: JSString = "alt" + @usableFromInline static let `altKey`: JSString = "altKey" + @usableFromInline static let `altitudeAngle`: JSString = "altitudeAngle" + @usableFromInline static let `ancestorOrigins`: JSString = "ancestorOrigins" + @usableFromInline static let `anchors`: JSString = "anchors" + @usableFromInline static let `animated`: JSString = "animated" + @usableFromInline static let `any`: JSString = "any" + @usableFromInline static let `appCodeName`: JSString = "appCodeName" + @usableFromInline static let `appName`: JSString = "appName" + @usableFromInline static let `appVersion`: JSString = "appVersion" + @usableFromInline static let `append`: JSString = "append" + @usableFromInline static let `appendBuffer`: JSString = "appendBuffer" + @usableFromInline static let `appendChild`: JSString = "appendChild" + @usableFromInline static let `appendData`: JSString = "appendData" + @usableFromInline static let `appendWindowEnd`: JSString = "appendWindowEnd" + @usableFromInline static let `appendWindowStart`: JSString = "appendWindowStart" + @usableFromInline static let `applets`: JSString = "applets" + @usableFromInline static let `applyConstraints`: JSString = "applyConstraints" + @usableFromInline static let `arc`: JSString = "arc" + @usableFromInline static let `arcTo`: JSString = "arcTo" + @usableFromInline static let `archive`: JSString = "archive" + @usableFromInline static let `areas`: JSString = "areas" + @usableFromInline static let `ariaActiveDescendantElement`: JSString = "ariaActiveDescendantElement" + @usableFromInline static let `ariaAtomic`: JSString = "ariaAtomic" + @usableFromInline static let `ariaAutoComplete`: JSString = "ariaAutoComplete" + @usableFromInline static let `ariaBrailleLabel`: JSString = "ariaBrailleLabel" + @usableFromInline static let `ariaBrailleRoleDescription`: JSString = "ariaBrailleRoleDescription" + @usableFromInline static let `ariaBusy`: JSString = "ariaBusy" + @usableFromInline static let `ariaChecked`: JSString = "ariaChecked" + @usableFromInline static let `ariaColCount`: JSString = "ariaColCount" + @usableFromInline static let `ariaColIndex`: JSString = "ariaColIndex" + @usableFromInline static let `ariaColIndexText`: JSString = "ariaColIndexText" + @usableFromInline static let `ariaColSpan`: JSString = "ariaColSpan" + @usableFromInline static let `ariaControlsElements`: JSString = "ariaControlsElements" + @usableFromInline static let `ariaCurrent`: JSString = "ariaCurrent" + @usableFromInline static let `ariaDescribedByElements`: JSString = "ariaDescribedByElements" + @usableFromInline static let `ariaDescription`: JSString = "ariaDescription" + @usableFromInline static let `ariaDetailsElements`: JSString = "ariaDetailsElements" + @usableFromInline static let `ariaDisabled`: JSString = "ariaDisabled" + @usableFromInline static let `ariaErrorMessageElements`: JSString = "ariaErrorMessageElements" + @usableFromInline static let `ariaExpanded`: JSString = "ariaExpanded" + @usableFromInline static let `ariaFlowToElements`: JSString = "ariaFlowToElements" + @usableFromInline static let `ariaHasPopup`: JSString = "ariaHasPopup" + @usableFromInline static let `ariaHidden`: JSString = "ariaHidden" + @usableFromInline static let `ariaInvalid`: JSString = "ariaInvalid" + @usableFromInline static let `ariaKeyShortcuts`: JSString = "ariaKeyShortcuts" + @usableFromInline static let `ariaLabel`: JSString = "ariaLabel" + @usableFromInline static let `ariaLabelledByElements`: JSString = "ariaLabelledByElements" + @usableFromInline static let `ariaLevel`: JSString = "ariaLevel" + @usableFromInline static let `ariaLive`: JSString = "ariaLive" + @usableFromInline static let `ariaModal`: JSString = "ariaModal" + @usableFromInline static let `ariaMultiLine`: JSString = "ariaMultiLine" + @usableFromInline static let `ariaMultiSelectable`: JSString = "ariaMultiSelectable" + @usableFromInline static let `ariaOrientation`: JSString = "ariaOrientation" + @usableFromInline static let `ariaOwnsElements`: JSString = "ariaOwnsElements" + @usableFromInline static let `ariaPlaceholder`: JSString = "ariaPlaceholder" + @usableFromInline static let `ariaPosInSet`: JSString = "ariaPosInSet" + @usableFromInline static let `ariaPressed`: JSString = "ariaPressed" + @usableFromInline static let `ariaReadOnly`: JSString = "ariaReadOnly" + @usableFromInline static let `ariaRelevant`: JSString = "ariaRelevant" + @usableFromInline static let `ariaRequired`: JSString = "ariaRequired" + @usableFromInline static let `ariaRoleDescription`: JSString = "ariaRoleDescription" + @usableFromInline static let `ariaRowCount`: JSString = "ariaRowCount" + @usableFromInline static let `ariaRowIndex`: JSString = "ariaRowIndex" + @usableFromInline static let `ariaRowIndexText`: JSString = "ariaRowIndexText" + @usableFromInline static let `ariaRowSpan`: JSString = "ariaRowSpan" + @usableFromInline static let `ariaSelected`: JSString = "ariaSelected" + @usableFromInline static let `ariaSetSize`: JSString = "ariaSetSize" + @usableFromInline static let `ariaSort`: JSString = "ariaSort" + @usableFromInline static let `ariaValueMax`: JSString = "ariaValueMax" + @usableFromInline static let `ariaValueMin`: JSString = "ariaValueMin" + @usableFromInline static let `ariaValueNow`: JSString = "ariaValueNow" + @usableFromInline static let `ariaValueText`: JSString = "ariaValueText" + @usableFromInline static let `arrayBuffer`: JSString = "arrayBuffer" @usableFromInline static let `as`: JSString = "as" - @usableFromInline static let aspectRatio: JSString = "aspectRatio" - @usableFromInline static let assign: JSString = "assign" - @usableFromInline static let assignedElements: JSString = "assignedElements" - @usableFromInline static let assignedNodes: JSString = "assignedNodes" - @usableFromInline static let assignedSlot: JSString = "assignedSlot" - @usableFromInline static let async: JSString = "async" - @usableFromInline static let atob: JSString = "atob" - @usableFromInline static let attachInternals: JSString = "attachInternals" - @usableFromInline static let attachShadow: JSString = "attachShadow" - @usableFromInline static let attrChange: JSString = "attrChange" - @usableFromInline static let attrName: JSString = "attrName" - @usableFromInline static let attributeFilter: JSString = "attributeFilter" - @usableFromInline static let attributeName: JSString = "attributeName" - @usableFromInline static let attributeNamespace: JSString = "attributeNamespace" - @usableFromInline static let attributeOldValue: JSString = "attributeOldValue" - @usableFromInline static let attributes: JSString = "attributes" - @usableFromInline static let audio: JSString = "audio" - @usableFromInline static let audioBitrateMode: JSString = "audioBitrateMode" - @usableFromInline static let audioBitsPerSecond: JSString = "audioBitsPerSecond" - @usableFromInline static let audioTracks: JSString = "audioTracks" - @usableFromInline static let autoAllocateChunkSize: JSString = "autoAllocateChunkSize" - @usableFromInline static let autoGainControl: JSString = "autoGainControl" - @usableFromInline static let autocapitalize: JSString = "autocapitalize" - @usableFromInline static let autocomplete: JSString = "autocomplete" - @usableFromInline static let autofocus: JSString = "autofocus" - @usableFromInline static let autoplay: JSString = "autoplay" - @usableFromInline static let availHeight: JSString = "availHeight" - @usableFromInline static let availWidth: JSString = "availWidth" - @usableFromInline static let axis: JSString = "axis" - @usableFromInline static let azimuthAngle: JSString = "azimuthAngle" - @usableFromInline static let b: JSString = "b" - @usableFromInline static let back: JSString = "back" - @usableFromInline static let background: JSString = "background" - @usableFromInline static let badInput: JSString = "badInput" - @usableFromInline static let baseURI: JSString = "baseURI" - @usableFromInline static let before: JSString = "before" - @usableFromInline static let beginPath: JSString = "beginPath" - @usableFromInline static let behavior: JSString = "behavior" - @usableFromInline static let bezierCurveTo: JSString = "bezierCurveTo" - @usableFromInline static let bgColor: JSString = "bgColor" - @usableFromInline static let bitrate: JSString = "bitrate" - @usableFromInline static let bitrateMode: JSString = "bitrateMode" - @usableFromInline static let bitsPerSecond: JSString = "bitsPerSecond" - @usableFromInline static let blob: JSString = "blob" - @usableFromInline static let block: JSString = "block" - @usableFromInline static let blocking: JSString = "blocking" - @usableFromInline static let blur: JSString = "blur" - @usableFromInline static let body: JSString = "body" - @usableFromInline static let bodyUsed: JSString = "bodyUsed" - @usableFromInline static let booleanValue: JSString = "booleanValue" - @usableFromInline static let border: JSString = "border" - @usableFromInline static let bottom: JSString = "bottom" - @usableFromInline static let box: JSString = "box" - @usableFromInline static let btoa: JSString = "btoa" - @usableFromInline static let bubbles: JSString = "bubbles" - @usableFromInline static let buffered: JSString = "buffered" - @usableFromInline static let button: JSString = "button" - @usableFromInline static let buttons: JSString = "buttons" - @usableFromInline static let byobRequest: JSString = "byobRequest" - @usableFromInline static let byteLength: JSString = "byteLength" - @usableFromInline static let c: JSString = "c" - @usableFromInline static let cache: JSString = "cache" - @usableFromInline static let cacheName: JSString = "cacheName" - @usableFromInline static let caches: JSString = "caches" - @usableFromInline static let canConstructInDedicatedWorker: JSString = "canConstructInDedicatedWorker" - @usableFromInline static let canGoBack: JSString = "canGoBack" - @usableFromInline static let canGoForward: JSString = "canGoForward" - @usableFromInline static let canIntercept: JSString = "canIntercept" - @usableFromInline static let canPlayType: JSString = "canPlayType" - @usableFromInline static let cancel: JSString = "cancel" - @usableFromInline static let cancelAnimationFrame: JSString = "cancelAnimationFrame" - @usableFromInline static let cancelBubble: JSString = "cancelBubble" - @usableFromInline static let cancelable: JSString = "cancelable" - @usableFromInline static let canvas: JSString = "canvas" - @usableFromInline static let caption: JSString = "caption" - @usableFromInline static let capture: JSString = "capture" - @usableFromInline static let captureEvents: JSString = "captureEvents" - @usableFromInline static let caretPositionFromPoint: JSString = "caretPositionFromPoint" - @usableFromInline static let cellIndex: JSString = "cellIndex" - @usableFromInline static let cellPadding: JSString = "cellPadding" - @usableFromInline static let cellSpacing: JSString = "cellSpacing" - @usableFromInline static let cells: JSString = "cells" - @usableFromInline static let ch: JSString = "ch" - @usableFromInline static let chOff: JSString = "chOff" - @usableFromInline static let changeType: JSString = "changeType" - @usableFromInline static let changedTouches: JSString = "changedTouches" - @usableFromInline static let channelCount: JSString = "channelCount" - @usableFromInline static let charCode: JSString = "charCode" - @usableFromInline static let characterData: JSString = "characterData" - @usableFromInline static let characterDataOldValue: JSString = "characterDataOldValue" - @usableFromInline static let characterSet: JSString = "characterSet" - @usableFromInline static let charset: JSString = "charset" - @usableFromInline static let checkOpacity: JSString = "checkOpacity" - @usableFromInline static let checkValidity: JSString = "checkValidity" - @usableFromInline static let checkVisibility: JSString = "checkVisibility" - @usableFromInline static let checkVisibilityCSS: JSString = "checkVisibilityCSS" - @usableFromInline static let checked: JSString = "checked" - @usableFromInline static let childElementCount: JSString = "childElementCount" - @usableFromInline static let childList: JSString = "childList" - @usableFromInline static let childNodes: JSString = "childNodes" - @usableFromInline static let children: JSString = "children" - @usableFromInline static let cite: JSString = "cite" - @usableFromInline static let classList: JSString = "classList" - @usableFromInline static let className: JSString = "className" - @usableFromInline static let clear: JSString = "clear" - @usableFromInline static let clearData: JSString = "clearData" - @usableFromInline static let clearInterval: JSString = "clearInterval" - @usableFromInline static let clearLiveSeekableRange: JSString = "clearLiveSeekableRange" - @usableFromInline static let clearParameters: JSString = "clearParameters" - @usableFromInline static let clearRect: JSString = "clearRect" - @usableFromInline static let clearTimeout: JSString = "clearTimeout" - @usableFromInline static let click: JSString = "click" - @usableFromInline static let clientHeight: JSString = "clientHeight" - @usableFromInline static let clientId: JSString = "clientId" - @usableFromInline static let clientInformation: JSString = "clientInformation" - @usableFromInline static let clientLeft: JSString = "clientLeft" - @usableFromInline static let clientTop: JSString = "clientTop" - @usableFromInline static let clientWidth: JSString = "clientWidth" - @usableFromInline static let clientX: JSString = "clientX" - @usableFromInline static let clientY: JSString = "clientY" - @usableFromInline static let clip: JSString = "clip" - @usableFromInline static let clone: JSString = "clone" - @usableFromInline static let cloneContents: JSString = "cloneContents" - @usableFromInline static let cloneNode: JSString = "cloneNode" - @usableFromInline static let cloneRange: JSString = "cloneRange" - @usableFromInline static let close: JSString = "close" - @usableFromInline static let closePath: JSString = "closePath" - @usableFromInline static let closed: JSString = "closed" - @usableFromInline static let closest: JSString = "closest" - @usableFromInline static let code: JSString = "code" - @usableFromInline static let codeBase: JSString = "codeBase" - @usableFromInline static let codeType: JSString = "codeType" - @usableFromInline static let codec: JSString = "codec" - @usableFromInline static let codedHeight: JSString = "codedHeight" - @usableFromInline static let codedRect: JSString = "codedRect" - @usableFromInline static let codedWidth: JSString = "codedWidth" - @usableFromInline static let colSpan: JSString = "colSpan" - @usableFromInline static let collapse: JSString = "collapse" - @usableFromInline static let collapsed: JSString = "collapsed" - @usableFromInline static let colno: JSString = "colno" - @usableFromInline static let color: JSString = "color" - @usableFromInline static let colorDepth: JSString = "colorDepth" - @usableFromInline static let colorSpace: JSString = "colorSpace" - @usableFromInline static let colorSpaceConversion: JSString = "colorSpaceConversion" - @usableFromInline static let cols: JSString = "cols" - @usableFromInline static let commit: JSString = "commit" - @usableFromInline static let committed: JSString = "committed" - @usableFromInline static let commonAncestorContainer: JSString = "commonAncestorContainer" - @usableFromInline static let compact: JSString = "compact" - @usableFromInline static let compareBoundaryPoints: JSString = "compareBoundaryPoints" - @usableFromInline static let compareDocumentPosition: JSString = "compareDocumentPosition" - @usableFromInline static let comparePoint: JSString = "comparePoint" - @usableFromInline static let compatMode: JSString = "compatMode" - @usableFromInline static let complete: JSString = "complete" - @usableFromInline static let completeFramesOnly: JSString = "completeFramesOnly" - @usableFromInline static let completed: JSString = "completed" - @usableFromInline static let composed: JSString = "composed" - @usableFromInline static let composedPath: JSString = "composedPath" - @usableFromInline static let config: JSString = "config" - @usableFromInline static let configure: JSString = "configure" - @usableFromInline static let confirm: JSString = "confirm" - @usableFromInline static let constraint: JSString = "constraint" - @usableFromInline static let contains: JSString = "contains" - @usableFromInline static let content: JSString = "content" - @usableFromInline static let contentDocument: JSString = "contentDocument" - @usableFromInline static let contentEditable: JSString = "contentEditable" - @usableFromInline static let contentType: JSString = "contentType" - @usableFromInline static let contentWindow: JSString = "contentWindow" - @usableFromInline static let control: JSString = "control" - @usableFromInline static let controller: JSString = "controller" - @usableFromInline static let controls: JSString = "controls" - @usableFromInline static let convertPointFromNode: JSString = "convertPointFromNode" - @usableFromInline static let convertQuadFromNode: JSString = "convertQuadFromNode" - @usableFromInline static let convertRectFromNode: JSString = "convertRectFromNode" - @usableFromInline static let convertToBlob: JSString = "convertToBlob" - @usableFromInline static let cookie: JSString = "cookie" - @usableFromInline static let cookieEnabled: JSString = "cookieEnabled" - @usableFromInline static let coords: JSString = "coords" - @usableFromInline static let copyTo: JSString = "copyTo" - @usableFromInline static let createAttribute: JSString = "createAttribute" - @usableFromInline static let createAttributeNS: JSString = "createAttributeNS" - @usableFromInline static let createCDATASection: JSString = "createCDATASection" - @usableFromInline static let createCaption: JSString = "createCaption" - @usableFromInline static let createComment: JSString = "createComment" - @usableFromInline static let createConicGradient: JSString = "createConicGradient" - @usableFromInline static let createDocument: JSString = "createDocument" - @usableFromInline static let createDocumentFragment: JSString = "createDocumentFragment" - @usableFromInline static let createDocumentType: JSString = "createDocumentType" - @usableFromInline static let createElement: JSString = "createElement" - @usableFromInline static let createElementNS: JSString = "createElementNS" - @usableFromInline static let createEvent: JSString = "createEvent" - @usableFromInline static let createHTMLDocument: JSString = "createHTMLDocument" - @usableFromInline static let createImageBitmap: JSString = "createImageBitmap" - @usableFromInline static let createImageData: JSString = "createImageData" - @usableFromInline static let createLinearGradient: JSString = "createLinearGradient" - @usableFromInline static let createObjectURL: JSString = "createObjectURL" - @usableFromInline static let createPattern: JSString = "createPattern" - @usableFromInline static let createProcessingInstruction: JSString = "createProcessingInstruction" - @usableFromInline static let createRadialGradient: JSString = "createRadialGradient" - @usableFromInline static let createRange: JSString = "createRange" - @usableFromInline static let createTBody: JSString = "createTBody" - @usableFromInline static let createTFoot: JSString = "createTFoot" - @usableFromInline static let createTHead: JSString = "createTHead" - @usableFromInline static let createTextNode: JSString = "createTextNode" - @usableFromInline static let credentials: JSString = "credentials" - @usableFromInline static let crossOrigin: JSString = "crossOrigin" - @usableFromInline static let crossOriginIsolated: JSString = "crossOriginIsolated" - @usableFromInline static let ctrlKey: JSString = "ctrlKey" - @usableFromInline static let cues: JSString = "cues" - @usableFromInline static let currentEntry: JSString = "currentEntry" - @usableFromInline static let currentNode: JSString = "currentNode" - @usableFromInline static let currentScript: JSString = "currentScript" - @usableFromInline static let currentSrc: JSString = "currentSrc" - @usableFromInline static let currentTarget: JSString = "currentTarget" - @usableFromInline static let currentTime: JSString = "currentTime" - @usableFromInline static let customElements: JSString = "customElements" - @usableFromInline static let customError: JSString = "customError" - @usableFromInline static let d: JSString = "d" - @usableFromInline static let data: JSString = "data" - @usableFromInline static let dataTransfer: JSString = "dataTransfer" - @usableFromInline static let dataset: JSString = "dataset" - @usableFromInline static let dateTime: JSString = "dateTime" - @usableFromInline static let declare: JSString = "declare" - @usableFromInline static let decode: JSString = "decode" - @usableFromInline static let decodeQueueSize: JSString = "decodeQueueSize" - @usableFromInline static let decoderConfig: JSString = "decoderConfig" - @usableFromInline static let decoding: JSString = "decoding" + @usableFromInline static let `aspectRatio`: JSString = "aspectRatio" + @usableFromInline static let `assign`: JSString = "assign" + @usableFromInline static let `assignedElements`: JSString = "assignedElements" + @usableFromInline static let `assignedNodes`: JSString = "assignedNodes" + @usableFromInline static let `assignedSlot`: JSString = "assignedSlot" + @usableFromInline static let `async`: JSString = "async" + @usableFromInline static let `atob`: JSString = "atob" + @usableFromInline static let `attachInternals`: JSString = "attachInternals" + @usableFromInline static let `attachShadow`: JSString = "attachShadow" + @usableFromInline static let `attributeFilter`: JSString = "attributeFilter" + @usableFromInline static let `attributeName`: JSString = "attributeName" + @usableFromInline static let `attributeNamespace`: JSString = "attributeNamespace" + @usableFromInline static let `attributeOldValue`: JSString = "attributeOldValue" + @usableFromInline static let `attributes`: JSString = "attributes" + @usableFromInline static let `audio`: JSString = "audio" + @usableFromInline static let `audioBitrateMode`: JSString = "audioBitrateMode" + @usableFromInline static let `audioBitsPerSecond`: JSString = "audioBitsPerSecond" + @usableFromInline static let `audioTracks`: JSString = "audioTracks" + @usableFromInline static let `autoAllocateChunkSize`: JSString = "autoAllocateChunkSize" + @usableFromInline static let `autoGainControl`: JSString = "autoGainControl" + @usableFromInline static let `autocapitalize`: JSString = "autocapitalize" + @usableFromInline static let `autocomplete`: JSString = "autocomplete" + @usableFromInline static let `autocorrect`: JSString = "autocorrect" + @usableFromInline static let `autofocus`: JSString = "autofocus" + @usableFromInline static let `autoplay`: JSString = "autoplay" + @usableFromInline static let `availHeight`: JSString = "availHeight" + @usableFromInline static let `availWidth`: JSString = "availWidth" + @usableFromInline static let `axis`: JSString = "axis" + @usableFromInline static let `azimuthAngle`: JSString = "azimuthAngle" + @usableFromInline static let `b`: JSString = "b" + @usableFromInline static let `back`: JSString = "back" + @usableFromInline static let `background`: JSString = "background" + @usableFromInline static let `backgroundBlur`: JSString = "backgroundBlur" + @usableFromInline static let `badInput`: JSString = "badInput" + @usableFromInline static let `baseURI`: JSString = "baseURI" + @usableFromInline static let `baseURL`: JSString = "baseURL" + @usableFromInline static let `before`: JSString = "before" + @usableFromInline static let `beginPath`: JSString = "beginPath" + @usableFromInline static let `behavior`: JSString = "behavior" + @usableFromInline static let `bezierCurveTo`: JSString = "bezierCurveTo" + @usableFromInline static let `bgColor`: JSString = "bgColor" + @usableFromInline static let `bitrate`: JSString = "bitrate" + @usableFromInline static let `bitrateMode`: JSString = "bitrateMode" + @usableFromInline static let `bitsPerSecond`: JSString = "bitsPerSecond" + @usableFromInline static let `blob`: JSString = "blob" + @usableFromInline static let `block`: JSString = "block" + @usableFromInline static let `blocking`: JSString = "blocking" + @usableFromInline static let `blur`: JSString = "blur" + @usableFromInline static let `body`: JSString = "body" + @usableFromInline static let `bodyUsed`: JSString = "bodyUsed" + @usableFromInline static let `booleanValue`: JSString = "booleanValue" + @usableFromInline static let `border`: JSString = "border" + @usableFromInline static let `bottom`: JSString = "bottom" + @usableFromInline static let `box`: JSString = "box" + @usableFromInline static let `btoa`: JSString = "btoa" + @usableFromInline static let `bubbles`: JSString = "bubbles" + @usableFromInline static let `buffered`: JSString = "buffered" + @usableFromInline static let `button`: JSString = "button" + @usableFromInline static let `buttons`: JSString = "buttons" + @usableFromInline static let `byobRequest`: JSString = "byobRequest" + @usableFromInline static let `byteLength`: JSString = "byteLength" + @usableFromInline static let `bytes`: JSString = "bytes" + @usableFromInline static let `c`: JSString = "c" + @usableFromInline static let `cache`: JSString = "cache" + @usableFromInline static let `cacheName`: JSString = "cacheName" + @usableFromInline static let `caches`: JSString = "caches" + @usableFromInline static let `canConstructInDedicatedWorker`: JSString = "canConstructInDedicatedWorker" + @usableFromInline static let `canGoBack`: JSString = "canGoBack" + @usableFromInline static let `canGoForward`: JSString = "canGoForward" + @usableFromInline static let `canIntercept`: JSString = "canIntercept" + @usableFromInline static let `canPlayType`: JSString = "canPlayType" + @usableFromInline static let `cancel`: JSString = "cancel" + @usableFromInline static let `cancelAnimationFrame`: JSString = "cancelAnimationFrame" + @usableFromInline static let `cancelBubble`: JSString = "cancelBubble" + @usableFromInline static let `cancelable`: JSString = "cancelable" + @usableFromInline static let `canvas`: JSString = "canvas" + @usableFromInline static let `caption`: JSString = "caption" + @usableFromInline static let `capture`: JSString = "capture" + @usableFromInline static let `captureEvents`: JSString = "captureEvents" + @usableFromInline static let `caretPositionFromPoint`: JSString = "caretPositionFromPoint" + @usableFromInline static let `cellIndex`: JSString = "cellIndex" + @usableFromInline static let `cellPadding`: JSString = "cellPadding" + @usableFromInline static let `cellSpacing`: JSString = "cellSpacing" + @usableFromInline static let `cells`: JSString = "cells" + @usableFromInline static let `ch`: JSString = "ch" + @usableFromInline static let `chOff`: JSString = "chOff" + @usableFromInline static let `changeType`: JSString = "changeType" + @usableFromInline static let `changedTouches`: JSString = "changedTouches" + @usableFromInline static let `channelCount`: JSString = "channelCount" + @usableFromInline static let `charCode`: JSString = "charCode" + @usableFromInline static let `characterData`: JSString = "characterData" + @usableFromInline static let `characterDataOldValue`: JSString = "characterDataOldValue" + @usableFromInline static let `characterSet`: JSString = "characterSet" + @usableFromInline static let `charset`: JSString = "charset" + @usableFromInline static let `checkOpacity`: JSString = "checkOpacity" + @usableFromInline static let `checkValidity`: JSString = "checkValidity" + @usableFromInline static let `checkVisibility`: JSString = "checkVisibility" + @usableFromInline static let `checkVisibilityCSS`: JSString = "checkVisibilityCSS" + @usableFromInline static let `checked`: JSString = "checked" + @usableFromInline static let `childElementCount`: JSString = "childElementCount" + @usableFromInline static let `childList`: JSString = "childList" + @usableFromInline static let `childNodes`: JSString = "childNodes" + @usableFromInline static let `children`: JSString = "children" + @usableFromInline static let `cite`: JSString = "cite" + @usableFromInline static let `classList`: JSString = "classList" + @usableFromInline static let `className`: JSString = "className" + @usableFromInline static let `clear`: JSString = "clear" + @usableFromInline static let `clearData`: JSString = "clearData" + @usableFromInline static let `clearInterval`: JSString = "clearInterval" + @usableFromInline static let `clearLiveSeekableRange`: JSString = "clearLiveSeekableRange" + @usableFromInline static let `clearParameters`: JSString = "clearParameters" + @usableFromInline static let `clearRect`: JSString = "clearRect" + @usableFromInline static let `clearTimeout`: JSString = "clearTimeout" + @usableFromInline static let `click`: JSString = "click" + @usableFromInline static let `clientHeight`: JSString = "clientHeight" + @usableFromInline static let `clientId`: JSString = "clientId" + @usableFromInline static let `clientInformation`: JSString = "clientInformation" + @usableFromInline static let `clientLeft`: JSString = "clientLeft" + @usableFromInline static let `clientTop`: JSString = "clientTop" + @usableFromInline static let `clientWidth`: JSString = "clientWidth" + @usableFromInline static let `clientX`: JSString = "clientX" + @usableFromInline static let `clientY`: JSString = "clientY" + @usableFromInline static let `clip`: JSString = "clip" + @usableFromInline static let `clonable`: JSString = "clonable" + @usableFromInline static let `clone`: JSString = "clone" + @usableFromInline static let `cloneContents`: JSString = "cloneContents" + @usableFromInline static let `cloneNode`: JSString = "cloneNode" + @usableFromInline static let `cloneRange`: JSString = "cloneRange" + @usableFromInline static let `close`: JSString = "close" + @usableFromInline static let `closePath`: JSString = "closePath" + @usableFromInline static let `closed`: JSString = "closed" + @usableFromInline static let `closedBy`: JSString = "closedBy" + @usableFromInline static let `closest`: JSString = "closest" + @usableFromInline static let `code`: JSString = "code" + @usableFromInline static let `codeBase`: JSString = "codeBase" + @usableFromInline static let `codeType`: JSString = "codeType" + @usableFromInline static let `codec`: JSString = "codec" + @usableFromInline static let `codedHeight`: JSString = "codedHeight" + @usableFromInline static let `codedRect`: JSString = "codedRect" + @usableFromInline static let `codedWidth`: JSString = "codedWidth" + @usableFromInline static let `colSpan`: JSString = "colSpan" + @usableFromInline static let `collapse`: JSString = "collapse" + @usableFromInline static let `collapsed`: JSString = "collapsed" + @usableFromInline static let `colno`: JSString = "colno" + @usableFromInline static let `color`: JSString = "color" + @usableFromInline static let `colorDepth`: JSString = "colorDepth" + @usableFromInline static let `colorSpace`: JSString = "colorSpace" + @usableFromInline static let `colorSpaceConversion`: JSString = "colorSpaceConversion" + @usableFromInline static let `colorType`: JSString = "colorType" + @usableFromInline static let `cols`: JSString = "cols" + @usableFromInline static let `command`: JSString = "command" + @usableFromInline static let `commandForElement`: JSString = "commandForElement" + @usableFromInline static let `committed`: JSString = "committed" + @usableFromInline static let `commonAncestorContainer`: JSString = "commonAncestorContainer" + @usableFromInline static let `compact`: JSString = "compact" + @usableFromInline static let `compareBoundaryPoints`: JSString = "compareBoundaryPoints" + @usableFromInline static let `compareDocumentPosition`: JSString = "compareDocumentPosition" + @usableFromInline static let `comparePoint`: JSString = "comparePoint" + @usableFromInline static let `compatMode`: JSString = "compatMode" + @usableFromInline static let `complete`: JSString = "complete" + @usableFromInline static let `completeFramesOnly`: JSString = "completeFramesOnly" + @usableFromInline static let `completed`: JSString = "completed" + @usableFromInline static let `composed`: JSString = "composed" + @usableFromInline static let `composedPath`: JSString = "composedPath" + @usableFromInline static let `condition`: JSString = "condition" + @usableFromInline static let `config`: JSString = "config" + @usableFromInline static let `configure`: JSString = "configure" + @usableFromInline static let `confirm`: JSString = "confirm" + @usableFromInline static let `constraint`: JSString = "constraint" + @usableFromInline static let `container`: JSString = "container" + @usableFromInline static let `contains`: JSString = "contains" + @usableFromInline static let `content`: JSString = "content" + @usableFromInline static let `contentDocument`: JSString = "contentDocument" + @usableFromInline static let `contentEditable`: JSString = "contentEditable" + @usableFromInline static let `contentHint`: JSString = "contentHint" + @usableFromInline static let `contentType`: JSString = "contentType" + @usableFromInline static let `contentVisibilityAuto`: JSString = "contentVisibilityAuto" + @usableFromInline static let `contentWindow`: JSString = "contentWindow" + @usableFromInline static let `control`: JSString = "control" + @usableFromInline static let `controller`: JSString = "controller" + @usableFromInline static let `controls`: JSString = "controls" + @usableFromInline static let `convertPointFromNode`: JSString = "convertPointFromNode" + @usableFromInline static let `convertQuadFromNode`: JSString = "convertQuadFromNode" + @usableFromInline static let `convertRectFromNode`: JSString = "convertRectFromNode" + @usableFromInline static let `convertToBlob`: JSString = "convertToBlob" + @usableFromInline static let `cookie`: JSString = "cookie" + @usableFromInline static let `cookieEnabled`: JSString = "cookieEnabled" + @usableFromInline static let `coords`: JSString = "coords" + @usableFromInline static let `copyTo`: JSString = "copyTo" + @usableFromInline static let `createAttribute`: JSString = "createAttribute" + @usableFromInline static let `createAttributeNS`: JSString = "createAttributeNS" + @usableFromInline static let `createCDATASection`: JSString = "createCDATASection" + @usableFromInline static let `createCaption`: JSString = "createCaption" + @usableFromInline static let `createComment`: JSString = "createComment" + @usableFromInline static let `createConicGradient`: JSString = "createConicGradient" + @usableFromInline static let `createContextualFragment`: JSString = "createContextualFragment" + @usableFromInline static let `createDocument`: JSString = "createDocument" + @usableFromInline static let `createDocumentFragment`: JSString = "createDocumentFragment" + @usableFromInline static let `createDocumentType`: JSString = "createDocumentType" + @usableFromInline static let `createElement`: JSString = "createElement" + @usableFromInline static let `createElementNS`: JSString = "createElementNS" + @usableFromInline static let `createEvent`: JSString = "createEvent" + @usableFromInline static let `createHTML`: JSString = "createHTML" + @usableFromInline static let `createHTMLDocument`: JSString = "createHTMLDocument" + @usableFromInline static let `createImageBitmap`: JSString = "createImageBitmap" + @usableFromInline static let `createImageData`: JSString = "createImageData" + @usableFromInline static let `createLinearGradient`: JSString = "createLinearGradient" + @usableFromInline static let `createObjectURL`: JSString = "createObjectURL" + @usableFromInline static let `createPattern`: JSString = "createPattern" + @usableFromInline static let `createProcessingInstruction`: JSString = "createProcessingInstruction" + @usableFromInline static let `createRadialGradient`: JSString = "createRadialGradient" + @usableFromInline static let `createRange`: JSString = "createRange" + @usableFromInline static let `createScript`: JSString = "createScript" + @usableFromInline static let `createScriptURL`: JSString = "createScriptURL" + @usableFromInline static let `createTBody`: JSString = "createTBody" + @usableFromInline static let `createTFoot`: JSString = "createTFoot" + @usableFromInline static let `createTHead`: JSString = "createTHead" + @usableFromInline static let `createTextNode`: JSString = "createTextNode" + @usableFromInline static let `credentials`: JSString = "credentials" + @usableFromInline static let `crossOrigin`: JSString = "crossOrigin" + @usableFromInline static let `crossOriginIsolated`: JSString = "crossOriginIsolated" + @usableFromInline static let `ctrlKey`: JSString = "ctrlKey" + @usableFromInline static let `cues`: JSString = "cues" + @usableFromInline static let `currentCSSZoom`: JSString = "currentCSSZoom" + @usableFromInline static let `currentEntry`: JSString = "currentEntry" + @usableFromInline static let `currentNode`: JSString = "currentNode" + @usableFromInline static let `currentScript`: JSString = "currentScript" + @usableFromInline static let `currentSrc`: JSString = "currentSrc" + @usableFromInline static let `currentTarget`: JSString = "currentTarget" + @usableFromInline static let `currentTime`: JSString = "currentTime" + @usableFromInline static let `customElements`: JSString = "customElements" + @usableFromInline static let `customError`: JSString = "customError" + @usableFromInline static let `d`: JSString = "d" + @usableFromInline static let `data`: JSString = "data" + @usableFromInline static let `dataTransfer`: JSString = "dataTransfer" + @usableFromInline static let `dataset`: JSString = "dataset" + @usableFromInline static let `dateTime`: JSString = "dateTime" + @usableFromInline static let `declare`: JSString = "declare" + @usableFromInline static let `decode`: JSString = "decode" + @usableFromInline static let `decodeQueueSize`: JSString = "decodeQueueSize" + @usableFromInline static let `decoderConfig`: JSString = "decoderConfig" + @usableFromInline static let `decoding`: JSString = "decoding" @usableFromInline static let `default`: JSString = "default" - @usableFromInline static let defaultChecked: JSString = "defaultChecked" - @usableFromInline static let defaultMuted: JSString = "defaultMuted" - @usableFromInline static let defaultPlaybackRate: JSString = "defaultPlaybackRate" - @usableFromInline static let defaultPrevented: JSString = "defaultPrevented" - @usableFromInline static let defaultSelected: JSString = "defaultSelected" - @usableFromInline static let defaultValue: JSString = "defaultValue" - @usableFromInline static let defaultView: JSString = "defaultView" + @usableFromInline static let `defaultChecked`: JSString = "defaultChecked" + @usableFromInline static let `defaultMuted`: JSString = "defaultMuted" + @usableFromInline static let `defaultPlaybackRate`: JSString = "defaultPlaybackRate" + @usableFromInline static let `defaultPolicy`: JSString = "defaultPolicy" + @usableFromInline static let `defaultPrevented`: JSString = "defaultPrevented" + @usableFromInline static let `defaultSelected`: JSString = "defaultSelected" + @usableFromInline static let `defaultValue`: JSString = "defaultValue" + @usableFromInline static let `defaultView`: JSString = "defaultView" @usableFromInline static let `defer`: JSString = "defer" - @usableFromInline static let define: JSString = "define" - @usableFromInline static let delegatesFocus: JSString = "delegatesFocus" - @usableFromInline static let delete: JSString = "delete" - @usableFromInline static let deleteCaption: JSString = "deleteCaption" - @usableFromInline static let deleteCell: JSString = "deleteCell" - @usableFromInline static let deleteContents: JSString = "deleteContents" - @usableFromInline static let deleteData: JSString = "deleteData" - @usableFromInline static let deleteRow: JSString = "deleteRow" - @usableFromInline static let deleteTFoot: JSString = "deleteTFoot" - @usableFromInline static let deleteTHead: JSString = "deleteTHead" - @usableFromInline static let deltaMode: JSString = "deltaMode" - @usableFromInline static let deltaX: JSString = "deltaX" - @usableFromInline static let deltaY: JSString = "deltaY" - @usableFromInline static let deltaZ: JSString = "deltaZ" - @usableFromInline static let description: JSString = "description" - @usableFromInline static let descriptor: JSString = "descriptor" - @usableFromInline static let designMode: JSString = "designMode" - @usableFromInline static let desiredHeight: JSString = "desiredHeight" - @usableFromInline static let desiredSize: JSString = "desiredSize" - @usableFromInline static let desiredWidth: JSString = "desiredWidth" - @usableFromInline static let destination: JSString = "destination" - @usableFromInline static let desynchronized: JSString = "desynchronized" - @usableFromInline static let detach: JSString = "detach" - @usableFromInline static let detail: JSString = "detail" - @usableFromInline static let deviceId: JSString = "deviceId" - @usableFromInline static let devicePixelRatio: JSString = "devicePixelRatio" - @usableFromInline static let dir: JSString = "dir" - @usableFromInline static let dirName: JSString = "dirName" - @usableFromInline static let direction: JSString = "direction" - @usableFromInline static let disable: JSString = "disable" - @usableFromInline static let disabled: JSString = "disabled" - @usableFromInline static let disconnect: JSString = "disconnect" - @usableFromInline static let dispatchEvent: JSString = "dispatchEvent" - @usableFromInline static let displayAspectHeight: JSString = "displayAspectHeight" - @usableFromInline static let displayAspectWidth: JSString = "displayAspectWidth" - @usableFromInline static let displayHeight: JSString = "displayHeight" - @usableFromInline static let displayWidth: JSString = "displayWidth" - @usableFromInline static let doctype: JSString = "doctype" - @usableFromInline static let document: JSString = "document" - @usableFromInline static let documentElement: JSString = "documentElement" - @usableFromInline static let documentURI: JSString = "documentURI" - @usableFromInline static let domain: JSString = "domain" - @usableFromInline static let done: JSString = "done" - @usableFromInline static let download: JSString = "download" - @usableFromInline static let downloadRequest: JSString = "downloadRequest" - @usableFromInline static let draggable: JSString = "draggable" - @usableFromInline static let drawFocusIfNeeded: JSString = "drawFocusIfNeeded" - @usableFromInline static let drawImage: JSString = "drawImage" - @usableFromInline static let dropEffect: JSString = "dropEffect" - @usableFromInline static let droppedEntriesCount: JSString = "droppedEntriesCount" - @usableFromInline static let duplex: JSString = "duplex" - @usableFromInline static let duration: JSString = "duration" - @usableFromInline static let e: JSString = "e" - @usableFromInline static let echoCancellation: JSString = "echoCancellation" - @usableFromInline static let effectAllowed: JSString = "effectAllowed" - @usableFromInline static let element: JSString = "element" - @usableFromInline static let elementFromPoint: JSString = "elementFromPoint" - @usableFromInline static let elements: JSString = "elements" - @usableFromInline static let elementsFromPoint: JSString = "elementsFromPoint" - @usableFromInline static let ellipse: JSString = "ellipse" - @usableFromInline static let emHeightAscent: JSString = "emHeightAscent" - @usableFromInline static let emHeightDescent: JSString = "emHeightDescent" - @usableFromInline static let embeds: JSString = "embeds" - @usableFromInline static let enable: JSString = "enable" - @usableFromInline static let enabled: JSString = "enabled" - @usableFromInline static let enabledPlugin: JSString = "enabledPlugin" - @usableFromInline static let encode: JSString = "encode" - @usableFromInline static let encodeQueueSize: JSString = "encodeQueueSize" - @usableFromInline static let encoding: JSString = "encoding" - @usableFromInline static let enctype: JSString = "enctype" - @usableFromInline static let end: JSString = "end" - @usableFromInline static let endContainer: JSString = "endContainer" - @usableFromInline static let endOfStream: JSString = "endOfStream" - @usableFromInline static let endOffset: JSString = "endOffset" - @usableFromInline static let endTime: JSString = "endTime" - @usableFromInline static let ended: JSString = "ended" - @usableFromInline static let endings: JSString = "endings" - @usableFromInline static let enqueue: JSString = "enqueue" - @usableFromInline static let enterKeyHint: JSString = "enterKeyHint" - @usableFromInline static let entries: JSString = "entries" - @usableFromInline static let entryType: JSString = "entryType" - @usableFromInline static let entryTypes: JSString = "entryTypes" - @usableFromInline static let enumerateDevices: JSString = "enumerateDevices" - @usableFromInline static let error: JSString = "error" - @usableFromInline static let evaluate: JSString = "evaluate" - @usableFromInline static let event: JSString = "event" - @usableFromInline static let eventPhase: JSString = "eventPhase" - @usableFromInline static let exact: JSString = "exact" - @usableFromInline static let execCommand: JSString = "execCommand" - @usableFromInline static let extends: JSString = "extends" - @usableFromInline static let external: JSString = "external" - @usableFromInline static let extractContents: JSString = "extractContents" - @usableFromInline static let f: JSString = "f" - @usableFromInline static let face: JSString = "face" - @usableFromInline static let facingMode: JSString = "facingMode" - @usableFromInline static let fastSeek: JSString = "fastSeek" - @usableFromInline static let fetch: JSString = "fetch" - @usableFromInline static let fetchPriority: JSString = "fetchPriority" - @usableFromInline static let fgColor: JSString = "fgColor" - @usableFromInline static let filename: JSString = "filename" - @usableFromInline static let files: JSString = "files" - @usableFromInline static let fill: JSString = "fill" - @usableFromInline static let fillRect: JSString = "fillRect" - @usableFromInline static let fillStyle: JSString = "fillStyle" - @usableFromInline static let fillText: JSString = "fillText" - @usableFromInline static let filter: JSString = "filter" - @usableFromInline static let finished: JSString = "finished" - @usableFromInline static let firstChild: JSString = "firstChild" - @usableFromInline static let firstElementChild: JSString = "firstElementChild" - @usableFromInline static let flatten: JSString = "flatten" - @usableFromInline static let flipX: JSString = "flipX" - @usableFromInline static let flipY: JSString = "flipY" - @usableFromInline static let flush: JSString = "flush" - @usableFromInline static let focus: JSString = "focus" - @usableFromInline static let focusReset: JSString = "focusReset" - @usableFromInline static let focusVisible: JSString = "focusVisible" - @usableFromInline static let font: JSString = "font" - @usableFromInline static let fontBoundingBoxAscent: JSString = "fontBoundingBoxAscent" - @usableFromInline static let fontBoundingBoxDescent: JSString = "fontBoundingBoxDescent" - @usableFromInline static let fontKerning: JSString = "fontKerning" - @usableFromInline static let fontStretch: JSString = "fontStretch" - @usableFromInline static let fontVariantCaps: JSString = "fontVariantCaps" - @usableFromInline static let force: JSString = "force" - @usableFromInline static let form: JSString = "form" - @usableFromInline static let formAction: JSString = "formAction" - @usableFromInline static let formData: JSString = "formData" - @usableFromInline static let formEnctype: JSString = "formEnctype" - @usableFromInline static let formMethod: JSString = "formMethod" - @usableFromInline static let formNoValidate: JSString = "formNoValidate" - @usableFromInline static let formTarget: JSString = "formTarget" - @usableFromInline static let format: JSString = "format" - @usableFromInline static let forms: JSString = "forms" - @usableFromInline static let forward: JSString = "forward" - @usableFromInline static let frame: JSString = "frame" - @usableFromInline static let frameBorder: JSString = "frameBorder" - @usableFromInline static let frameCount: JSString = "frameCount" - @usableFromInline static let frameElement: JSString = "frameElement" - @usableFromInline static let frameIndex: JSString = "frameIndex" - @usableFromInline static let frameOffset: JSString = "frameOffset" - @usableFromInline static let frameRate: JSString = "frameRate" - @usableFromInline static let framerate: JSString = "framerate" - @usableFromInline static let frames: JSString = "frames" - @usableFromInline static let from: JSString = "from" - @usableFromInline static let fromBox: JSString = "fromBox" - @usableFromInline static let fromFloat32Array: JSString = "fromFloat32Array" - @usableFromInline static let fromFloat64Array: JSString = "fromFloat64Array" - @usableFromInline static let fromMatrix: JSString = "fromMatrix" - @usableFromInline static let fromPoint: JSString = "fromPoint" - @usableFromInline static let fromQuad: JSString = "fromQuad" - @usableFromInline static let fromRect: JSString = "fromRect" - @usableFromInline static let fullRange: JSString = "fullRange" - @usableFromInline static let get: JSString = "get" - @usableFromInline static let getAll: JSString = "getAll" - @usableFromInline static let getAllResponseHeaders: JSString = "getAllResponseHeaders" - @usableFromInline static let getAsFile: JSString = "getAsFile" - @usableFromInline static let getAsString: JSString = "getAsString" - @usableFromInline static let getAttribute: JSString = "getAttribute" - @usableFromInline static let getAttributeNS: JSString = "getAttributeNS" - @usableFromInline static let getAttributeNames: JSString = "getAttributeNames" - @usableFromInline static let getAttributeNode: JSString = "getAttributeNode" - @usableFromInline static let getAttributeNodeNS: JSString = "getAttributeNodeNS" - @usableFromInline static let getAudioTracks: JSString = "getAudioTracks" - @usableFromInline static let getBoundingClientRect: JSString = "getBoundingClientRect" - @usableFromInline static let getBounds: JSString = "getBounds" - @usableFromInline static let getBoxQuads: JSString = "getBoxQuads" - @usableFromInline static let getCapabilities: JSString = "getCapabilities" - @usableFromInline static let getClientRect: JSString = "getClientRect" - @usableFromInline static let getClientRects: JSString = "getClientRects" - @usableFromInline static let getConstraints: JSString = "getConstraints" - @usableFromInline static let getContextAttributes: JSString = "getContextAttributes" - @usableFromInline static let getCueById: JSString = "getCueById" - @usableFromInline static let getData: JSString = "getData" - @usableFromInline static let getElementById: JSString = "getElementById" - @usableFromInline static let getElementsByClassName: JSString = "getElementsByClassName" - @usableFromInline static let getElementsByName: JSString = "getElementsByName" - @usableFromInline static let getElementsByTagName: JSString = "getElementsByTagName" - @usableFromInline static let getElementsByTagNameNS: JSString = "getElementsByTagNameNS" - @usableFromInline static let getEntries: JSString = "getEntries" - @usableFromInline static let getEntriesByName: JSString = "getEntriesByName" - @usableFromInline static let getEntriesByType: JSString = "getEntriesByType" - @usableFromInline static let getImageData: JSString = "getImageData" - @usableFromInline static let getItem: JSString = "getItem" - @usableFromInline static let getLineDash: JSString = "getLineDash" - @usableFromInline static let getModifierState: JSString = "getModifierState" - @usableFromInline static let getName: JSString = "getName" - @usableFromInline static let getNamedItem: JSString = "getNamedItem" - @usableFromInline static let getNamedItemNS: JSString = "getNamedItemNS" - @usableFromInline static let getParameter: JSString = "getParameter" - @usableFromInline static let getReader: JSString = "getReader" - @usableFromInline static let getRegistration: JSString = "getRegistration" - @usableFromInline static let getRegistrations: JSString = "getRegistrations" - @usableFromInline static let getResponseHeader: JSString = "getResponseHeader" - @usableFromInline static let getRootNode: JSString = "getRootNode" - @usableFromInline static let getSVGDocument: JSString = "getSVGDocument" - @usableFromInline static let getSetCookie: JSString = "getSetCookie" - @usableFromInline static let getSettings: JSString = "getSettings" - @usableFromInline static let getStartDate: JSString = "getStartDate" - @usableFromInline static let getState: JSString = "getState" - @usableFromInline static let getSupportedConstraints: JSString = "getSupportedConstraints" - @usableFromInline static let getTrackById: JSString = "getTrackById" - @usableFromInline static let getTracks: JSString = "getTracks" - @usableFromInline static let getTransform: JSString = "getTransform" - @usableFromInline static let getUserMedia: JSString = "getUserMedia" - @usableFromInline static let getVideoTracks: JSString = "getVideoTracks" - @usableFromInline static let getWriter: JSString = "getWriter" - @usableFromInline static let globalAlpha: JSString = "globalAlpha" - @usableFromInline static let globalCompositeOperation: JSString = "globalCompositeOperation" - @usableFromInline static let go: JSString = "go" - @usableFromInline static let groupId: JSString = "groupId" - @usableFromInline static let handle: JSString = "handle" - @usableFromInline static let handled: JSString = "handled" - @usableFromInline static let handler: JSString = "handler" - @usableFromInline static let hangingBaseline: JSString = "hangingBaseline" - @usableFromInline static let hardwareAcceleration: JSString = "hardwareAcceleration" - @usableFromInline static let hardwareConcurrency: JSString = "hardwareConcurrency" - @usableFromInline static let has: JSString = "has" - @usableFromInline static let hasAttribute: JSString = "hasAttribute" - @usableFromInline static let hasAttributeNS: JSString = "hasAttributeNS" - @usableFromInline static let hasAttributes: JSString = "hasAttributes" - @usableFromInline static let hasBeenActive: JSString = "hasBeenActive" - @usableFromInline static let hasChildNodes: JSString = "hasChildNodes" - @usableFromInline static let hasFeature: JSString = "hasFeature" - @usableFromInline static let hasFocus: JSString = "hasFocus" - @usableFromInline static let hash: JSString = "hash" - @usableFromInline static let hashChange: JSString = "hashChange" - @usableFromInline static let head: JSString = "head" - @usableFromInline static let headerValue: JSString = "headerValue" - @usableFromInline static let headers: JSString = "headers" - @usableFromInline static let height: JSString = "height" - @usableFromInline static let hidden: JSString = "hidden" - @usableFromInline static let hidePopover: JSString = "hidePopover" - @usableFromInline static let high: JSString = "high" - @usableFromInline static let highWaterMark: JSString = "highWaterMark" - @usableFromInline static let history: JSString = "history" - @usableFromInline static let host: JSString = "host" - @usableFromInline static let hostname: JSString = "hostname" - @usableFromInline static let href: JSString = "href" - @usableFromInline static let hreflang: JSString = "hreflang" - @usableFromInline static let hspace: JSString = "hspace" - @usableFromInline static let htmlFor: JSString = "htmlFor" - @usableFromInline static let httpEquiv: JSString = "httpEquiv" - @usableFromInline static let id: JSString = "id" - @usableFromInline static let ideal: JSString = "ideal" - @usableFromInline static let identifier: JSString = "identifier" - @usableFromInline static let ideographicBaseline: JSString = "ideographicBaseline" - @usableFromInline static let ignoreMethod: JSString = "ignoreMethod" - @usableFromInline static let ignoreSearch: JSString = "ignoreSearch" - @usableFromInline static let ignoreVary: JSString = "ignoreVary" - @usableFromInline static let image: JSString = "image" - @usableFromInline static let imageOrientation: JSString = "imageOrientation" - @usableFromInline static let imageSizes: JSString = "imageSizes" - @usableFromInline static let imageSmoothingEnabled: JSString = "imageSmoothingEnabled" - @usableFromInline static let imageSmoothingQuality: JSString = "imageSmoothingQuality" - @usableFromInline static let imageSrcset: JSString = "imageSrcset" - @usableFromInline static let images: JSString = "images" - @usableFromInline static let implementation: JSString = "implementation" - @usableFromInline static let importNode: JSString = "importNode" - @usableFromInline static let importStylesheet: JSString = "importStylesheet" - @usableFromInline static let inBandMetadataTrackDispatchType: JSString = "inBandMetadataTrackDispatchType" - @usableFromInline static let includeUncontrolled: JSString = "includeUncontrolled" - @usableFromInline static let indeterminate: JSString = "indeterminate" - @usableFromInline static let index: JSString = "index" - @usableFromInline static let inert: JSString = "inert" - @usableFromInline static let info: JSString = "info" - @usableFromInline static let initCompositionEvent: JSString = "initCompositionEvent" - @usableFromInline static let initCustomEvent: JSString = "initCustomEvent" - @usableFromInline static let initEvent: JSString = "initEvent" - @usableFromInline static let initKeyboardEvent: JSString = "initKeyboardEvent" - @usableFromInline static let initMessageEvent: JSString = "initMessageEvent" - @usableFromInline static let initMouseEvent: JSString = "initMouseEvent" - @usableFromInline static let initMutationEvent: JSString = "initMutationEvent" - @usableFromInline static let initStorageEvent: JSString = "initStorageEvent" - @usableFromInline static let initUIEvent: JSString = "initUIEvent" - @usableFromInline static let inline: JSString = "inline" - @usableFromInline static let innerHeight: JSString = "innerHeight" - @usableFromInline static let innerText: JSString = "innerText" - @usableFromInline static let innerWidth: JSString = "innerWidth" - @usableFromInline static let inputEncoding: JSString = "inputEncoding" - @usableFromInline static let inputMode: JSString = "inputMode" - @usableFromInline static let inputType: JSString = "inputType" - @usableFromInline static let insertAdjacentElement: JSString = "insertAdjacentElement" - @usableFromInline static let insertAdjacentText: JSString = "insertAdjacentText" - @usableFromInline static let insertBefore: JSString = "insertBefore" - @usableFromInline static let insertCell: JSString = "insertCell" - @usableFromInline static let insertData: JSString = "insertData" - @usableFromInline static let insertNode: JSString = "insertNode" - @usableFromInline static let insertRow: JSString = "insertRow" - @usableFromInline static let installing: JSString = "installing" - @usableFromInline static let integrity: JSString = "integrity" - @usableFromInline static let intercept: JSString = "intercept" - @usableFromInline static let intersectsNode: JSString = "intersectsNode" - @usableFromInline static let invalidIteratorState: JSString = "invalidIteratorState" - @usableFromInline static let inverse: JSString = "inverse" - @usableFromInline static let invertSelf: JSString = "invertSelf" + @usableFromInline static let `define`: JSString = "define" + @usableFromInline static let `delegatesFocus`: JSString = "delegatesFocus" + @usableFromInline static let `delete`: JSString = "delete" + @usableFromInline static let `deleteCaption`: JSString = "deleteCaption" + @usableFromInline static let `deleteCell`: JSString = "deleteCell" + @usableFromInline static let `deleteContents`: JSString = "deleteContents" + @usableFromInline static let `deleteData`: JSString = "deleteData" + @usableFromInline static let `deleteRow`: JSString = "deleteRow" + @usableFromInline static let `deleteTFoot`: JSString = "deleteTFoot" + @usableFromInline static let `deleteTHead`: JSString = "deleteTHead" + @usableFromInline static let `deltaMode`: JSString = "deltaMode" + @usableFromInline static let `deltaX`: JSString = "deltaX" + @usableFromInline static let `deltaY`: JSString = "deltaY" + @usableFromInline static let `deltaZ`: JSString = "deltaZ" + @usableFromInline static let `description`: JSString = "description" + @usableFromInline static let `descriptor`: JSString = "descriptor" + @usableFromInline static let `designMode`: JSString = "designMode" + @usableFromInline static let `desiredHeight`: JSString = "desiredHeight" + @usableFromInline static let `desiredSize`: JSString = "desiredSize" + @usableFromInline static let `desiredWidth`: JSString = "desiredWidth" + @usableFromInline static let `destination`: JSString = "destination" + @usableFromInline static let `destroy`: JSString = "destroy" + @usableFromInline static let `desynchronized`: JSString = "desynchronized" + @usableFromInline static let `detach`: JSString = "detach" + @usableFromInline static let `detail`: JSString = "detail" + @usableFromInline static let `deviceId`: JSString = "deviceId" + @usableFromInline static let `devicePixelRatio`: JSString = "devicePixelRatio" + @usableFromInline static let `devices`: JSString = "devices" + @usableFromInline static let `dir`: JSString = "dir" + @usableFromInline static let `dirName`: JSString = "dirName" + @usableFromInline static let `direction`: JSString = "direction" + @usableFromInline static let `disable`: JSString = "disable" + @usableFromInline static let `disabled`: JSString = "disabled" + @usableFromInline static let `disconnect`: JSString = "disconnect" + @usableFromInline static let `dispatchEvent`: JSString = "dispatchEvent" + @usableFromInline static let `displayAspectHeight`: JSString = "displayAspectHeight" + @usableFromInline static let `displayAspectWidth`: JSString = "displayAspectWidth" + @usableFromInline static let `displayHeight`: JSString = "displayHeight" + @usableFromInline static let `displayWidth`: JSString = "displayWidth" + @usableFromInline static let `doctype`: JSString = "doctype" + @usableFromInline static let `document`: JSString = "document" + @usableFromInline static let `documentElement`: JSString = "documentElement" + @usableFromInline static let `documentURI`: JSString = "documentURI" + @usableFromInline static let `domain`: JSString = "domain" + @usableFromInline static let `done`: JSString = "done" + @usableFromInline static let `download`: JSString = "download" + @usableFromInline static let `downloadRequest`: JSString = "downloadRequest" + @usableFromInline static let `draggable`: JSString = "draggable" + @usableFromInline static let `drawFocusIfNeeded`: JSString = "drawFocusIfNeeded" + @usableFromInline static let `drawImage`: JSString = "drawImage" + @usableFromInline static let `dropEffect`: JSString = "dropEffect" + @usableFromInline static let `droppedEntriesCount`: JSString = "droppedEntriesCount" + @usableFromInline static let `duplex`: JSString = "duplex" + @usableFromInline static let `duration`: JSString = "duration" + @usableFromInline static let `e`: JSString = "e" + @usableFromInline static let `echoCancellation`: JSString = "echoCancellation" + @usableFromInline static let `effectAllowed`: JSString = "effectAllowed" + @usableFromInline static let `element`: JSString = "element" + @usableFromInline static let `elementFromPoint`: JSString = "elementFromPoint" + @usableFromInline static let `elements`: JSString = "elements" + @usableFromInline static let `elementsFromPoint`: JSString = "elementsFromPoint" + @usableFromInline static let `ellipse`: JSString = "ellipse" + @usableFromInline static let `emHeightAscent`: JSString = "emHeightAscent" + @usableFromInline static let `emHeightDescent`: JSString = "emHeightDescent" + @usableFromInline static let `embeds`: JSString = "embeds" + @usableFromInline static let `emptyHTML`: JSString = "emptyHTML" + @usableFromInline static let `emptyScript`: JSString = "emptyScript" + @usableFromInline static let `enable`: JSString = "enable" + @usableFromInline static let `enabled`: JSString = "enabled" + @usableFromInline static let `enabledPlugin`: JSString = "enabledPlugin" + @usableFromInline static let `encode`: JSString = "encode" + @usableFromInline static let `encodeQueueSize`: JSString = "encodeQueueSize" + @usableFromInline static let `encoding`: JSString = "encoding" + @usableFromInline static let `enctype`: JSString = "enctype" + @usableFromInline static let `end`: JSString = "end" + @usableFromInline static let `endContainer`: JSString = "endContainer" + @usableFromInline static let `endOfStream`: JSString = "endOfStream" + @usableFromInline static let `endOffset`: JSString = "endOffset" + @usableFromInline static let `endTime`: JSString = "endTime" + @usableFromInline static let `ended`: JSString = "ended" + @usableFromInline static let `endings`: JSString = "endings" + @usableFromInline static let `enqueue`: JSString = "enqueue" + @usableFromInline static let `enterKeyHint`: JSString = "enterKeyHint" + @usableFromInline static let `entries`: JSString = "entries" + @usableFromInline static let `entry`: JSString = "entry" + @usableFromInline static let `entryType`: JSString = "entryType" + @usableFromInline static let `entryTypes`: JSString = "entryTypes" + @usableFromInline static let `enumerateDevices`: JSString = "enumerateDevices" + @usableFromInline static let `error`: JSString = "error" + @usableFromInline static let `evaluate`: JSString = "evaluate" + @usableFromInline static let `event`: JSString = "event" + @usableFromInline static let `eventPhase`: JSString = "eventPhase" + @usableFromInline static let `exact`: JSString = "exact" + @usableFromInline static let `exec`: JSString = "exec" + @usableFromInline static let `execCommand`: JSString = "execCommand" + @usableFromInline static let `extends`: JSString = "extends" + @usableFromInline static let `external`: JSString = "external" + @usableFromInline static let `extractContents`: JSString = "extractContents" + @usableFromInline static let `f`: JSString = "f" + @usableFromInline static let `face`: JSString = "face" + @usableFromInline static let `facingMode`: JSString = "facingMode" + @usableFromInline static let `fastSeek`: JSString = "fastSeek" + @usableFromInline static let `fetch`: JSString = "fetch" + @usableFromInline static let `fetchPriority`: JSString = "fetchPriority" + @usableFromInline static let `fgColor`: JSString = "fgColor" + @usableFromInline static let `filename`: JSString = "filename" + @usableFromInline static let `files`: JSString = "files" + @usableFromInline static let `fill`: JSString = "fill" + @usableFromInline static let `fillRect`: JSString = "fillRect" + @usableFromInline static let `fillStyle`: JSString = "fillStyle" + @usableFromInline static let `fillText`: JSString = "fillText" + @usableFromInline static let `filter`: JSString = "filter" + @usableFromInline static let `finished`: JSString = "finished" + @usableFromInline static let `firstChild`: JSString = "firstChild" + @usableFromInline static let `firstElementChild`: JSString = "firstElementChild" + @usableFromInline static let `flatten`: JSString = "flatten" + @usableFromInline static let `flip`: JSString = "flip" + @usableFromInline static let `flipX`: JSString = "flipX" + @usableFromInline static let `flipY`: JSString = "flipY" + @usableFromInline static let `flush`: JSString = "flush" + @usableFromInline static let `focus`: JSString = "focus" + @usableFromInline static let `focusReset`: JSString = "focusReset" + @usableFromInline static let `focusVisible`: JSString = "focusVisible" + @usableFromInline static let `font`: JSString = "font" + @usableFromInline static let `fontBoundingBoxAscent`: JSString = "fontBoundingBoxAscent" + @usableFromInline static let `fontBoundingBoxDescent`: JSString = "fontBoundingBoxDescent" + @usableFromInline static let `fontKerning`: JSString = "fontKerning" + @usableFromInline static let `fontStretch`: JSString = "fontStretch" + @usableFromInline static let `fontVariantCaps`: JSString = "fontVariantCaps" + @usableFromInline static let `force`: JSString = "force" + @usableFromInline static let `form`: JSString = "form" + @usableFromInline static let `formAction`: JSString = "formAction" + @usableFromInline static let `formData`: JSString = "formData" + @usableFromInline static let `formEnctype`: JSString = "formEnctype" + @usableFromInline static let `formMethod`: JSString = "formMethod" + @usableFromInline static let `formNoValidate`: JSString = "formNoValidate" + @usableFromInline static let `formTarget`: JSString = "formTarget" + @usableFromInline static let `format`: JSString = "format" + @usableFromInline static let `forms`: JSString = "forms" + @usableFromInline static let `forward`: JSString = "forward" + @usableFromInline static let `frame`: JSString = "frame" + @usableFromInline static let `frameBorder`: JSString = "frameBorder" + @usableFromInline static let `frameCount`: JSString = "frameCount" + @usableFromInline static let `frameElement`: JSString = "frameElement" + @usableFromInline static let `frameIndex`: JSString = "frameIndex" + @usableFromInline static let `frameOffset`: JSString = "frameOffset" + @usableFromInline static let `frameRate`: JSString = "frameRate" + @usableFromInline static let `framerate`: JSString = "framerate" + @usableFromInline static let `frames`: JSString = "frames" + @usableFromInline static let `from`: JSString = "from" + @usableFromInline static let `fromBox`: JSString = "fromBox" + @usableFromInline static let `fromFloat32Array`: JSString = "fromFloat32Array" + @usableFromInline static let `fromFloat64Array`: JSString = "fromFloat64Array" + @usableFromInline static let `fromMatrix`: JSString = "fromMatrix" + @usableFromInline static let `fromPoint`: JSString = "fromPoint" + @usableFromInline static let `fromQuad`: JSString = "fromQuad" + @usableFromInline static let `fromRect`: JSString = "fromRect" + @usableFromInline static let `fullRange`: JSString = "fullRange" + @usableFromInline static let `get`: JSString = "get" + @usableFromInline static let `getAll`: JSString = "getAll" + @usableFromInline static let `getAllResponseHeaders`: JSString = "getAllResponseHeaders" + @usableFromInline static let `getAsFile`: JSString = "getAsFile" + @usableFromInline static let `getAsString`: JSString = "getAsString" + @usableFromInline static let `getAttribute`: JSString = "getAttribute" + @usableFromInline static let `getAttributeNS`: JSString = "getAttributeNS" + @usableFromInline static let `getAttributeNames`: JSString = "getAttributeNames" + @usableFromInline static let `getAttributeNode`: JSString = "getAttributeNode" + @usableFromInline static let `getAttributeNodeNS`: JSString = "getAttributeNodeNS" + @usableFromInline static let `getAttributeType`: JSString = "getAttributeType" + @usableFromInline static let `getAudioTracks`: JSString = "getAudioTracks" + @usableFromInline static let `getBoundingClientRect`: JSString = "getBoundingClientRect" + @usableFromInline static let `getBounds`: JSString = "getBounds" + @usableFromInline static let `getBoxQuads`: JSString = "getBoxQuads" + @usableFromInline static let `getCapabilities`: JSString = "getCapabilities" + @usableFromInline static let `getClientRect`: JSString = "getClientRect" + @usableFromInline static let `getClientRects`: JSString = "getClientRects" + @usableFromInline static let `getConstraints`: JSString = "getConstraints" + @usableFromInline static let `getContextAttributes`: JSString = "getContextAttributes" + @usableFromInline static let `getCueById`: JSString = "getCueById" + @usableFromInline static let `getData`: JSString = "getData" + @usableFromInline static let `getElementById`: JSString = "getElementById" + @usableFromInline static let `getElementsByClassName`: JSString = "getElementsByClassName" + @usableFromInline static let `getElementsByName`: JSString = "getElementsByName" + @usableFromInline static let `getElementsByTagName`: JSString = "getElementsByTagName" + @usableFromInline static let `getElementsByTagNameNS`: JSString = "getElementsByTagNameNS" + @usableFromInline static let `getEntries`: JSString = "getEntries" + @usableFromInline static let `getEntriesByName`: JSString = "getEntriesByName" + @usableFromInline static let `getEntriesByType`: JSString = "getEntriesByType" + @usableFromInline static let `getHTML`: JSString = "getHTML" + @usableFromInline static let `getImageData`: JSString = "getImageData" + @usableFromInline static let `getItem`: JSString = "getItem" + @usableFromInline static let `getLineDash`: JSString = "getLineDash" + @usableFromInline static let `getModifierState`: JSString = "getModifierState" + @usableFromInline static let `getName`: JSString = "getName" + @usableFromInline static let `getNamedItem`: JSString = "getNamedItem" + @usableFromInline static let `getNamedItemNS`: JSString = "getNamedItemNS" + @usableFromInline static let `getParameter`: JSString = "getParameter" + @usableFromInline static let `getPropertyType`: JSString = "getPropertyType" + @usableFromInline static let `getReader`: JSString = "getReader" + @usableFromInline static let `getRegistration`: JSString = "getRegistration" + @usableFromInline static let `getRegistrations`: JSString = "getRegistrations" + @usableFromInline static let `getResponseHeader`: JSString = "getResponseHeader" + @usableFromInline static let `getRootNode`: JSString = "getRootNode" + @usableFromInline static let `getSVGDocument`: JSString = "getSVGDocument" + @usableFromInline static let `getSetCookie`: JSString = "getSetCookie" + @usableFromInline static let `getSettings`: JSString = "getSettings" + @usableFromInline static let `getStartDate`: JSString = "getStartDate" + @usableFromInline static let `getState`: JSString = "getState" + @usableFromInline static let `getSupportedConstraints`: JSString = "getSupportedConstraints" + @usableFromInline static let `getTrackById`: JSString = "getTrackById" + @usableFromInline static let `getTracks`: JSString = "getTracks" + @usableFromInline static let `getTransform`: JSString = "getTransform" + @usableFromInline static let `getUserMedia`: JSString = "getUserMedia" + @usableFromInline static let `getVideoTracks`: JSString = "getVideoTracks" + @usableFromInline static let `getWriter`: JSString = "getWriter" + @usableFromInline static let `globalAlpha`: JSString = "globalAlpha" + @usableFromInline static let `globalCompositeOperation`: JSString = "globalCompositeOperation" + @usableFromInline static let `go`: JSString = "go" + @usableFromInline static let `groupId`: JSString = "groupId" + @usableFromInline static let `groups`: JSString = "groups" + @usableFromInline static let `handle`: JSString = "handle" + @usableFromInline static let `handled`: JSString = "handled" + @usableFromInline static let `handler`: JSString = "handler" + @usableFromInline static let `hangingBaseline`: JSString = "hangingBaseline" + @usableFromInline static let `hardwareAcceleration`: JSString = "hardwareAcceleration" + @usableFromInline static let `hardwareConcurrency`: JSString = "hardwareConcurrency" + @usableFromInline static let `has`: JSString = "has" + @usableFromInline static let `hasAttribute`: JSString = "hasAttribute" + @usableFromInline static let `hasAttributeNS`: JSString = "hasAttributeNS" + @usableFromInline static let `hasAttributes`: JSString = "hasAttributes" + @usableFromInline static let `hasBeenActive`: JSString = "hasBeenActive" + @usableFromInline static let `hasChildNodes`: JSString = "hasChildNodes" + @usableFromInline static let `hasFeature`: JSString = "hasFeature" + @usableFromInline static let `hasFocus`: JSString = "hasFocus" + @usableFromInline static let `hasRegExpGroups`: JSString = "hasRegExpGroups" + @usableFromInline static let `hasUAVisualTransition`: JSString = "hasUAVisualTransition" + @usableFromInline static let `hash`: JSString = "hash" + @usableFromInline static let `hashChange`: JSString = "hashChange" + @usableFromInline static let `head`: JSString = "head" + @usableFromInline static let `headerValue`: JSString = "headerValue" + @usableFromInline static let `headers`: JSString = "headers" + @usableFromInline static let `height`: JSString = "height" + @usableFromInline static let `hidden`: JSString = "hidden" + @usableFromInline static let `hidePopover`: JSString = "hidePopover" + @usableFromInline static let `high`: JSString = "high" + @usableFromInline static let `highWaterMark`: JSString = "highWaterMark" + @usableFromInline static let `history`: JSString = "history" + @usableFromInline static let `host`: JSString = "host" + @usableFromInline static let `hostname`: JSString = "hostname" + @usableFromInline static let `href`: JSString = "href" + @usableFromInline static let `hreflang`: JSString = "hreflang" + @usableFromInline static let `hspace`: JSString = "hspace" + @usableFromInline static let `htmlFor`: JSString = "htmlFor" + @usableFromInline static let `httpEquiv`: JSString = "httpEquiv" + @usableFromInline static let `id`: JSString = "id" + @usableFromInline static let `ideal`: JSString = "ideal" + @usableFromInline static let `identifier`: JSString = "identifier" + @usableFromInline static let `ideographicBaseline`: JSString = "ideographicBaseline" + @usableFromInline static let `ignoreCase`: JSString = "ignoreCase" + @usableFromInline static let `ignoreMethod`: JSString = "ignoreMethod" + @usableFromInline static let `ignoreSearch`: JSString = "ignoreSearch" + @usableFromInline static let `ignoreVary`: JSString = "ignoreVary" + @usableFromInline static let `image`: JSString = "image" + @usableFromInline static let `imageOrientation`: JSString = "imageOrientation" + @usableFromInline static let `imageSizes`: JSString = "imageSizes" + @usableFromInline static let `imageSmoothingEnabled`: JSString = "imageSmoothingEnabled" + @usableFromInline static let `imageSmoothingQuality`: JSString = "imageSmoothingQuality" + @usableFromInline static let `imageSrcset`: JSString = "imageSrcset" + @usableFromInline static let `images`: JSString = "images" + @usableFromInline static let `implementation`: JSString = "implementation" + @usableFromInline static let `importNode`: JSString = "importNode" + @usableFromInline static let `importStylesheet`: JSString = "importStylesheet" + @usableFromInline static let `inBandMetadataTrackDispatchType`: JSString = "inBandMetadataTrackDispatchType" + @usableFromInline static let `includeUncontrolled`: JSString = "includeUncontrolled" + @usableFromInline static let `indeterminate`: JSString = "indeterminate" + @usableFromInline static let `index`: JSString = "index" + @usableFromInline static let `inert`: JSString = "inert" + @usableFromInline static let `info`: JSString = "info" + @usableFromInline static let `initCompositionEvent`: JSString = "initCompositionEvent" + @usableFromInline static let `initCustomEvent`: JSString = "initCustomEvent" + @usableFromInline static let `initEvent`: JSString = "initEvent" + @usableFromInline static let `initKeyboardEvent`: JSString = "initKeyboardEvent" + @usableFromInline static let `initMessageEvent`: JSString = "initMessageEvent" + @usableFromInline static let `initMouseEvent`: JSString = "initMouseEvent" + @usableFromInline static let `initStorageEvent`: JSString = "initStorageEvent" + @usableFromInline static let `initTextEvent`: JSString = "initTextEvent" + @usableFromInline static let `initUIEvent`: JSString = "initUIEvent" + @usableFromInline static let `inline`: JSString = "inline" + @usableFromInline static let `innerHTML`: JSString = "innerHTML" + @usableFromInline static let `innerHeight`: JSString = "innerHeight" + @usableFromInline static let `innerText`: JSString = "innerText" + @usableFromInline static let `innerWidth`: JSString = "innerWidth" + @usableFromInline static let `input`: JSString = "input" + @usableFromInline static let `inputEncoding`: JSString = "inputEncoding" + @usableFromInline static let `inputMode`: JSString = "inputMode" + @usableFromInline static let `inputType`: JSString = "inputType" + @usableFromInline static let `inputs`: JSString = "inputs" + @usableFromInline static let `insertAdjacentElement`: JSString = "insertAdjacentElement" + @usableFromInline static let `insertAdjacentHTML`: JSString = "insertAdjacentHTML" + @usableFromInline static let `insertAdjacentText`: JSString = "insertAdjacentText" + @usableFromInline static let `insertBefore`: JSString = "insertBefore" + @usableFromInline static let `insertCell`: JSString = "insertCell" + @usableFromInline static let `insertData`: JSString = "insertData" + @usableFromInline static let `insertNode`: JSString = "insertNode" + @usableFromInline static let `insertRow`: JSString = "insertRow" + @usableFromInline static let `installing`: JSString = "installing" + @usableFromInline static let `integrity`: JSString = "integrity" + @usableFromInline static let `intercept`: JSString = "intercept" + @usableFromInline static let `intersectsNode`: JSString = "intersectsNode" + @usableFromInline static let `invalidIteratorState`: JSString = "invalidIteratorState" + @usableFromInline static let `inverse`: JSString = "inverse" + @usableFromInline static let `invertSelf`: JSString = "invertSelf" @usableFromInline static let `is`: JSString = "is" - @usableFromInline static let is2D: JSString = "is2D" - @usableFromInline static let isActive: JSString = "isActive" - @usableFromInline static let isComposing: JSString = "isComposing" - @usableFromInline static let isConfigSupported: JSString = "isConfigSupported" - @usableFromInline static let isConnected: JSString = "isConnected" - @usableFromInline static let isContentEditable: JSString = "isContentEditable" - @usableFromInline static let isContextLost: JSString = "isContextLost" - @usableFromInline static let isDefaultNamespace: JSString = "isDefaultNamespace" - @usableFromInline static let isEqualNode: JSString = "isEqualNode" - @usableFromInline static let isHistoryNavigation: JSString = "isHistoryNavigation" - @usableFromInline static let isIdentity: JSString = "isIdentity" - @usableFromInline static let isMap: JSString = "isMap" - @usableFromInline static let isPointInPath: JSString = "isPointInPath" - @usableFromInline static let isPointInRange: JSString = "isPointInRange" - @usableFromInline static let isPointInStroke: JSString = "isPointInStroke" - @usableFromInline static let isReloadNavigation: JSString = "isReloadNavigation" - @usableFromInline static let isSameNode: JSString = "isSameNode" - @usableFromInline static let isSecureContext: JSString = "isSecureContext" - @usableFromInline static let isTrusted: JSString = "isTrusted" - @usableFromInline static let isTypeSupported: JSString = "isTypeSupported" - @usableFromInline static let item: JSString = "item" - @usableFromInline static let items: JSString = "items" - @usableFromInline static let iterateNext: JSString = "iterateNext" - @usableFromInline static let javaEnabled: JSString = "javaEnabled" - @usableFromInline static let json: JSString = "json" - @usableFromInline static let keepalive: JSString = "keepalive" - @usableFromInline static let key: JSString = "key" - @usableFromInline static let keyCode: JSString = "keyCode" - @usableFromInline static let keyFrame: JSString = "keyFrame" - @usableFromInline static let keys: JSString = "keys" - @usableFromInline static let kind: JSString = "kind" - @usableFromInline static let label: JSString = "label" - @usableFromInline static let labels: JSString = "labels" - @usableFromInline static let lang: JSString = "lang" - @usableFromInline static let language: JSString = "language" - @usableFromInline static let languages: JSString = "languages" - @usableFromInline static let lastChild: JSString = "lastChild" - @usableFromInline static let lastElementChild: JSString = "lastElementChild" - @usableFromInline static let lastEventId: JSString = "lastEventId" - @usableFromInline static let lastModified: JSString = "lastModified" - @usableFromInline static let latency: JSString = "latency" - @usableFromInline static let latencyMode: JSString = "latencyMode" - @usableFromInline static let layout: JSString = "layout" - @usableFromInline static let left: JSString = "left" - @usableFromInline static let length: JSString = "length" - @usableFromInline static let lengthComputable: JSString = "lengthComputable" - @usableFromInline static let letterSpacing: JSString = "letterSpacing" - @usableFromInline static let lineCap: JSString = "lineCap" - @usableFromInline static let lineDashOffset: JSString = "lineDashOffset" - @usableFromInline static let lineJoin: JSString = "lineJoin" - @usableFromInline static let lineTo: JSString = "lineTo" - @usableFromInline static let lineWidth: JSString = "lineWidth" - @usableFromInline static let lineno: JSString = "lineno" - @usableFromInline static let link: JSString = "link" - @usableFromInline static let linkColor: JSString = "linkColor" - @usableFromInline static let links: JSString = "links" - @usableFromInline static let list: JSString = "list" - @usableFromInline static let load: JSString = "load" - @usableFromInline static let loaded: JSString = "loaded" - @usableFromInline static let loading: JSString = "loading" - @usableFromInline static let localName: JSString = "localName" - @usableFromInline static let localStorage: JSString = "localStorage" - @usableFromInline static let location: JSString = "location" - @usableFromInline static let locationbar: JSString = "locationbar" - @usableFromInline static let locked: JSString = "locked" - @usableFromInline static let longDesc: JSString = "longDesc" - @usableFromInline static let lookupNamespaceURI: JSString = "lookupNamespaceURI" - @usableFromInline static let lookupPrefix: JSString = "lookupPrefix" - @usableFromInline static let loop: JSString = "loop" - @usableFromInline static let low: JSString = "low" - @usableFromInline static let lowsrc: JSString = "lowsrc" - @usableFromInline static let m11: JSString = "m11" - @usableFromInline static let m12: JSString = "m12" - @usableFromInline static let m13: JSString = "m13" - @usableFromInline static let m14: JSString = "m14" - @usableFromInline static let m21: JSString = "m21" - @usableFromInline static let m22: JSString = "m22" - @usableFromInline static let m23: JSString = "m23" - @usableFromInline static let m24: JSString = "m24" - @usableFromInline static let m31: JSString = "m31" - @usableFromInline static let m32: JSString = "m32" - @usableFromInline static let m33: JSString = "m33" - @usableFromInline static let m34: JSString = "m34" - @usableFromInline static let m41: JSString = "m41" - @usableFromInline static let m42: JSString = "m42" - @usableFromInline static let m43: JSString = "m43" - @usableFromInline static let m44: JSString = "m44" - @usableFromInline static let marginHeight: JSString = "marginHeight" - @usableFromInline static let marginWidth: JSString = "marginWidth" - @usableFromInline static let match: JSString = "match" - @usableFromInline static let matchAll: JSString = "matchAll" - @usableFromInline static let matchMedia: JSString = "matchMedia" - @usableFromInline static let matches: JSString = "matches" - @usableFromInline static let matrix: JSString = "matrix" - @usableFromInline static let matrixTransform: JSString = "matrixTransform" - @usableFromInline static let max: JSString = "max" - @usableFromInline static let maxLength: JSString = "maxLength" - @usableFromInline static let measureText: JSString = "measureText" - @usableFromInline static let media: JSString = "media" - @usableFromInline static let mediaDevices: JSString = "mediaDevices" - @usableFromInline static let menubar: JSString = "menubar" - @usableFromInline static let message: JSString = "message" - @usableFromInline static let metaKey: JSString = "metaKey" - @usableFromInline static let metadata: JSString = "metadata" - @usableFromInline static let method: JSString = "method" - @usableFromInline static let mimeType: JSString = "mimeType" - @usableFromInline static let mimeTypes: JSString = "mimeTypes" - @usableFromInline static let min: JSString = "min" - @usableFromInline static let minLength: JSString = "minLength" - @usableFromInline static let miterLimit: JSString = "miterLimit" - @usableFromInline static let mode: JSString = "mode" - @usableFromInline static let modifierAltGraph: JSString = "modifierAltGraph" - @usableFromInline static let modifierCapsLock: JSString = "modifierCapsLock" - @usableFromInline static let modifierFn: JSString = "modifierFn" - @usableFromInline static let modifierFnLock: JSString = "modifierFnLock" - @usableFromInline static let modifierHyper: JSString = "modifierHyper" - @usableFromInline static let modifierNumLock: JSString = "modifierNumLock" - @usableFromInline static let modifierScrollLock: JSString = "modifierScrollLock" - @usableFromInline static let modifierSuper: JSString = "modifierSuper" - @usableFromInline static let modifierSymbol: JSString = "modifierSymbol" - @usableFromInline static let modifierSymbolLock: JSString = "modifierSymbolLock" - @usableFromInline static let moveBy: JSString = "moveBy" - @usableFromInline static let moveTo: JSString = "moveTo" - @usableFromInline static let multiple: JSString = "multiple" - @usableFromInline static let multiply: JSString = "multiply" - @usableFromInline static let multiplySelf: JSString = "multiplySelf" - @usableFromInline static let muted: JSString = "muted" - @usableFromInline static let name: JSString = "name" - @usableFromInline static let namedItem: JSString = "namedItem" - @usableFromInline static let namespaceURI: JSString = "namespaceURI" - @usableFromInline static let naturalHeight: JSString = "naturalHeight" - @usableFromInline static let naturalWidth: JSString = "naturalWidth" - @usableFromInline static let navigate: JSString = "navigate" - @usableFromInline static let navigation: JSString = "navigation" - @usableFromInline static let navigationPreload: JSString = "navigationPreload" - @usableFromInline static let navigationType: JSString = "navigationType" - @usableFromInline static let navigator: JSString = "navigator" - @usableFromInline static let networkState: JSString = "networkState" - @usableFromInline static let newState: JSString = "newState" - @usableFromInline static let newURL: JSString = "newURL" - @usableFromInline static let newValue: JSString = "newValue" - @usableFromInline static let nextElementSibling: JSString = "nextElementSibling" - @usableFromInline static let nextNode: JSString = "nextNode" - @usableFromInline static let nextSibling: JSString = "nextSibling" - @usableFromInline static let noHref: JSString = "noHref" - @usableFromInline static let noModule: JSString = "noModule" - @usableFromInline static let noResize: JSString = "noResize" - @usableFromInline static let noShade: JSString = "noShade" - @usableFromInline static let noValidate: JSString = "noValidate" - @usableFromInline static let noWrap: JSString = "noWrap" - @usableFromInline static let nodeName: JSString = "nodeName" - @usableFromInline static let nodeType: JSString = "nodeType" - @usableFromInline static let nodeValue: JSString = "nodeValue" - @usableFromInline static let noiseSuppression: JSString = "noiseSuppression" - @usableFromInline static let nonce: JSString = "nonce" - @usableFromInline static let normalize: JSString = "normalize" - @usableFromInline static let now: JSString = "now" - @usableFromInline static let numberOfChannels: JSString = "numberOfChannels" - @usableFromInline static let numberOfFrames: JSString = "numberOfFrames" - @usableFromInline static let numberValue: JSString = "numberValue" - @usableFromInline static let observe: JSString = "observe" - @usableFromInline static let offset: JSString = "offset" - @usableFromInline static let offsetHeight: JSString = "offsetHeight" - @usableFromInline static let offsetLeft: JSString = "offsetLeft" - @usableFromInline static let offsetNode: JSString = "offsetNode" - @usableFromInline static let offsetParent: JSString = "offsetParent" - @usableFromInline static let offsetTop: JSString = "offsetTop" - @usableFromInline static let offsetWidth: JSString = "offsetWidth" - @usableFromInline static let offsetX: JSString = "offsetX" - @usableFromInline static let offsetY: JSString = "offsetY" - @usableFromInline static let ok: JSString = "ok" - @usableFromInline static let oldState: JSString = "oldState" - @usableFromInline static let oldURL: JSString = "oldURL" - @usableFromInline static let oldValue: JSString = "oldValue" - @usableFromInline static let onLine: JSString = "onLine" - @usableFromInline static let onabort: JSString = "onabort" - @usableFromInline static let onaddsourcebuffer: JSString = "onaddsourcebuffer" - @usableFromInline static let onaddtrack: JSString = "onaddtrack" - @usableFromInline static let onafterprint: JSString = "onafterprint" - @usableFromInline static let onauxclick: JSString = "onauxclick" - @usableFromInline static let onbeforeinput: JSString = "onbeforeinput" - @usableFromInline static let onbeforematch: JSString = "onbeforematch" - @usableFromInline static let onbeforeprint: JSString = "onbeforeprint" - @usableFromInline static let onbeforetoggle: JSString = "onbeforetoggle" - @usableFromInline static let onbeforeunload: JSString = "onbeforeunload" - @usableFromInline static let onblur: JSString = "onblur" - @usableFromInline static let oncancel: JSString = "oncancel" - @usableFromInline static let oncanplay: JSString = "oncanplay" - @usableFromInline static let oncanplaythrough: JSString = "oncanplaythrough" - @usableFromInline static let once: JSString = "once" - @usableFromInline static let onchange: JSString = "onchange" - @usableFromInline static let onclick: JSString = "onclick" - @usableFromInline static let onclose: JSString = "onclose" - @usableFromInline static let oncontextlost: JSString = "oncontextlost" - @usableFromInline static let oncontextmenu: JSString = "oncontextmenu" - @usableFromInline static let oncontextrestored: JSString = "oncontextrestored" - @usableFromInline static let oncontrollerchange: JSString = "oncontrollerchange" - @usableFromInline static let oncopy: JSString = "oncopy" - @usableFromInline static let oncuechange: JSString = "oncuechange" - @usableFromInline static let oncurrententrychange: JSString = "oncurrententrychange" - @usableFromInline static let oncut: JSString = "oncut" - @usableFromInline static let ondataavailable: JSString = "ondataavailable" - @usableFromInline static let ondblclick: JSString = "ondblclick" - @usableFromInline static let ondequeue: JSString = "ondequeue" - @usableFromInline static let ondevicechange: JSString = "ondevicechange" - @usableFromInline static let ondispose: JSString = "ondispose" - @usableFromInline static let ondrag: JSString = "ondrag" - @usableFromInline static let ondragend: JSString = "ondragend" - @usableFromInline static let ondragenter: JSString = "ondragenter" - @usableFromInline static let ondragleave: JSString = "ondragleave" - @usableFromInline static let ondragover: JSString = "ondragover" - @usableFromInline static let ondragstart: JSString = "ondragstart" - @usableFromInline static let ondrop: JSString = "ondrop" - @usableFromInline static let ondurationchange: JSString = "ondurationchange" - @usableFromInline static let onemptied: JSString = "onemptied" - @usableFromInline static let onended: JSString = "onended" - @usableFromInline static let onenter: JSString = "onenter" - @usableFromInline static let onerror: JSString = "onerror" - @usableFromInline static let onexit: JSString = "onexit" - @usableFromInline static let onfocus: JSString = "onfocus" - @usableFromInline static let onformdata: JSString = "onformdata" - @usableFromInline static let onhashchange: JSString = "onhashchange" - @usableFromInline static let oninput: JSString = "oninput" - @usableFromInline static let oninvalid: JSString = "oninvalid" - @usableFromInline static let onkeydown: JSString = "onkeydown" - @usableFromInline static let onkeypress: JSString = "onkeypress" - @usableFromInline static let onkeyup: JSString = "onkeyup" - @usableFromInline static let onlanguagechange: JSString = "onlanguagechange" - @usableFromInline static let onload: JSString = "onload" - @usableFromInline static let onloadeddata: JSString = "onloadeddata" - @usableFromInline static let onloadedmetadata: JSString = "onloadedmetadata" - @usableFromInline static let onloadend: JSString = "onloadend" - @usableFromInline static let onloadstart: JSString = "onloadstart" - @usableFromInline static let onmessage: JSString = "onmessage" - @usableFromInline static let onmessageerror: JSString = "onmessageerror" - @usableFromInline static let onmousedown: JSString = "onmousedown" - @usableFromInline static let onmouseenter: JSString = "onmouseenter" - @usableFromInline static let onmouseleave: JSString = "onmouseleave" - @usableFromInline static let onmousemove: JSString = "onmousemove" - @usableFromInline static let onmouseout: JSString = "onmouseout" - @usableFromInline static let onmouseover: JSString = "onmouseover" - @usableFromInline static let onmouseup: JSString = "onmouseup" - @usableFromInline static let onmute: JSString = "onmute" - @usableFromInline static let onnavigate: JSString = "onnavigate" - @usableFromInline static let onnavigateerror: JSString = "onnavigateerror" - @usableFromInline static let onnavigatesuccess: JSString = "onnavigatesuccess" - @usableFromInline static let onoffline: JSString = "onoffline" - @usableFromInline static let ononline: JSString = "ononline" - @usableFromInline static let onopen: JSString = "onopen" - @usableFromInline static let onpagehide: JSString = "onpagehide" - @usableFromInline static let onpageshow: JSString = "onpageshow" - @usableFromInline static let onpaste: JSString = "onpaste" - @usableFromInline static let onpause: JSString = "onpause" - @usableFromInline static let onplay: JSString = "onplay" - @usableFromInline static let onplaying: JSString = "onplaying" - @usableFromInline static let onpopstate: JSString = "onpopstate" - @usableFromInline static let onprogress: JSString = "onprogress" - @usableFromInline static let onratechange: JSString = "onratechange" - @usableFromInline static let onreadystatechange: JSString = "onreadystatechange" - @usableFromInline static let onrejectionhandled: JSString = "onrejectionhandled" - @usableFromInline static let onremovesourcebuffer: JSString = "onremovesourcebuffer" - @usableFromInline static let onremovetrack: JSString = "onremovetrack" - @usableFromInline static let onreset: JSString = "onreset" - @usableFromInline static let onresize: JSString = "onresize" - @usableFromInline static let onresume: JSString = "onresume" - @usableFromInline static let onscroll: JSString = "onscroll" - @usableFromInline static let onscrollend: JSString = "onscrollend" - @usableFromInline static let onsecuritypolicyviolation: JSString = "onsecuritypolicyviolation" - @usableFromInline static let onseeked: JSString = "onseeked" - @usableFromInline static let onseeking: JSString = "onseeking" - @usableFromInline static let onselect: JSString = "onselect" - @usableFromInline static let onslotchange: JSString = "onslotchange" - @usableFromInline static let onsourceclose: JSString = "onsourceclose" - @usableFromInline static let onsourceended: JSString = "onsourceended" - @usableFromInline static let onsourceopen: JSString = "onsourceopen" - @usableFromInline static let onstalled: JSString = "onstalled" - @usableFromInline static let onstart: JSString = "onstart" - @usableFromInline static let onstatechange: JSString = "onstatechange" - @usableFromInline static let onstop: JSString = "onstop" - @usableFromInline static let onstorage: JSString = "onstorage" - @usableFromInline static let onsubmit: JSString = "onsubmit" - @usableFromInline static let onsuspend: JSString = "onsuspend" - @usableFromInline static let ontimeout: JSString = "ontimeout" - @usableFromInline static let ontimeupdate: JSString = "ontimeupdate" - @usableFromInline static let ontoggle: JSString = "ontoggle" - @usableFromInline static let ontouchcancel: JSString = "ontouchcancel" - @usableFromInline static let ontouchend: JSString = "ontouchend" - @usableFromInline static let ontouchmove: JSString = "ontouchmove" - @usableFromInline static let ontouchstart: JSString = "ontouchstart" - @usableFromInline static let onunhandledrejection: JSString = "onunhandledrejection" - @usableFromInline static let onunload: JSString = "onunload" - @usableFromInline static let onunmute: JSString = "onunmute" - @usableFromInline static let onupdate: JSString = "onupdate" - @usableFromInline static let onupdateend: JSString = "onupdateend" - @usableFromInline static let onupdatefound: JSString = "onupdatefound" - @usableFromInline static let onupdatestart: JSString = "onupdatestart" - @usableFromInline static let onvisibilitychange: JSString = "onvisibilitychange" - @usableFromInline static let onvolumechange: JSString = "onvolumechange" - @usableFromInline static let onwaiting: JSString = "onwaiting" - @usableFromInline static let onwebkitanimationend: JSString = "onwebkitanimationend" - @usableFromInline static let onwebkitanimationiteration: JSString = "onwebkitanimationiteration" - @usableFromInline static let onwebkitanimationstart: JSString = "onwebkitanimationstart" - @usableFromInline static let onwebkittransitionend: JSString = "onwebkittransitionend" - @usableFromInline static let onwheel: JSString = "onwheel" - @usableFromInline static let open: JSString = "open" - @usableFromInline static let opener: JSString = "opener" - @usableFromInline static let optimizeForLatency: JSString = "optimizeForLatency" - @usableFromInline static let optimum: JSString = "optimum" - @usableFromInline static let options: JSString = "options" - @usableFromInline static let origin: JSString = "origin" - @usableFromInline static let originAgentCluster: JSString = "originAgentCluster" - @usableFromInline static let oscpu: JSString = "oscpu" - @usableFromInline static let outerHeight: JSString = "outerHeight" - @usableFromInline static let outerText: JSString = "outerText" - @usableFromInline static let outerWidth: JSString = "outerWidth" - @usableFromInline static let output: JSString = "output" - @usableFromInline static let overrideMimeType: JSString = "overrideMimeType" - @usableFromInline static let ownerDocument: JSString = "ownerDocument" - @usableFromInline static let ownerElement: JSString = "ownerElement" - @usableFromInline static let p1: JSString = "p1" - @usableFromInline static let p2: JSString = "p2" - @usableFromInline static let p3: JSString = "p3" - @usableFromInline static let p4: JSString = "p4" - @usableFromInline static let pageLeft: JSString = "pageLeft" - @usableFromInline static let pageTop: JSString = "pageTop" - @usableFromInline static let pageX: JSString = "pageX" - @usableFromInline static let pageXOffset: JSString = "pageXOffset" - @usableFromInline static let pageY: JSString = "pageY" - @usableFromInline static let pageYOffset: JSString = "pageYOffset" - @usableFromInline static let panTiltZoom: JSString = "panTiltZoom" - @usableFromInline static let parent: JSString = "parent" - @usableFromInline static let parentElement: JSString = "parentElement" - @usableFromInline static let parentNode: JSString = "parentNode" - @usableFromInline static let parseFromString: JSString = "parseFromString" - @usableFromInline static let passive: JSString = "passive" - @usableFromInline static let password: JSString = "password" - @usableFromInline static let pathname: JSString = "pathname" - @usableFromInline static let pattern: JSString = "pattern" - @usableFromInline static let patternMismatch: JSString = "patternMismatch" - @usableFromInline static let pause: JSString = "pause" - @usableFromInline static let pauseOnExit: JSString = "pauseOnExit" - @usableFromInline static let paused: JSString = "paused" - @usableFromInline static let pdfViewerEnabled: JSString = "pdfViewerEnabled" - @usableFromInline static let performance: JSString = "performance" - @usableFromInline static let permissions: JSString = "permissions" - @usableFromInline static let persisted: JSString = "persisted" - @usableFromInline static let personalbar: JSString = "personalbar" - @usableFromInline static let ping: JSString = "ping" - @usableFromInline static let pipeThrough: JSString = "pipeThrough" - @usableFromInline static let pipeTo: JSString = "pipeTo" - @usableFromInline static let pixelDepth: JSString = "pixelDepth" - @usableFromInline static let placeholder: JSString = "placeholder" - @usableFromInline static let planeIndex: JSString = "planeIndex" - @usableFromInline static let platform: JSString = "platform" - @usableFromInline static let play: JSString = "play" - @usableFromInline static let playbackRate: JSString = "playbackRate" - @usableFromInline static let played: JSString = "played" - @usableFromInline static let playsInline: JSString = "playsInline" - @usableFromInline static let plugins: JSString = "plugins" - @usableFromInline static let pointerBeforeReferenceNode: JSString = "pointerBeforeReferenceNode" - @usableFromInline static let popover: JSString = "popover" - @usableFromInline static let popoverTargetAction: JSString = "popoverTargetAction" - @usableFromInline static let popoverTargetElement: JSString = "popoverTargetElement" - @usableFromInline static let port: JSString = "port" - @usableFromInline static let port1: JSString = "port1" - @usableFromInline static let port2: JSString = "port2" - @usableFromInline static let ports: JSString = "ports" - @usableFromInline static let position: JSString = "position" - @usableFromInline static let postMessage: JSString = "postMessage" - @usableFromInline static let poster: JSString = "poster" - @usableFromInline static let preMultiplySelf: JSString = "preMultiplySelf" - @usableFromInline static let preferAnimation: JSString = "preferAnimation" - @usableFromInline static let prefix: JSString = "prefix" - @usableFromInline static let preload: JSString = "preload" - @usableFromInline static let preloadResponse: JSString = "preloadResponse" - @usableFromInline static let premultiplyAlpha: JSString = "premultiplyAlpha" - @usableFromInline static let prepend: JSString = "prepend" - @usableFromInline static let preservesPitch: JSString = "preservesPitch" - @usableFromInline static let prevValue: JSString = "prevValue" - @usableFromInline static let preventAbort: JSString = "preventAbort" - @usableFromInline static let preventCancel: JSString = "preventCancel" - @usableFromInline static let preventClose: JSString = "preventClose" - @usableFromInline static let preventDefault: JSString = "preventDefault" - @usableFromInline static let preventScroll: JSString = "preventScroll" - @usableFromInline static let previousElementSibling: JSString = "previousElementSibling" - @usableFromInline static let previousNode: JSString = "previousNode" - @usableFromInline static let previousSibling: JSString = "previousSibling" - @usableFromInline static let primaries: JSString = "primaries" - @usableFromInline static let print: JSString = "print" - @usableFromInline static let priority: JSString = "priority" - @usableFromInline static let product: JSString = "product" - @usableFromInline static let productSub: JSString = "productSub" - @usableFromInline static let promise: JSString = "promise" - @usableFromInline static let prompt: JSString = "prompt" + @usableFromInline static let `is2D`: JSString = "is2D" + @usableFromInline static let `isActive`: JSString = "isActive" + @usableFromInline static let `isComposing`: JSString = "isComposing" + @usableFromInline static let `isConfigSupported`: JSString = "isConfigSupported" + @usableFromInline static let `isConnected`: JSString = "isConnected" + @usableFromInline static let `isContentEditable`: JSString = "isContentEditable" + @usableFromInline static let `isContextLost`: JSString = "isContextLost" + @usableFromInline static let `isDefaultNamespace`: JSString = "isDefaultNamespace" + @usableFromInline static let `isEqualNode`: JSString = "isEqualNode" + @usableFromInline static let `isHTML`: JSString = "isHTML" + @usableFromInline static let `isHistoryNavigation`: JSString = "isHistoryNavigation" + @usableFromInline static let `isIdentity`: JSString = "isIdentity" + @usableFromInline static let `isMap`: JSString = "isMap" + @usableFromInline static let `isPointInPath`: JSString = "isPointInPath" + @usableFromInline static let `isPointInRange`: JSString = "isPointInRange" + @usableFromInline static let `isPointInStroke`: JSString = "isPointInStroke" + @usableFromInline static let `isReloadNavigation`: JSString = "isReloadNavigation" + @usableFromInline static let `isSameNode`: JSString = "isSameNode" + @usableFromInline static let `isScript`: JSString = "isScript" + @usableFromInline static let `isScriptURL`: JSString = "isScriptURL" + @usableFromInline static let `isSecureContext`: JSString = "isSecureContext" + @usableFromInline static let `isTrusted`: JSString = "isTrusted" + @usableFromInline static let `isTypeSupported`: JSString = "isTypeSupported" + @usableFromInline static let `item`: JSString = "item" + @usableFromInline static let `items`: JSString = "items" + @usableFromInline static let `iterateNext`: JSString = "iterateNext" + @usableFromInline static let `javaEnabled`: JSString = "javaEnabled" + @usableFromInline static let `json`: JSString = "json" + @usableFromInline static let `keepalive`: JSString = "keepalive" + @usableFromInline static let `key`: JSString = "key" + @usableFromInline static let `keyCode`: JSString = "keyCode" + @usableFromInline static let `keyFrame`: JSString = "keyFrame" + @usableFromInline static let `keys`: JSString = "keys" + @usableFromInline static let `kind`: JSString = "kind" + @usableFromInline static let `label`: JSString = "label" + @usableFromInline static let `labels`: JSString = "labels" + @usableFromInline static let `lang`: JSString = "lang" + @usableFromInline static let `language`: JSString = "language" + @usableFromInline static let `languages`: JSString = "languages" + @usableFromInline static let `lastChild`: JSString = "lastChild" + @usableFromInline static let `lastElementChild`: JSString = "lastElementChild" + @usableFromInline static let `lastEventId`: JSString = "lastEventId" + @usableFromInline static let `lastModified`: JSString = "lastModified" + @usableFromInline static let `latency`: JSString = "latency" + @usableFromInline static let `latencyMode`: JSString = "latencyMode" + @usableFromInline static let `layerX`: JSString = "layerX" + @usableFromInline static let `layerY`: JSString = "layerY" + @usableFromInline static let `layout`: JSString = "layout" + @usableFromInline static let `left`: JSString = "left" + @usableFromInline static let `length`: JSString = "length" + @usableFromInline static let `lengthComputable`: JSString = "lengthComputable" + @usableFromInline static let `letterSpacing`: JSString = "letterSpacing" + @usableFromInline static let `lineCap`: JSString = "lineCap" + @usableFromInline static let `lineDashOffset`: JSString = "lineDashOffset" + @usableFromInline static let `lineJoin`: JSString = "lineJoin" + @usableFromInline static let `lineTo`: JSString = "lineTo" + @usableFromInline static let `lineWidth`: JSString = "lineWidth" + @usableFromInline static let `lineno`: JSString = "lineno" + @usableFromInline static let `link`: JSString = "link" + @usableFromInline static let `linkColor`: JSString = "linkColor" + @usableFromInline static let `links`: JSString = "links" + @usableFromInline static let `list`: JSString = "list" + @usableFromInline static let `load`: JSString = "load" + @usableFromInline static let `loaded`: JSString = "loaded" + @usableFromInline static let `loading`: JSString = "loading" + @usableFromInline static let `localName`: JSString = "localName" + @usableFromInline static let `localStorage`: JSString = "localStorage" + @usableFromInline static let `location`: JSString = "location" + @usableFromInline static let `locationbar`: JSString = "locationbar" + @usableFromInline static let `locked`: JSString = "locked" + @usableFromInline static let `longDesc`: JSString = "longDesc" + @usableFromInline static let `lookupNamespaceURI`: JSString = "lookupNamespaceURI" + @usableFromInline static let `lookupPrefix`: JSString = "lookupPrefix" + @usableFromInline static let `loop`: JSString = "loop" + @usableFromInline static let `low`: JSString = "low" + @usableFromInline static let `lowsrc`: JSString = "lowsrc" + @usableFromInline static let `m11`: JSString = "m11" + @usableFromInline static let `m12`: JSString = "m12" + @usableFromInline static let `m13`: JSString = "m13" + @usableFromInline static let `m14`: JSString = "m14" + @usableFromInline static let `m21`: JSString = "m21" + @usableFromInline static let `m22`: JSString = "m22" + @usableFromInline static let `m23`: JSString = "m23" + @usableFromInline static let `m24`: JSString = "m24" + @usableFromInline static let `m31`: JSString = "m31" + @usableFromInline static let `m32`: JSString = "m32" + @usableFromInline static let `m33`: JSString = "m33" + @usableFromInline static let `m34`: JSString = "m34" + @usableFromInline static let `m41`: JSString = "m41" + @usableFromInline static let `m42`: JSString = "m42" + @usableFromInline static let `m43`: JSString = "m43" + @usableFromInline static let `m44`: JSString = "m44" + @usableFromInline static let `marginHeight`: JSString = "marginHeight" + @usableFromInline static let `marginWidth`: JSString = "marginWidth" + @usableFromInline static let `match`: JSString = "match" + @usableFromInline static let `matchAll`: JSString = "matchAll" + @usableFromInline static let `matchMedia`: JSString = "matchMedia" + @usableFromInline static let `matches`: JSString = "matches" + @usableFromInline static let `matrix`: JSString = "matrix" + @usableFromInline static let `matrixTransform`: JSString = "matrixTransform" + @usableFromInline static let `max`: JSString = "max" + @usableFromInline static let `maxLength`: JSString = "maxLength" + @usableFromInline static let `measureText`: JSString = "measureText" + @usableFromInline static let `media`: JSString = "media" + @usableFromInline static let `mediaDevices`: JSString = "mediaDevices" + @usableFromInline static let `menubar`: JSString = "menubar" + @usableFromInline static let `message`: JSString = "message" + @usableFromInline static let `metaKey`: JSString = "metaKey" + @usableFromInline static let `metadata`: JSString = "metadata" + @usableFromInline static let `method`: JSString = "method" + @usableFromInline static let `mimeType`: JSString = "mimeType" + @usableFromInline static let `mimeTypes`: JSString = "mimeTypes" + @usableFromInline static let `min`: JSString = "min" + @usableFromInline static let `minLength`: JSString = "minLength" + @usableFromInline static let `miterLimit`: JSString = "miterLimit" + @usableFromInline static let `mode`: JSString = "mode" + @usableFromInline static let `modifierAltGraph`: JSString = "modifierAltGraph" + @usableFromInline static let `modifierCapsLock`: JSString = "modifierCapsLock" + @usableFromInline static let `modifierFn`: JSString = "modifierFn" + @usableFromInline static let `modifierFnLock`: JSString = "modifierFnLock" + @usableFromInline static let `modifierHyper`: JSString = "modifierHyper" + @usableFromInline static let `modifierNumLock`: JSString = "modifierNumLock" + @usableFromInline static let `modifierScrollLock`: JSString = "modifierScrollLock" + @usableFromInline static let `modifierSuper`: JSString = "modifierSuper" + @usableFromInline static let `modifierSymbol`: JSString = "modifierSymbol" + @usableFromInline static let `modifierSymbolLock`: JSString = "modifierSymbolLock" + @usableFromInline static let `moveBy`: JSString = "moveBy" + @usableFromInline static let `moveTo`: JSString = "moveTo" + @usableFromInline static let `multiple`: JSString = "multiple" + @usableFromInline static let `multiply`: JSString = "multiply" + @usableFromInline static let `multiplySelf`: JSString = "multiplySelf" + @usableFromInline static let `muted`: JSString = "muted" + @usableFromInline static let `name`: JSString = "name" + @usableFromInline static let `namedItem`: JSString = "namedItem" + @usableFromInline static let `namespaceURI`: JSString = "namespaceURI" + @usableFromInline static let `naturalHeight`: JSString = "naturalHeight" + @usableFromInline static let `naturalWidth`: JSString = "naturalWidth" + @usableFromInline static let `navigate`: JSString = "navigate" + @usableFromInline static let `navigation`: JSString = "navigation" + @usableFromInline static let `navigationId`: JSString = "navigationId" + @usableFromInline static let `navigationPreload`: JSString = "navigationPreload" + @usableFromInline static let `navigationType`: JSString = "navigationType" + @usableFromInline static let `navigator`: JSString = "navigator" + @usableFromInline static let `networkState`: JSString = "networkState" + @usableFromInline static let `newState`: JSString = "newState" + @usableFromInline static let `newURL`: JSString = "newURL" + @usableFromInline static let `newValue`: JSString = "newValue" + @usableFromInline static let `nextElementSibling`: JSString = "nextElementSibling" + @usableFromInline static let `nextNode`: JSString = "nextNode" + @usableFromInline static let `nextSibling`: JSString = "nextSibling" + @usableFromInline static let `noHref`: JSString = "noHref" + @usableFromInline static let `noModule`: JSString = "noModule" + @usableFromInline static let `noResize`: JSString = "noResize" + @usableFromInline static let `noShade`: JSString = "noShade" + @usableFromInline static let `noValidate`: JSString = "noValidate" + @usableFromInline static let `noWrap`: JSString = "noWrap" + @usableFromInline static let `nodeName`: JSString = "nodeName" + @usableFromInline static let `nodeType`: JSString = "nodeType" + @usableFromInline static let `nodeValue`: JSString = "nodeValue" + @usableFromInline static let `noiseSuppression`: JSString = "noiseSuppression" + @usableFromInline static let `nonce`: JSString = "nonce" + @usableFromInline static let `normalize`: JSString = "normalize" + @usableFromInline static let `not`: JSString = "not" + @usableFromInline static let `now`: JSString = "now" + @usableFromInline static let `numberOfChannels`: JSString = "numberOfChannels" + @usableFromInline static let `numberOfFrames`: JSString = "numberOfFrames" + @usableFromInline static let `numberValue`: JSString = "numberValue" + @usableFromInline static let `observe`: JSString = "observe" + @usableFromInline static let `offset`: JSString = "offset" + @usableFromInline static let `offsetHeight`: JSString = "offsetHeight" + @usableFromInline static let `offsetLeft`: JSString = "offsetLeft" + @usableFromInline static let `offsetNode`: JSString = "offsetNode" + @usableFromInline static let `offsetParent`: JSString = "offsetParent" + @usableFromInline static let `offsetTop`: JSString = "offsetTop" + @usableFromInline static let `offsetWidth`: JSString = "offsetWidth" + @usableFromInline static let `offsetX`: JSString = "offsetX" + @usableFromInline static let `offsetY`: JSString = "offsetY" + @usableFromInline static let `ok`: JSString = "ok" + @usableFromInline static let `oldState`: JSString = "oldState" + @usableFromInline static let `oldURL`: JSString = "oldURL" + @usableFromInline static let `oldValue`: JSString = "oldValue" + @usableFromInline static let `onLine`: JSString = "onLine" + @usableFromInline static let `onabort`: JSString = "onabort" + @usableFromInline static let `onaddsourcebuffer`: JSString = "onaddsourcebuffer" + @usableFromInline static let `onaddtrack`: JSString = "onaddtrack" + @usableFromInline static let `onafterprint`: JSString = "onafterprint" + @usableFromInline static let `onauxclick`: JSString = "onauxclick" + @usableFromInline static let `onbeforeinput`: JSString = "onbeforeinput" + @usableFromInline static let `onbeforematch`: JSString = "onbeforematch" + @usableFromInline static let `onbeforeprint`: JSString = "onbeforeprint" + @usableFromInline static let `onbeforetoggle`: JSString = "onbeforetoggle" + @usableFromInline static let `onbeforeunload`: JSString = "onbeforeunload" + @usableFromInline static let `onblur`: JSString = "onblur" + @usableFromInline static let `onbufferedchange`: JSString = "onbufferedchange" + @usableFromInline static let `oncancel`: JSString = "oncancel" + @usableFromInline static let `oncanplay`: JSString = "oncanplay" + @usableFromInline static let `oncanplaythrough`: JSString = "oncanplaythrough" + @usableFromInline static let `once`: JSString = "once" + @usableFromInline static let `onchange`: JSString = "onchange" + @usableFromInline static let `onclick`: JSString = "onclick" + @usableFromInline static let `onclose`: JSString = "onclose" + @usableFromInline static let `oncommand`: JSString = "oncommand" + @usableFromInline static let `oncontextlost`: JSString = "oncontextlost" + @usableFromInline static let `oncontextmenu`: JSString = "oncontextmenu" + @usableFromInline static let `oncontextrestored`: JSString = "oncontextrestored" + @usableFromInline static let `oncontrollerchange`: JSString = "oncontrollerchange" + @usableFromInline static let `oncopy`: JSString = "oncopy" + @usableFromInline static let `oncuechange`: JSString = "oncuechange" + @usableFromInline static let `oncurrententrychange`: JSString = "oncurrententrychange" + @usableFromInline static let `oncut`: JSString = "oncut" + @usableFromInline static let `ondataavailable`: JSString = "ondataavailable" + @usableFromInline static let `ondblclick`: JSString = "ondblclick" + @usableFromInline static let `ondequeue`: JSString = "ondequeue" + @usableFromInline static let `ondevicechange`: JSString = "ondevicechange" + @usableFromInline static let `ondispose`: JSString = "ondispose" + @usableFromInline static let `ondrag`: JSString = "ondrag" + @usableFromInline static let `ondragend`: JSString = "ondragend" + @usableFromInline static let `ondragenter`: JSString = "ondragenter" + @usableFromInline static let `ondragleave`: JSString = "ondragleave" + @usableFromInline static let `ondragover`: JSString = "ondragover" + @usableFromInline static let `ondragstart`: JSString = "ondragstart" + @usableFromInline static let `ondrop`: JSString = "ondrop" + @usableFromInline static let `ondurationchange`: JSString = "ondurationchange" + @usableFromInline static let `onemptied`: JSString = "onemptied" + @usableFromInline static let `onended`: JSString = "onended" + @usableFromInline static let `onendstreaming`: JSString = "onendstreaming" + @usableFromInline static let `onenter`: JSString = "onenter" + @usableFromInline static let `onerror`: JSString = "onerror" + @usableFromInline static let `onexit`: JSString = "onexit" + @usableFromInline static let `onfocus`: JSString = "onfocus" + @usableFromInline static let `onformdata`: JSString = "onformdata" + @usableFromInline static let `onhashchange`: JSString = "onhashchange" + @usableFromInline static let `oninput`: JSString = "oninput" + @usableFromInline static let `oninvalid`: JSString = "oninvalid" + @usableFromInline static let `onkeydown`: JSString = "onkeydown" + @usableFromInline static let `onkeypress`: JSString = "onkeypress" + @usableFromInline static let `onkeyup`: JSString = "onkeyup" + @usableFromInline static let `onlanguagechange`: JSString = "onlanguagechange" + @usableFromInline static let `onload`: JSString = "onload" + @usableFromInline static let `onloadeddata`: JSString = "onloadeddata" + @usableFromInline static let `onloadedmetadata`: JSString = "onloadedmetadata" + @usableFromInline static let `onloadend`: JSString = "onloadend" + @usableFromInline static let `onloadstart`: JSString = "onloadstart" + @usableFromInline static let `onmessage`: JSString = "onmessage" + @usableFromInline static let `onmessageerror`: JSString = "onmessageerror" + @usableFromInline static let `onmousedown`: JSString = "onmousedown" + @usableFromInline static let `onmouseenter`: JSString = "onmouseenter" + @usableFromInline static let `onmouseleave`: JSString = "onmouseleave" + @usableFromInline static let `onmousemove`: JSString = "onmousemove" + @usableFromInline static let `onmouseout`: JSString = "onmouseout" + @usableFromInline static let `onmouseover`: JSString = "onmouseover" + @usableFromInline static let `onmouseup`: JSString = "onmouseup" + @usableFromInline static let `onmute`: JSString = "onmute" + @usableFromInline static let `onnavigate`: JSString = "onnavigate" + @usableFromInline static let `onnavigateerror`: JSString = "onnavigateerror" + @usableFromInline static let `onnavigatesuccess`: JSString = "onnavigatesuccess" + @usableFromInline static let `onoffline`: JSString = "onoffline" + @usableFromInline static let `ononline`: JSString = "ononline" + @usableFromInline static let `onopen`: JSString = "onopen" + @usableFromInline static let `onpagehide`: JSString = "onpagehide" + @usableFromInline static let `onpagereveal`: JSString = "onpagereveal" + @usableFromInline static let `onpageshow`: JSString = "onpageshow" + @usableFromInline static let `onpageswap`: JSString = "onpageswap" + @usableFromInline static let `onpaste`: JSString = "onpaste" + @usableFromInline static let `onpause`: JSString = "onpause" + @usableFromInline static let `onplay`: JSString = "onplay" + @usableFromInline static let `onplaying`: JSString = "onplaying" + @usableFromInline static let `onpopstate`: JSString = "onpopstate" + @usableFromInline static let `onprogress`: JSString = "onprogress" + @usableFromInline static let `onratechange`: JSString = "onratechange" + @usableFromInline static let `onreadystatechange`: JSString = "onreadystatechange" + @usableFromInline static let `onrejectionhandled`: JSString = "onrejectionhandled" + @usableFromInline static let `onremovesourcebuffer`: JSString = "onremovesourcebuffer" + @usableFromInline static let `onremovetrack`: JSString = "onremovetrack" + @usableFromInline static let `onreset`: JSString = "onreset" + @usableFromInline static let `onresize`: JSString = "onresize" + @usableFromInline static let `onresume`: JSString = "onresume" + @usableFromInline static let `onscroll`: JSString = "onscroll" + @usableFromInline static let `onscrollend`: JSString = "onscrollend" + @usableFromInline static let `onsecuritypolicyviolation`: JSString = "onsecuritypolicyviolation" + @usableFromInline static let `onseeked`: JSString = "onseeked" + @usableFromInline static let `onseeking`: JSString = "onseeking" + @usableFromInline static let `onselect`: JSString = "onselect" + @usableFromInline static let `onslotchange`: JSString = "onslotchange" + @usableFromInline static let `onsourceclose`: JSString = "onsourceclose" + @usableFromInline static let `onsourceended`: JSString = "onsourceended" + @usableFromInline static let `onsourceopen`: JSString = "onsourceopen" + @usableFromInline static let `onstalled`: JSString = "onstalled" + @usableFromInline static let `onstart`: JSString = "onstart" + @usableFromInline static let `onstartstreaming`: JSString = "onstartstreaming" + @usableFromInline static let `onstatechange`: JSString = "onstatechange" + @usableFromInline static let `onstop`: JSString = "onstop" + @usableFromInline static let `onstorage`: JSString = "onstorage" + @usableFromInline static let `onsubmit`: JSString = "onsubmit" + @usableFromInline static let `onsuspend`: JSString = "onsuspend" + @usableFromInline static let `ontimeout`: JSString = "ontimeout" + @usableFromInline static let `ontimeupdate`: JSString = "ontimeupdate" + @usableFromInline static let `ontoggle`: JSString = "ontoggle" + @usableFromInline static let `ontouchcancel`: JSString = "ontouchcancel" + @usableFromInline static let `ontouchend`: JSString = "ontouchend" + @usableFromInline static let `ontouchmove`: JSString = "ontouchmove" + @usableFromInline static let `ontouchstart`: JSString = "ontouchstart" + @usableFromInline static let `onunhandledrejection`: JSString = "onunhandledrejection" + @usableFromInline static let `onunload`: JSString = "onunload" + @usableFromInline static let `onunmute`: JSString = "onunmute" + @usableFromInline static let `onupdate`: JSString = "onupdate" + @usableFromInline static let `onupdateend`: JSString = "onupdateend" + @usableFromInline static let `onupdatefound`: JSString = "onupdatefound" + @usableFromInline static let `onupdatestart`: JSString = "onupdatestart" + @usableFromInline static let `onvisibilitychange`: JSString = "onvisibilitychange" + @usableFromInline static let `onvolumechange`: JSString = "onvolumechange" + @usableFromInline static let `onwaiting`: JSString = "onwaiting" + @usableFromInline static let `onwebkitanimationend`: JSString = "onwebkitanimationend" + @usableFromInline static let `onwebkitanimationiteration`: JSString = "onwebkitanimationiteration" + @usableFromInline static let `onwebkitanimationstart`: JSString = "onwebkitanimationstart" + @usableFromInline static let `onwebkittransitionend`: JSString = "onwebkittransitionend" + @usableFromInline static let `onwheel`: JSString = "onwheel" + @usableFromInline static let `opacityProperty`: JSString = "opacityProperty" + @usableFromInline static let `open`: JSString = "open" + @usableFromInline static let `opener`: JSString = "opener" + @usableFromInline static let `optimizeForLatency`: JSString = "optimizeForLatency" + @usableFromInline static let `optimum`: JSString = "optimum" + @usableFromInline static let `options`: JSString = "options" + @usableFromInline static let `or`: JSString = "or" + @usableFromInline static let `origin`: JSString = "origin" + @usableFromInline static let `originAgentCluster`: JSString = "originAgentCluster" + @usableFromInline static let `oscpu`: JSString = "oscpu" + @usableFromInline static let `outerHTML`: JSString = "outerHTML" + @usableFromInline static let `outerHeight`: JSString = "outerHeight" + @usableFromInline static let `outerText`: JSString = "outerText" + @usableFromInline static let `outerWidth`: JSString = "outerWidth" + @usableFromInline static let `output`: JSString = "output" + @usableFromInline static let `overrideMimeType`: JSString = "overrideMimeType" + @usableFromInline static let `ownerDocument`: JSString = "ownerDocument" + @usableFromInline static let `ownerElement`: JSString = "ownerElement" + @usableFromInline static let `p1`: JSString = "p1" + @usableFromInline static let `p2`: JSString = "p2" + @usableFromInline static let `p3`: JSString = "p3" + @usableFromInline static let `p4`: JSString = "p4" + @usableFromInline static let `pageLeft`: JSString = "pageLeft" + @usableFromInline static let `pageTop`: JSString = "pageTop" + @usableFromInline static let `pageX`: JSString = "pageX" + @usableFromInline static let `pageXOffset`: JSString = "pageXOffset" + @usableFromInline static let `pageY`: JSString = "pageY" + @usableFromInline static let `pageYOffset`: JSString = "pageYOffset" + @usableFromInline static let `panTiltZoom`: JSString = "panTiltZoom" + @usableFromInline static let `parent`: JSString = "parent" + @usableFromInline static let `parentElement`: JSString = "parentElement" + @usableFromInline static let `parentNode`: JSString = "parentNode" + @usableFromInline static let `parseFromString`: JSString = "parseFromString" + @usableFromInline static let `parseHTMLUnsafe`: JSString = "parseHTMLUnsafe" + @usableFromInline static let `passive`: JSString = "passive" + @usableFromInline static let `password`: JSString = "password" + @usableFromInline static let `pathname`: JSString = "pathname" + @usableFromInline static let `pattern`: JSString = "pattern" + @usableFromInline static let `patternMismatch`: JSString = "patternMismatch" + @usableFromInline static let `pause`: JSString = "pause" + @usableFromInline static let `pauseOnExit`: JSString = "pauseOnExit" + @usableFromInline static let `paused`: JSString = "paused" + @usableFromInline static let `pdfViewerEnabled`: JSString = "pdfViewerEnabled" + @usableFromInline static let `performance`: JSString = "performance" + @usableFromInline static let `permissions`: JSString = "permissions" + @usableFromInline static let `persisted`: JSString = "persisted" + @usableFromInline static let `personalbar`: JSString = "personalbar" + @usableFromInline static let `ping`: JSString = "ping" + @usableFromInline static let `pipeThrough`: JSString = "pipeThrough" + @usableFromInline static let `pipeTo`: JSString = "pipeTo" + @usableFromInline static let `pixelDepth`: JSString = "pixelDepth" + @usableFromInline static let `placeholder`: JSString = "placeholder" + @usableFromInline static let `planeIndex`: JSString = "planeIndex" + @usableFromInline static let `platform`: JSString = "platform" + @usableFromInline static let `play`: JSString = "play" + @usableFromInline static let `playbackRate`: JSString = "playbackRate" + @usableFromInline static let `played`: JSString = "played" + @usableFromInline static let `playsInline`: JSString = "playsInline" + @usableFromInline static let `plugins`: JSString = "plugins" + @usableFromInline static let `pointerBeforeReferenceNode`: JSString = "pointerBeforeReferenceNode" + @usableFromInline static let `popover`: JSString = "popover" + @usableFromInline static let `popoverTargetAction`: JSString = "popoverTargetAction" + @usableFromInline static let `popoverTargetElement`: JSString = "popoverTargetElement" + @usableFromInline static let `port`: JSString = "port" + @usableFromInline static let `port1`: JSString = "port1" + @usableFromInline static let `port2`: JSString = "port2" + @usableFromInline static let `ports`: JSString = "ports" + @usableFromInline static let `position`: JSString = "position" + @usableFromInline static let `postMessage`: JSString = "postMessage" + @usableFromInline static let `poster`: JSString = "poster" + @usableFromInline static let `preMultiplySelf`: JSString = "preMultiplySelf" + @usableFromInline static let `preferAnimation`: JSString = "preferAnimation" + @usableFromInline static let `prefix`: JSString = "prefix" + @usableFromInline static let `preload`: JSString = "preload" + @usableFromInline static let `preloadResponse`: JSString = "preloadResponse" + @usableFromInline static let `premultiplyAlpha`: JSString = "premultiplyAlpha" + @usableFromInline static let `prepend`: JSString = "prepend" + @usableFromInline static let `preservesPitch`: JSString = "preservesPitch" + @usableFromInline static let `preventAbort`: JSString = "preventAbort" + @usableFromInline static let `preventCancel`: JSString = "preventCancel" + @usableFromInline static let `preventClose`: JSString = "preventClose" + @usableFromInline static let `preventDefault`: JSString = "preventDefault" + @usableFromInline static let `preventScroll`: JSString = "preventScroll" + @usableFromInline static let `previousElementSibling`: JSString = "previousElementSibling" + @usableFromInline static let `previousNode`: JSString = "previousNode" + @usableFromInline static let `previousSibling`: JSString = "previousSibling" + @usableFromInline static let `primaries`: JSString = "primaries" + @usableFromInline static let `print`: JSString = "print" + @usableFromInline static let `priority`: JSString = "priority" + @usableFromInline static let `product`: JSString = "product" + @usableFromInline static let `productSub`: JSString = "productSub" + @usableFromInline static let `promise`: JSString = "promise" + @usableFromInline static let `prompt`: JSString = "prompt" @usableFromInline static let `protocol`: JSString = "protocol" - @usableFromInline static let pseudo: JSString = "pseudo" - @usableFromInline static let publicId: JSString = "publicId" - @usableFromInline static let pull: JSString = "pull" - @usableFromInline static let pushState: JSString = "pushState" - @usableFromInline static let put: JSString = "put" - @usableFromInline static let putImageData: JSString = "putImageData" - @usableFromInline static let quadraticCurveTo: JSString = "quadraticCurveTo" - @usableFromInline static let quality: JSString = "quality" - @usableFromInline static let query: JSString = "query" - @usableFromInline static let queryCommandEnabled: JSString = "queryCommandEnabled" - @usableFromInline static let queryCommandIndeterm: JSString = "queryCommandIndeterm" - @usableFromInline static let queryCommandState: JSString = "queryCommandState" - @usableFromInline static let queryCommandSupported: JSString = "queryCommandSupported" - @usableFromInline static let queryCommandValue: JSString = "queryCommandValue" - @usableFromInline static let querySelector: JSString = "querySelector" - @usableFromInline static let querySelectorAll: JSString = "querySelectorAll" - @usableFromInline static let queueMicrotask: JSString = "queueMicrotask" - @usableFromInline static let radiusX: JSString = "radiusX" - @usableFromInline static let radiusY: JSString = "radiusY" - @usableFromInline static let rangeOverflow: JSString = "rangeOverflow" - @usableFromInline static let rangeUnderflow: JSString = "rangeUnderflow" - @usableFromInline static let read: JSString = "read" - @usableFromInline static let readAsArrayBuffer: JSString = "readAsArrayBuffer" - @usableFromInline static let readAsBinaryString: JSString = "readAsBinaryString" - @usableFromInline static let readAsDataURL: JSString = "readAsDataURL" - @usableFromInline static let readAsText: JSString = "readAsText" - @usableFromInline static let readOnly: JSString = "readOnly" - @usableFromInline static let readable: JSString = "readable" - @usableFromInline static let readableType: JSString = "readableType" - @usableFromInline static let ready: JSString = "ready" - @usableFromInline static let readyState: JSString = "readyState" - @usableFromInline static let reason: JSString = "reason" - @usableFromInline static let rect: JSString = "rect" - @usableFromInline static let redirect: JSString = "redirect" - @usableFromInline static let redirected: JSString = "redirected" - @usableFromInline static let referenceNode: JSString = "referenceNode" - @usableFromInline static let referrer: JSString = "referrer" - @usableFromInline static let referrerPolicy: JSString = "referrerPolicy" - @usableFromInline static let refresh: JSString = "refresh" - @usableFromInline static let register: JSString = "register" - @usableFromInline static let registerProtocolHandler: JSString = "registerProtocolHandler" - @usableFromInline static let rel: JSString = "rel" - @usableFromInline static let relList: JSString = "relList" - @usableFromInline static let relatedNode: JSString = "relatedNode" - @usableFromInline static let relatedTarget: JSString = "relatedTarget" - @usableFromInline static let relativeTo: JSString = "relativeTo" - @usableFromInline static let releaseEvents: JSString = "releaseEvents" - @usableFromInline static let releaseLock: JSString = "releaseLock" - @usableFromInline static let reload: JSString = "reload" - @usableFromInline static let remove: JSString = "remove" - @usableFromInline static let removeAttribute: JSString = "removeAttribute" - @usableFromInline static let removeAttributeNS: JSString = "removeAttributeNS" - @usableFromInline static let removeAttributeNode: JSString = "removeAttributeNode" - @usableFromInline static let removeChild: JSString = "removeChild" - @usableFromInline static let removeCue: JSString = "removeCue" - @usableFromInline static let removeEventListener: JSString = "removeEventListener" - @usableFromInline static let removeListener: JSString = "removeListener" - @usableFromInline static let removeNamedItem: JSString = "removeNamedItem" - @usableFromInline static let removeNamedItemNS: JSString = "removeNamedItemNS" - @usableFromInline static let removeParameter: JSString = "removeParameter" - @usableFromInline static let removeSourceBuffer: JSString = "removeSourceBuffer" - @usableFromInline static let removeTrack: JSString = "removeTrack" - @usableFromInline static let removedNodes: JSString = "removedNodes" + @usableFromInline static let `pseudo`: JSString = "pseudo" + @usableFromInline static let `publicId`: JSString = "publicId" + @usableFromInline static let `pull`: JSString = "pull" + @usableFromInline static let `pushState`: JSString = "pushState" + @usableFromInline static let `put`: JSString = "put" + @usableFromInline static let `putImageData`: JSString = "putImageData" + @usableFromInline static let `quadraticCurveTo`: JSString = "quadraticCurveTo" + @usableFromInline static let `quality`: JSString = "quality" + @usableFromInline static let `query`: JSString = "query" + @usableFromInline static let `queryCommandEnabled`: JSString = "queryCommandEnabled" + @usableFromInline static let `queryCommandIndeterm`: JSString = "queryCommandIndeterm" + @usableFromInline static let `queryCommandState`: JSString = "queryCommandState" + @usableFromInline static let `queryCommandSupported`: JSString = "queryCommandSupported" + @usableFromInline static let `queryCommandValue`: JSString = "queryCommandValue" + @usableFromInline static let `querySelector`: JSString = "querySelector" + @usableFromInline static let `querySelectorAll`: JSString = "querySelectorAll" + @usableFromInline static let `queueMicrotask`: JSString = "queueMicrotask" + @usableFromInline static let `radiusX`: JSString = "radiusX" + @usableFromInline static let `radiusY`: JSString = "radiusY" + @usableFromInline static let `rangeOverflow`: JSString = "rangeOverflow" + @usableFromInline static let `rangeUnderflow`: JSString = "rangeUnderflow" + @usableFromInline static let `read`: JSString = "read" + @usableFromInline static let `readAsArrayBuffer`: JSString = "readAsArrayBuffer" + @usableFromInline static let `readAsBinaryString`: JSString = "readAsBinaryString" + @usableFromInline static let `readAsDataURL`: JSString = "readAsDataURL" + @usableFromInline static let `readAsText`: JSString = "readAsText" + @usableFromInline static let `readOnly`: JSString = "readOnly" + @usableFromInline static let `readable`: JSString = "readable" + @usableFromInline static let `readableType`: JSString = "readableType" + @usableFromInline static let `ready`: JSString = "ready" + @usableFromInline static let `readyState`: JSString = "readyState" + @usableFromInline static let `reason`: JSString = "reason" + @usableFromInline static let `reasons`: JSString = "reasons" + @usableFromInline static let `rect`: JSString = "rect" + @usableFromInline static let `redirect`: JSString = "redirect" + @usableFromInline static let `redirected`: JSString = "redirected" + @usableFromInline static let `referenceNode`: JSString = "referenceNode" + @usableFromInline static let `referrer`: JSString = "referrer" + @usableFromInline static let `referrerPolicy`: JSString = "referrerPolicy" + @usableFromInline static let `refresh`: JSString = "refresh" + @usableFromInline static let `register`: JSString = "register" + @usableFromInline static let `registerProtocolHandler`: JSString = "registerProtocolHandler" + @usableFromInline static let `rel`: JSString = "rel" + @usableFromInline static let `relList`: JSString = "relList" + @usableFromInline static let `relatedTarget`: JSString = "relatedTarget" + @usableFromInline static let `relativeTo`: JSString = "relativeTo" + @usableFromInline static let `releaseEvents`: JSString = "releaseEvents" + @usableFromInline static let `releaseLock`: JSString = "releaseLock" + @usableFromInline static let `reload`: JSString = "reload" + @usableFromInline static let `remove`: JSString = "remove" + @usableFromInline static let `removeAttribute`: JSString = "removeAttribute" + @usableFromInline static let `removeAttributeNS`: JSString = "removeAttributeNS" + @usableFromInline static let `removeAttributeNode`: JSString = "removeAttributeNode" + @usableFromInline static let `removeChild`: JSString = "removeChild" + @usableFromInline static let `removeCue`: JSString = "removeCue" + @usableFromInline static let `removeEventListener`: JSString = "removeEventListener" + @usableFromInline static let `removeListener`: JSString = "removeListener" + @usableFromInline static let `removeNamedItem`: JSString = "removeNamedItem" + @usableFromInline static let `removeNamedItemNS`: JSString = "removeNamedItemNS" + @usableFromInline static let `removeParameter`: JSString = "removeParameter" + @usableFromInline static let `removeSourceBuffer`: JSString = "removeSourceBuffer" + @usableFromInline static let `removeTrack`: JSString = "removeTrack" + @usableFromInline static let `removedNodes`: JSString = "removedNodes" + @usableFromInline static let `removedRanges`: JSString = "removedRanges" @usableFromInline static let `repeat`: JSString = "repeat" - @usableFromInline static let repetitionCount: JSString = "repetitionCount" - @usableFromInline static let replace: JSString = "replace" - @usableFromInline static let replaceChild: JSString = "replaceChild" - @usableFromInline static let replaceChildren: JSString = "replaceChildren" - @usableFromInline static let replaceData: JSString = "replaceData" - @usableFromInline static let replaceState: JSString = "replaceState" - @usableFromInline static let replaceWith: JSString = "replaceWith" - @usableFromInline static let replacesClientId: JSString = "replacesClientId" - @usableFromInline static let reportError: JSString = "reportError" - @usableFromInline static let reportValidity: JSString = "reportValidity" - @usableFromInline static let request: JSString = "request" - @usableFromInline static let requestAnimationFrame: JSString = "requestAnimationFrame" - @usableFromInline static let requestData: JSString = "requestData" - @usableFromInline static let requestSubmit: JSString = "requestSubmit" - @usableFromInline static let required: JSString = "required" - @usableFromInline static let reset: JSString = "reset" - @usableFromInline static let resetTransform: JSString = "resetTransform" - @usableFromInline static let resizeBy: JSString = "resizeBy" - @usableFromInline static let resizeHeight: JSString = "resizeHeight" - @usableFromInline static let resizeMode: JSString = "resizeMode" - @usableFromInline static let resizeQuality: JSString = "resizeQuality" - @usableFromInline static let resizeTo: JSString = "resizeTo" - @usableFromInline static let resizeWidth: JSString = "resizeWidth" - @usableFromInline static let respond: JSString = "respond" - @usableFromInline static let respondWithNewView: JSString = "respondWithNewView" - @usableFromInline static let response: JSString = "response" - @usableFromInline static let responseText: JSString = "responseText" - @usableFromInline static let responseType: JSString = "responseType" - @usableFromInline static let responseURL: JSString = "responseURL" - @usableFromInline static let responseXML: JSString = "responseXML" - @usableFromInline static let restore: JSString = "restore" - @usableFromInline static let result: JSString = "result" - @usableFromInline static let resultType: JSString = "resultType" - @usableFromInline static let resultingClientId: JSString = "resultingClientId" - @usableFromInline static let resume: JSString = "resume" - @usableFromInline static let returnValue: JSString = "returnValue" - @usableFromInline static let rev: JSString = "rev" - @usableFromInline static let reversed: JSString = "reversed" - @usableFromInline static let revokeObjectURL: JSString = "revokeObjectURL" - @usableFromInline static let right: JSString = "right" - @usableFromInline static let role: JSString = "role" - @usableFromInline static let root: JSString = "root" - @usableFromInline static let rotate: JSString = "rotate" - @usableFromInline static let rotateAxisAngle: JSString = "rotateAxisAngle" - @usableFromInline static let rotateAxisAngleSelf: JSString = "rotateAxisAngleSelf" - @usableFromInline static let rotateFromVector: JSString = "rotateFromVector" - @usableFromInline static let rotateFromVectorSelf: JSString = "rotateFromVectorSelf" - @usableFromInline static let rotateSelf: JSString = "rotateSelf" - @usableFromInline static let rotationAngle: JSString = "rotationAngle" - @usableFromInline static let roundRect: JSString = "roundRect" - @usableFromInline static let rowIndex: JSString = "rowIndex" - @usableFromInline static let rowSpan: JSString = "rowSpan" - @usableFromInline static let rows: JSString = "rows" - @usableFromInline static let rules: JSString = "rules" - @usableFromInline static let sameDocument: JSString = "sameDocument" - @usableFromInline static let sampleRate: JSString = "sampleRate" - @usableFromInline static let sampleSize: JSString = "sampleSize" - @usableFromInline static let sandbox: JSString = "sandbox" - @usableFromInline static let save: JSString = "save" - @usableFromInline static let scalabilityMode: JSString = "scalabilityMode" - @usableFromInline static let scale: JSString = "scale" - @usableFromInline static let scale3d: JSString = "scale3d" - @usableFromInline static let scale3dSelf: JSString = "scale3dSelf" - @usableFromInline static let scaleNonUniform: JSString = "scaleNonUniform" - @usableFromInline static let scaleSelf: JSString = "scaleSelf" - @usableFromInline static let scheme: JSString = "scheme" - @usableFromInline static let scope: JSString = "scope" - @usableFromInline static let screen: JSString = "screen" - @usableFromInline static let screenLeft: JSString = "screenLeft" - @usableFromInline static let screenTop: JSString = "screenTop" - @usableFromInline static let screenX: JSString = "screenX" - @usableFromInline static let screenY: JSString = "screenY" - @usableFromInline static let scriptURL: JSString = "scriptURL" - @usableFromInline static let scripts: JSString = "scripts" - @usableFromInline static let scroll: JSString = "scroll" - @usableFromInline static let scrollAmount: JSString = "scrollAmount" - @usableFromInline static let scrollBy: JSString = "scrollBy" - @usableFromInline static let scrollDelay: JSString = "scrollDelay" - @usableFromInline static let scrollHeight: JSString = "scrollHeight" - @usableFromInline static let scrollIntoView: JSString = "scrollIntoView" - @usableFromInline static let scrollLeft: JSString = "scrollLeft" - @usableFromInline static let scrollPathIntoView: JSString = "scrollPathIntoView" - @usableFromInline static let scrollRestoration: JSString = "scrollRestoration" - @usableFromInline static let scrollTo: JSString = "scrollTo" - @usableFromInline static let scrollTop: JSString = "scrollTop" - @usableFromInline static let scrollWidth: JSString = "scrollWidth" - @usableFromInline static let scrollX: JSString = "scrollX" - @usableFromInline static let scrollY: JSString = "scrollY" - @usableFromInline static let scrollbars: JSString = "scrollbars" - @usableFromInline static let scrolling: JSString = "scrolling" - @usableFromInline static let scrollingElement: JSString = "scrollingElement" - @usableFromInline static let search: JSString = "search" - @usableFromInline static let sectionRowIndex: JSString = "sectionRowIndex" - @usableFromInline static let seekable: JSString = "seekable" - @usableFromInline static let seeking: JSString = "seeking" - @usableFromInline static let select: JSString = "select" - @usableFromInline static let selectNode: JSString = "selectNode" - @usableFromInline static let selectNodeContents: JSString = "selectNodeContents" - @usableFromInline static let selected: JSString = "selected" - @usableFromInline static let selectedIndex: JSString = "selectedIndex" - @usableFromInline static let selectedOptions: JSString = "selectedOptions" - @usableFromInline static let selectedTrack: JSString = "selectedTrack" - @usableFromInline static let selectionDirection: JSString = "selectionDirection" - @usableFromInline static let selectionEnd: JSString = "selectionEnd" - @usableFromInline static let selectionStart: JSString = "selectionStart" - @usableFromInline static let send: JSString = "send" - @usableFromInline static let serviceWorker: JSString = "serviceWorker" - @usableFromInline static let sessionStorage: JSString = "sessionStorage" - @usableFromInline static let set: JSString = "set" - @usableFromInline static let setAttribute: JSString = "setAttribute" - @usableFromInline static let setAttributeNS: JSString = "setAttributeNS" - @usableFromInline static let setAttributeNode: JSString = "setAttributeNode" - @usableFromInline static let setAttributeNodeNS: JSString = "setAttributeNodeNS" - @usableFromInline static let setCustomValidity: JSString = "setCustomValidity" - @usableFromInline static let setData: JSString = "setData" - @usableFromInline static let setDragImage: JSString = "setDragImage" - @usableFromInline static let setEnd: JSString = "setEnd" - @usableFromInline static let setEndAfter: JSString = "setEndAfter" - @usableFromInline static let setEndBefore: JSString = "setEndBefore" - @usableFromInline static let setFormValue: JSString = "setFormValue" - @usableFromInline static let setHeaderValue: JSString = "setHeaderValue" - @usableFromInline static let setInterval: JSString = "setInterval" - @usableFromInline static let setLineDash: JSString = "setLineDash" - @usableFromInline static let setLiveSeekableRange: JSString = "setLiveSeekableRange" - @usableFromInline static let setMatrixValue: JSString = "setMatrixValue" - @usableFromInline static let setNamedItem: JSString = "setNamedItem" - @usableFromInline static let setNamedItemNS: JSString = "setNamedItemNS" - @usableFromInline static let setParameter: JSString = "setParameter" - @usableFromInline static let setRangeText: JSString = "setRangeText" - @usableFromInline static let setRequestHeader: JSString = "setRequestHeader" - @usableFromInline static let setSelectionRange: JSString = "setSelectionRange" - @usableFromInline static let setStart: JSString = "setStart" - @usableFromInline static let setStartAfter: JSString = "setStartAfter" - @usableFromInline static let setStartBefore: JSString = "setStartBefore" - @usableFromInline static let setTimeout: JSString = "setTimeout" - @usableFromInline static let setTransform: JSString = "setTransform" - @usableFromInline static let setValidity: JSString = "setValidity" - @usableFromInline static let shadowBlur: JSString = "shadowBlur" - @usableFromInline static let shadowColor: JSString = "shadowColor" - @usableFromInline static let shadowOffsetX: JSString = "shadowOffsetX" - @usableFromInline static let shadowOffsetY: JSString = "shadowOffsetY" - @usableFromInline static let shadowRoot: JSString = "shadowRoot" - @usableFromInline static let shape: JSString = "shape" - @usableFromInline static let shiftKey: JSString = "shiftKey" - @usableFromInline static let show: JSString = "show" - @usableFromInline static let showModal: JSString = "showModal" - @usableFromInline static let showPicker: JSString = "showPicker" - @usableFromInline static let showPopover: JSString = "showPopover" - @usableFromInline static let signal: JSString = "signal" - @usableFromInline static let singleNodeValue: JSString = "singleNodeValue" - @usableFromInline static let size: JSString = "size" - @usableFromInline static let sizes: JSString = "sizes" - @usableFromInline static let skewX: JSString = "skewX" - @usableFromInline static let skewXSelf: JSString = "skewXSelf" - @usableFromInline static let skewY: JSString = "skewY" - @usableFromInline static let skewYSelf: JSString = "skewYSelf" - @usableFromInline static let slice: JSString = "slice" - @usableFromInline static let slot: JSString = "slot" - @usableFromInline static let slotAssignment: JSString = "slotAssignment" - @usableFromInline static let snapshotItem: JSString = "snapshotItem" - @usableFromInline static let snapshotLength: JSString = "snapshotLength" - @usableFromInline static let source: JSString = "source" - @usableFromInline static let sourceBuffer: JSString = "sourceBuffer" - @usableFromInline static let sourceBuffers: JSString = "sourceBuffers" - @usableFromInline static let span: JSString = "span" - @usableFromInline static let specified: JSString = "specified" - @usableFromInline static let spellcheck: JSString = "spellcheck" - @usableFromInline static let splitText: JSString = "splitText" - @usableFromInline static let src: JSString = "src" - @usableFromInline static let srcElement: JSString = "srcElement" - @usableFromInline static let srcObject: JSString = "srcObject" - @usableFromInline static let srcdoc: JSString = "srcdoc" - @usableFromInline static let srclang: JSString = "srclang" - @usableFromInline static let srcset: JSString = "srcset" - @usableFromInline static let standby: JSString = "standby" - @usableFromInline static let start: JSString = "start" - @usableFromInline static let startContainer: JSString = "startContainer" - @usableFromInline static let startMessages: JSString = "startMessages" - @usableFromInline static let startOffset: JSString = "startOffset" - @usableFromInline static let startTime: JSString = "startTime" - @usableFromInline static let state: JSString = "state" - @usableFromInline static let status: JSString = "status" - @usableFromInline static let statusText: JSString = "statusText" - @usableFromInline static let statusbar: JSString = "statusbar" - @usableFromInline static let step: JSString = "step" - @usableFromInline static let stepDown: JSString = "stepDown" - @usableFromInline static let stepMismatch: JSString = "stepMismatch" - @usableFromInline static let stepUp: JSString = "stepUp" - @usableFromInline static let stop: JSString = "stop" - @usableFromInline static let stopImmediatePropagation: JSString = "stopImmediatePropagation" - @usableFromInline static let stopPropagation: JSString = "stopPropagation" - @usableFromInline static let storageArea: JSString = "storageArea" - @usableFromInline static let stream: JSString = "stream" - @usableFromInline static let stride: JSString = "stride" - @usableFromInline static let stringValue: JSString = "stringValue" - @usableFromInline static let stroke: JSString = "stroke" - @usableFromInline static let strokeRect: JSString = "strokeRect" - @usableFromInline static let strokeStyle: JSString = "strokeStyle" - @usableFromInline static let strokeText: JSString = "strokeText" - @usableFromInline static let structuredClone: JSString = "structuredClone" - @usableFromInline static let submit: JSString = "submit" - @usableFromInline static let submitter: JSString = "submitter" - @usableFromInline static let substringData: JSString = "substringData" - @usableFromInline static let subtree: JSString = "subtree" - @usableFromInline static let suffixes: JSString = "suffixes" - @usableFromInline static let summary: JSString = "summary" - @usableFromInline static let supported: JSString = "supported" - @usableFromInline static let supportedEntryTypes: JSString = "supportedEntryTypes" - @usableFromInline static let supports: JSString = "supports" - @usableFromInline static let surroundContents: JSString = "surroundContents" - @usableFromInline static let svc: JSString = "svc" - @usableFromInline static let systemId: JSString = "systemId" - @usableFromInline static let tBodies: JSString = "tBodies" - @usableFromInline static let tFoot: JSString = "tFoot" - @usableFromInline static let tHead: JSString = "tHead" - @usableFromInline static let tabIndex: JSString = "tabIndex" - @usableFromInline static let tagName: JSString = "tagName" - @usableFromInline static let taintEnabled: JSString = "taintEnabled" - @usableFromInline static let takeRecords: JSString = "takeRecords" - @usableFromInline static let target: JSString = "target" - @usableFromInline static let targetOrigin: JSString = "targetOrigin" - @usableFromInline static let targetTouches: JSString = "targetTouches" - @usableFromInline static let tee: JSString = "tee" - @usableFromInline static let temporalLayerId: JSString = "temporalLayerId" - @usableFromInline static let terminate: JSString = "terminate" - @usableFromInline static let text: JSString = "text" - @usableFromInline static let textAlign: JSString = "textAlign" - @usableFromInline static let textBaseline: JSString = "textBaseline" - @usableFromInline static let textContent: JSString = "textContent" - @usableFromInline static let textLength: JSString = "textLength" - @usableFromInline static let textRendering: JSString = "textRendering" - @usableFromInline static let textTracks: JSString = "textTracks" - @usableFromInline static let throwIfAborted: JSString = "throwIfAborted" - @usableFromInline static let timeOrigin: JSString = "timeOrigin" - @usableFromInline static let timeStamp: JSString = "timeStamp" - @usableFromInline static let timecode: JSString = "timecode" - @usableFromInline static let timeout: JSString = "timeout" - @usableFromInline static let timestamp: JSString = "timestamp" - @usableFromInline static let timestampOffset: JSString = "timestampOffset" - @usableFromInline static let title: JSString = "title" - @usableFromInline static let toBlob: JSString = "toBlob" - @usableFromInline static let toBox: JSString = "toBox" - @usableFromInline static let toDataURL: JSString = "toDataURL" - @usableFromInline static let toFloat32Array: JSString = "toFloat32Array" - @usableFromInline static let toFloat64Array: JSString = "toFloat64Array" - @usableFromInline static let toJSON: JSString = "toJSON" - @usableFromInline static let toString: JSString = "toString" - @usableFromInline static let toggle: JSString = "toggle" - @usableFromInline static let toggleAttribute: JSString = "toggleAttribute" - @usableFromInline static let togglePopover: JSString = "togglePopover" - @usableFromInline static let tooLong: JSString = "tooLong" - @usableFromInline static let tooShort: JSString = "tooShort" - @usableFromInline static let toolbar: JSString = "toolbar" - @usableFromInline static let top: JSString = "top" - @usableFromInline static let total: JSString = "total" - @usableFromInline static let touchType: JSString = "touchType" - @usableFromInline static let touches: JSString = "touches" - @usableFromInline static let track: JSString = "track" - @usableFromInline static let tracks: JSString = "tracks" - @usableFromInline static let transfer: JSString = "transfer" - @usableFromInline static let transferControlToOffscreen: JSString = "transferControlToOffscreen" - @usableFromInline static let transferFromImageBitmap: JSString = "transferFromImageBitmap" - @usableFromInline static let transferToImageBitmap: JSString = "transferToImageBitmap" - @usableFromInline static let transform: JSString = "transform" - @usableFromInline static let transformPoint: JSString = "transformPoint" - @usableFromInline static let transformToDocument: JSString = "transformToDocument" - @usableFromInline static let transformToFragment: JSString = "transformToFragment" - @usableFromInline static let transition: JSString = "transition" - @usableFromInline static let translate: JSString = "translate" - @usableFromInline static let translateSelf: JSString = "translateSelf" - @usableFromInline static let traverseTo: JSString = "traverseTo" - @usableFromInline static let trueSpeed: JSString = "trueSpeed" - @usableFromInline static let type: JSString = "type" - @usableFromInline static let typeMismatch: JSString = "typeMismatch" - @usableFromInline static let types: JSString = "types" - @usableFromInline static let unregister: JSString = "unregister" - @usableFromInline static let unregisterProtocolHandler: JSString = "unregisterProtocolHandler" - @usableFromInline static let update: JSString = "update" - @usableFromInline static let updateCurrentEntry: JSString = "updateCurrentEntry" - @usableFromInline static let updateViaCache: JSString = "updateViaCache" - @usableFromInline static let updating: JSString = "updating" - @usableFromInline static let upgrade: JSString = "upgrade" - @usableFromInline static let upload: JSString = "upload" - @usableFromInline static let url: JSString = "url" - @usableFromInline static let useMap: JSString = "useMap" - @usableFromInline static let userActivation: JSString = "userActivation" - @usableFromInline static let userAgent: JSString = "userAgent" - @usableFromInline static let userInitiated: JSString = "userInitiated" - @usableFromInline static let username: JSString = "username" - @usableFromInline static let vAlign: JSString = "vAlign" - @usableFromInline static let vLink: JSString = "vLink" - @usableFromInline static let valid: JSString = "valid" - @usableFromInline static let validationMessage: JSString = "validationMessage" - @usableFromInline static let validity: JSString = "validity" - @usableFromInline static let value: JSString = "value" - @usableFromInline static let valueAsDate: JSString = "valueAsDate" - @usableFromInline static let valueAsNumber: JSString = "valueAsNumber" - @usableFromInline static let valueMissing: JSString = "valueMissing" - @usableFromInline static let valueType: JSString = "valueType" - @usableFromInline static let vendor: JSString = "vendor" - @usableFromInline static let vendorSub: JSString = "vendorSub" - @usableFromInline static let version: JSString = "version" - @usableFromInline static let video: JSString = "video" - @usableFromInline static let videoBitsPerSecond: JSString = "videoBitsPerSecond" - @usableFromInline static let videoHeight: JSString = "videoHeight" - @usableFromInline static let videoKeyFrameIntervalCount: JSString = "videoKeyFrameIntervalCount" - @usableFromInline static let videoKeyFrameIntervalDuration: JSString = "videoKeyFrameIntervalDuration" - @usableFromInline static let videoTracks: JSString = "videoTracks" - @usableFromInline static let videoWidth: JSString = "videoWidth" - @usableFromInline static let view: JSString = "view" - @usableFromInline static let visibilityState: JSString = "visibilityState" - @usableFromInline static let visible: JSString = "visible" - @usableFromInline static let visibleRect: JSString = "visibleRect" - @usableFromInline static let visualViewport: JSString = "visualViewport" - @usableFromInline static let vlinkColor: JSString = "vlinkColor" - @usableFromInline static let volume: JSString = "volume" - @usableFromInline static let vspace: JSString = "vspace" - @usableFromInline static let w: JSString = "w" - @usableFromInline static let waiting: JSString = "waiting" - @usableFromInline static let webkitMatchesSelector: JSString = "webkitMatchesSelector" - @usableFromInline static let whatToShow: JSString = "whatToShow" - @usableFromInline static let whenDefined: JSString = "whenDefined" - @usableFromInline static let which: JSString = "which" - @usableFromInline static let wholeText: JSString = "wholeText" - @usableFromInline static let width: JSString = "width" - @usableFromInline static let willReadFrequently: JSString = "willReadFrequently" - @usableFromInline static let willValidate: JSString = "willValidate" - @usableFromInline static let window: JSString = "window" - @usableFromInline static let withCredentials: JSString = "withCredentials" - @usableFromInline static let wordSpacing: JSString = "wordSpacing" - @usableFromInline static let wrap: JSString = "wrap" - @usableFromInline static let writable: JSString = "writable" - @usableFromInline static let writableType: JSString = "writableType" - @usableFromInline static let write: JSString = "write" - @usableFromInline static let writeln: JSString = "writeln" - @usableFromInline static let x: JSString = "x" - @usableFromInline static let y: JSString = "y" - @usableFromInline static let z: JSString = "z" + @usableFromInline static let `repetitionCount`: JSString = "repetitionCount" + @usableFromInline static let `replace`: JSString = "replace" + @usableFromInline static let `replaceChild`: JSString = "replaceChild" + @usableFromInline static let `replaceChildren`: JSString = "replaceChildren" + @usableFromInline static let `replaceData`: JSString = "replaceData" + @usableFromInline static let `replaceState`: JSString = "replaceState" + @usableFromInline static let `replaceWith`: JSString = "replaceWith" + @usableFromInline static let `replacesClientId`: JSString = "replacesClientId" + @usableFromInline static let `reportError`: JSString = "reportError" + @usableFromInline static let `reportValidity`: JSString = "reportValidity" + @usableFromInline static let `request`: JSString = "request" + @usableFromInline static let `requestAnimationFrame`: JSString = "requestAnimationFrame" + @usableFromInline static let `requestClose`: JSString = "requestClose" + @usableFromInline static let `requestData`: JSString = "requestData" + @usableFromInline static let `requestDestination`: JSString = "requestDestination" + @usableFromInline static let `requestMethod`: JSString = "requestMethod" + @usableFromInline static let `requestMode`: JSString = "requestMode" + @usableFromInline static let `requestSubmit`: JSString = "requestSubmit" + @usableFromInline static let `required`: JSString = "required" + @usableFromInline static let `reset`: JSString = "reset" + @usableFromInline static let `resetTransform`: JSString = "resetTransform" + @usableFromInline static let `resizeBy`: JSString = "resizeBy" + @usableFromInline static let `resizeHeight`: JSString = "resizeHeight" + @usableFromInline static let `resizeMode`: JSString = "resizeMode" + @usableFromInline static let `resizeQuality`: JSString = "resizeQuality" + @usableFromInline static let `resizeTo`: JSString = "resizeTo" + @usableFromInline static let `resizeWidth`: JSString = "resizeWidth" + @usableFromInline static let `respond`: JSString = "respond" + @usableFromInline static let `respondWithNewView`: JSString = "respondWithNewView" + @usableFromInline static let `response`: JSString = "response" + @usableFromInline static let `responseText`: JSString = "responseText" + @usableFromInline static let `responseType`: JSString = "responseType" + @usableFromInline static let `responseURL`: JSString = "responseURL" + @usableFromInline static let `responseXML`: JSString = "responseXML" + @usableFromInline static let `restore`: JSString = "restore" + @usableFromInline static let `result`: JSString = "result" + @usableFromInline static let `resultType`: JSString = "resultType" + @usableFromInline static let `resultingClientId`: JSString = "resultingClientId" + @usableFromInline static let `resume`: JSString = "resume" + @usableFromInline static let `returnValue`: JSString = "returnValue" + @usableFromInline static let `rev`: JSString = "rev" + @usableFromInline static let `reversed`: JSString = "reversed" + @usableFromInline static let `revokeObjectURL`: JSString = "revokeObjectURL" + @usableFromInline static let `right`: JSString = "right" + @usableFromInline static let `role`: JSString = "role" + @usableFromInline static let `root`: JSString = "root" + @usableFromInline static let `rotate`: JSString = "rotate" + @usableFromInline static let `rotateAxisAngle`: JSString = "rotateAxisAngle" + @usableFromInline static let `rotateAxisAngleSelf`: JSString = "rotateAxisAngleSelf" + @usableFromInline static let `rotateFromVector`: JSString = "rotateFromVector" + @usableFromInline static let `rotateFromVectorSelf`: JSString = "rotateFromVectorSelf" + @usableFromInline static let `rotateSelf`: JSString = "rotateSelf" + @usableFromInline static let `rotation`: JSString = "rotation" + @usableFromInline static let `rotationAngle`: JSString = "rotationAngle" + @usableFromInline static let `roundRect`: JSString = "roundRect" + @usableFromInline static let `rowIndex`: JSString = "rowIndex" + @usableFromInline static let `rowSpan`: JSString = "rowSpan" + @usableFromInline static let `rows`: JSString = "rows" + @usableFromInline static let `rules`: JSString = "rules" + @usableFromInline static let `runningStatus`: JSString = "runningStatus" + @usableFromInline static let `sameDocument`: JSString = "sameDocument" + @usableFromInline static let `sampleRate`: JSString = "sampleRate" + @usableFromInline static let `sampleSize`: JSString = "sampleSize" + @usableFromInline static let `sandbox`: JSString = "sandbox" + @usableFromInline static let `save`: JSString = "save" + @usableFromInline static let `scalabilityMode`: JSString = "scalabilityMode" + @usableFromInline static let `scale`: JSString = "scale" + @usableFromInline static let `scale3d`: JSString = "scale3d" + @usableFromInline static let `scale3dSelf`: JSString = "scale3dSelf" + @usableFromInline static let `scaleNonUniform`: JSString = "scaleNonUniform" + @usableFromInline static let `scaleSelf`: JSString = "scaleSelf" + @usableFromInline static let `scheme`: JSString = "scheme" + @usableFromInline static let `scope`: JSString = "scope" + @usableFromInline static let `screen`: JSString = "screen" + @usableFromInline static let `screenLeft`: JSString = "screenLeft" + @usableFromInline static let `screenTop`: JSString = "screenTop" + @usableFromInline static let `screenX`: JSString = "screenX" + @usableFromInline static let `screenY`: JSString = "screenY" + @usableFromInline static let `scriptURL`: JSString = "scriptURL" + @usableFromInline static let `scripts`: JSString = "scripts" + @usableFromInline static let `scroll`: JSString = "scroll" + @usableFromInline static let `scrollAmount`: JSString = "scrollAmount" + @usableFromInline static let `scrollBy`: JSString = "scrollBy" + @usableFromInline static let `scrollDelay`: JSString = "scrollDelay" + @usableFromInline static let `scrollHeight`: JSString = "scrollHeight" + @usableFromInline static let `scrollIntoView`: JSString = "scrollIntoView" + @usableFromInline static let `scrollLeft`: JSString = "scrollLeft" + @usableFromInline static let `scrollRestoration`: JSString = "scrollRestoration" + @usableFromInline static let `scrollTo`: JSString = "scrollTo" + @usableFromInline static let `scrollTop`: JSString = "scrollTop" + @usableFromInline static let `scrollWidth`: JSString = "scrollWidth" + @usableFromInline static let `scrollX`: JSString = "scrollX" + @usableFromInline static let `scrollY`: JSString = "scrollY" + @usableFromInline static let `scrollbars`: JSString = "scrollbars" + @usableFromInline static let `scrolling`: JSString = "scrolling" + @usableFromInline static let `scrollingElement`: JSString = "scrollingElement" + @usableFromInline static let `search`: JSString = "search" + @usableFromInline static let `sectionRowIndex`: JSString = "sectionRowIndex" + @usableFromInline static let `seekable`: JSString = "seekable" + @usableFromInline static let `seeking`: JSString = "seeking" + @usableFromInline static let `select`: JSString = "select" + @usableFromInline static let `selectNode`: JSString = "selectNode" + @usableFromInline static let `selectNodeContents`: JSString = "selectNodeContents" + @usableFromInline static let `selected`: JSString = "selected" + @usableFromInline static let `selectedIndex`: JSString = "selectedIndex" + @usableFromInline static let `selectedOptions`: JSString = "selectedOptions" + @usableFromInline static let `selectedTrack`: JSString = "selectedTrack" + @usableFromInline static let `selectionDirection`: JSString = "selectionDirection" + @usableFromInline static let `selectionEnd`: JSString = "selectionEnd" + @usableFromInline static let `selectionStart`: JSString = "selectionStart" + @usableFromInline static let `send`: JSString = "send" + @usableFromInline static let `serializable`: JSString = "serializable" + @usableFromInline static let `serializableShadowRoots`: JSString = "serializableShadowRoots" + @usableFromInline static let `serializeToString`: JSString = "serializeToString" + @usableFromInline static let `serviceWorker`: JSString = "serviceWorker" + @usableFromInline static let `sessionStorage`: JSString = "sessionStorage" + @usableFromInline static let `set`: JSString = "set" + @usableFromInline static let `setAttribute`: JSString = "setAttribute" + @usableFromInline static let `setAttributeNS`: JSString = "setAttributeNS" + @usableFromInline static let `setAttributeNode`: JSString = "setAttributeNode" + @usableFromInline static let `setAttributeNodeNS`: JSString = "setAttributeNodeNS" + @usableFromInline static let `setCustomValidity`: JSString = "setCustomValidity" + @usableFromInline static let `setData`: JSString = "setData" + @usableFromInline static let `setDragImage`: JSString = "setDragImage" + @usableFromInline static let `setEnd`: JSString = "setEnd" + @usableFromInline static let `setEndAfter`: JSString = "setEndAfter" + @usableFromInline static let `setEndBefore`: JSString = "setEndBefore" + @usableFromInline static let `setFormValue`: JSString = "setFormValue" + @usableFromInline static let `setHTMLUnsafe`: JSString = "setHTMLUnsafe" + @usableFromInline static let `setHeaderValue`: JSString = "setHeaderValue" + @usableFromInline static let `setInterval`: JSString = "setInterval" + @usableFromInline static let `setLineDash`: JSString = "setLineDash" + @usableFromInline static let `setLiveSeekableRange`: JSString = "setLiveSeekableRange" + @usableFromInline static let `setMatrixValue`: JSString = "setMatrixValue" + @usableFromInline static let `setNamedItem`: JSString = "setNamedItem" + @usableFromInline static let `setNamedItemNS`: JSString = "setNamedItemNS" + @usableFromInline static let `setParameter`: JSString = "setParameter" + @usableFromInline static let `setRangeText`: JSString = "setRangeText" + @usableFromInline static let `setRequestHeader`: JSString = "setRequestHeader" + @usableFromInline static let `setSelectionRange`: JSString = "setSelectionRange" + @usableFromInline static let `setStart`: JSString = "setStart" + @usableFromInline static let `setStartAfter`: JSString = "setStartAfter" + @usableFromInline static let `setStartBefore`: JSString = "setStartBefore" + @usableFromInline static let `setTimeout`: JSString = "setTimeout" + @usableFromInline static let `setTransform`: JSString = "setTransform" + @usableFromInline static let `setValidity`: JSString = "setValidity" + @usableFromInline static let `shadowBlur`: JSString = "shadowBlur" + @usableFromInline static let `shadowColor`: JSString = "shadowColor" + @usableFromInline static let `shadowOffsetX`: JSString = "shadowOffsetX" + @usableFromInline static let `shadowOffsetY`: JSString = "shadowOffsetY" + @usableFromInline static let `shadowRoot`: JSString = "shadowRoot" + @usableFromInline static let `shadowRootClonable`: JSString = "shadowRootClonable" + @usableFromInline static let `shadowRootDelegatesFocus`: JSString = "shadowRootDelegatesFocus" + @usableFromInline static let `shadowRootMode`: JSString = "shadowRootMode" + @usableFromInline static let `shadowRootSerializable`: JSString = "shadowRootSerializable" + @usableFromInline static let `shadowRoots`: JSString = "shadowRoots" + @usableFromInline static let `shape`: JSString = "shape" + @usableFromInline static let `shiftKey`: JSString = "shiftKey" + @usableFromInline static let `show`: JSString = "show" + @usableFromInline static let `showModal`: JSString = "showModal" + @usableFromInline static let `showPicker`: JSString = "showPicker" + @usableFromInline static let `showPopover`: JSString = "showPopover" + @usableFromInline static let `signal`: JSString = "signal" + @usableFromInline static let `singleNodeValue`: JSString = "singleNodeValue" + @usableFromInline static let `size`: JSString = "size" + @usableFromInline static let `sizes`: JSString = "sizes" + @usableFromInline static let `skewX`: JSString = "skewX" + @usableFromInline static let `skewXSelf`: JSString = "skewXSelf" + @usableFromInline static let `skewY`: JSString = "skewY" + @usableFromInline static let `skewYSelf`: JSString = "skewYSelf" + @usableFromInline static let `skipTransition`: JSString = "skipTransition" + @usableFromInline static let `slice`: JSString = "slice" + @usableFromInline static let `slot`: JSString = "slot" + @usableFromInline static let `slotAssignment`: JSString = "slotAssignment" + @usableFromInline static let `snapshotItem`: JSString = "snapshotItem" + @usableFromInline static let `snapshotLength`: JSString = "snapshotLength" + @usableFromInline static let `source`: JSString = "source" + @usableFromInline static let `sourceBuffer`: JSString = "sourceBuffer" + @usableFromInline static let `sourceBuffers`: JSString = "sourceBuffers" + @usableFromInline static let `sourceElement`: JSString = "sourceElement" + @usableFromInline static let `span`: JSString = "span" + @usableFromInline static let `specified`: JSString = "specified" + @usableFromInline static let `spellcheck`: JSString = "spellcheck" + @usableFromInline static let `splitText`: JSString = "splitText" + @usableFromInline static let `src`: JSString = "src" + @usableFromInline static let `srcElement`: JSString = "srcElement" + @usableFromInline static let `srcObject`: JSString = "srcObject" + @usableFromInline static let `srcdoc`: JSString = "srcdoc" + @usableFromInline static let `srclang`: JSString = "srclang" + @usableFromInline static let `srcset`: JSString = "srcset" + @usableFromInline static let `standby`: JSString = "standby" + @usableFromInline static let `start`: JSString = "start" + @usableFromInline static let `startContainer`: JSString = "startContainer" + @usableFromInline static let `startMessages`: JSString = "startMessages" + @usableFromInline static let `startOffset`: JSString = "startOffset" + @usableFromInline static let `startTime`: JSString = "startTime" + @usableFromInline static let `state`: JSString = "state" + @usableFromInline static let `states`: JSString = "states" + @usableFromInline static let `status`: JSString = "status" + @usableFromInline static let `statusText`: JSString = "statusText" + @usableFromInline static let `statusbar`: JSString = "statusbar" + @usableFromInline static let `step`: JSString = "step" + @usableFromInline static let `stepDown`: JSString = "stepDown" + @usableFromInline static let `stepMismatch`: JSString = "stepMismatch" + @usableFromInline static let `stepUp`: JSString = "stepUp" + @usableFromInline static let `stop`: JSString = "stop" + @usableFromInline static let `stopImmediatePropagation`: JSString = "stopImmediatePropagation" + @usableFromInline static let `stopPropagation`: JSString = "stopPropagation" + @usableFromInline static let `storageArea`: JSString = "storageArea" + @usableFromInline static let `stream`: JSString = "stream" + @usableFromInline static let `streaming`: JSString = "streaming" + @usableFromInline static let `stride`: JSString = "stride" + @usableFromInline static let `stringValue`: JSString = "stringValue" + @usableFromInline static let `stroke`: JSString = "stroke" + @usableFromInline static let `strokeRect`: JSString = "strokeRect" + @usableFromInline static let `strokeStyle`: JSString = "strokeStyle" + @usableFromInline static let `strokeText`: JSString = "strokeText" + @usableFromInline static let `structuredClone`: JSString = "structuredClone" + @usableFromInline static let `submit`: JSString = "submit" + @usableFromInline static let `submitter`: JSString = "submitter" + @usableFromInline static let `substringData`: JSString = "substringData" + @usableFromInline static let `subtree`: JSString = "subtree" + @usableFromInline static let `suffixes`: JSString = "suffixes" + @usableFromInline static let `summary`: JSString = "summary" + @usableFromInline static let `supported`: JSString = "supported" + @usableFromInline static let `supportedEntryTypes`: JSString = "supportedEntryTypes" + @usableFromInline static let `supports`: JSString = "supports" + @usableFromInline static let `surroundContents`: JSString = "surroundContents" + @usableFromInline static let `svc`: JSString = "svc" + @usableFromInline static let `systemId`: JSString = "systemId" + @usableFromInline static let `tBodies`: JSString = "tBodies" + @usableFromInline static let `tFoot`: JSString = "tFoot" + @usableFromInline static let `tHead`: JSString = "tHead" + @usableFromInline static let `tabIndex`: JSString = "tabIndex" + @usableFromInline static let `tagName`: JSString = "tagName" + @usableFromInline static let `taintEnabled`: JSString = "taintEnabled" + @usableFromInline static let `takeRecords`: JSString = "takeRecords" + @usableFromInline static let `target`: JSString = "target" + @usableFromInline static let `targetOrigin`: JSString = "targetOrigin" + @usableFromInline static let `targetTouches`: JSString = "targetTouches" + @usableFromInline static let `tee`: JSString = "tee" + @usableFromInline static let `temporalLayerId`: JSString = "temporalLayerId" + @usableFromInline static let `terminate`: JSString = "terminate" + @usableFromInline static let `test`: JSString = "test" + @usableFromInline static let `text`: JSString = "text" + @usableFromInline static let `textAlign`: JSString = "textAlign" + @usableFromInline static let `textBaseline`: JSString = "textBaseline" + @usableFromInline static let `textContent`: JSString = "textContent" + @usableFromInline static let `textLength`: JSString = "textLength" + @usableFromInline static let `textRendering`: JSString = "textRendering" + @usableFromInline static let `textTracks`: JSString = "textTracks" + @usableFromInline static let `throwIfAborted`: JSString = "throwIfAborted" + @usableFromInline static let `timeOrigin`: JSString = "timeOrigin" + @usableFromInline static let `timeStamp`: JSString = "timeStamp" + @usableFromInline static let `timecode`: JSString = "timecode" + @usableFromInline static let `timeout`: JSString = "timeout" + @usableFromInline static let `timestamp`: JSString = "timestamp" + @usableFromInline static let `timestampOffset`: JSString = "timestampOffset" + @usableFromInline static let `title`: JSString = "title" + @usableFromInline static let `toBlob`: JSString = "toBlob" + @usableFromInline static let `toBox`: JSString = "toBox" + @usableFromInline static let `toDataURL`: JSString = "toDataURL" + @usableFromInline static let `toFloat32Array`: JSString = "toFloat32Array" + @usableFromInline static let `toFloat64Array`: JSString = "toFloat64Array" + @usableFromInline static let `toJSON`: JSString = "toJSON" + @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `toggle`: JSString = "toggle" + @usableFromInline static let `toggleAttribute`: JSString = "toggleAttribute" + @usableFromInline static let `togglePopover`: JSString = "togglePopover" + @usableFromInline static let `tooLong`: JSString = "tooLong" + @usableFromInline static let `tooShort`: JSString = "tooShort" + @usableFromInline static let `toolbar`: JSString = "toolbar" + @usableFromInline static let `top`: JSString = "top" + @usableFromInline static let `total`: JSString = "total" + @usableFromInline static let `touchType`: JSString = "touchType" + @usableFromInline static let `touches`: JSString = "touches" + @usableFromInline static let `track`: JSString = "track" + @usableFromInline static let `tracks`: JSString = "tracks" + @usableFromInline static let `transfer`: JSString = "transfer" + @usableFromInline static let `transferControlToOffscreen`: JSString = "transferControlToOffscreen" + @usableFromInline static let `transferFromImageBitmap`: JSString = "transferFromImageBitmap" + @usableFromInline static let `transferToImageBitmap`: JSString = "transferToImageBitmap" + @usableFromInline static let `transform`: JSString = "transform" + @usableFromInline static let `transformPoint`: JSString = "transformPoint" + @usableFromInline static let `transformToDocument`: JSString = "transformToDocument" + @usableFromInline static let `transformToFragment`: JSString = "transformToFragment" + @usableFromInline static let `transition`: JSString = "transition" + @usableFromInline static let `translate`: JSString = "translate" + @usableFromInline static let `translateSelf`: JSString = "translateSelf" + @usableFromInline static let `traverseTo`: JSString = "traverseTo" + @usableFromInline static let `trueSpeed`: JSString = "trueSpeed" + @usableFromInline static let `trustedTypes`: JSString = "trustedTypes" + @usableFromInline static let `type`: JSString = "type" + @usableFromInline static let `typeMismatch`: JSString = "typeMismatch" + @usableFromInline static let `types`: JSString = "types" + @usableFromInline static let `unregister`: JSString = "unregister" + @usableFromInline static let `unregisterProtocolHandler`: JSString = "unregisterProtocolHandler" + @usableFromInline static let `update`: JSString = "update" + @usableFromInline static let `updateCallbackDone`: JSString = "updateCallbackDone" + @usableFromInline static let `updateCurrentEntry`: JSString = "updateCurrentEntry" + @usableFromInline static let `updateViaCache`: JSString = "updateViaCache" + @usableFromInline static let `updating`: JSString = "updating" + @usableFromInline static let `upgrade`: JSString = "upgrade" + @usableFromInline static let `upload`: JSString = "upload" + @usableFromInline static let `url`: JSString = "url" + @usableFromInline static let `urlPattern`: JSString = "urlPattern" + @usableFromInline static let `useMap`: JSString = "useMap" + @usableFromInline static let `userActivation`: JSString = "userActivation" + @usableFromInline static let `userAgent`: JSString = "userAgent" + @usableFromInline static let `userInitiated`: JSString = "userInitiated" + @usableFromInline static let `userInsertedDevices`: JSString = "userInsertedDevices" + @usableFromInline static let `username`: JSString = "username" + @usableFromInline static let `vAlign`: JSString = "vAlign" + @usableFromInline static let `vLink`: JSString = "vLink" + @usableFromInline static let `valid`: JSString = "valid" + @usableFromInline static let `validationMessage`: JSString = "validationMessage" + @usableFromInline static let `validity`: JSString = "validity" + @usableFromInline static let `value`: JSString = "value" + @usableFromInline static let `valueAsDate`: JSString = "valueAsDate" + @usableFromInline static let `valueAsNumber`: JSString = "valueAsNumber" + @usableFromInline static let `valueMissing`: JSString = "valueMissing" + @usableFromInline static let `valueType`: JSString = "valueType" + @usableFromInline static let `vendor`: JSString = "vendor" + @usableFromInline static let `vendorSub`: JSString = "vendorSub" + @usableFromInline static let `version`: JSString = "version" + @usableFromInline static let `video`: JSString = "video" + @usableFromInline static let `videoBitsPerSecond`: JSString = "videoBitsPerSecond" + @usableFromInline static let `videoHeight`: JSString = "videoHeight" + @usableFromInline static let `videoKeyFrameIntervalCount`: JSString = "videoKeyFrameIntervalCount" + @usableFromInline static let `videoKeyFrameIntervalDuration`: JSString = "videoKeyFrameIntervalDuration" + @usableFromInline static let `videoTracks`: JSString = "videoTracks" + @usableFromInline static let `videoWidth`: JSString = "videoWidth" + @usableFromInline static let `view`: JSString = "view" + @usableFromInline static let `viewTransition`: JSString = "viewTransition" + @usableFromInline static let `visibilityProperty`: JSString = "visibilityProperty" + @usableFromInline static let `visibilityState`: JSString = "visibilityState" + @usableFromInline static let `visible`: JSString = "visible" + @usableFromInline static let `visibleRect`: JSString = "visibleRect" + @usableFromInline static let `visualViewport`: JSString = "visualViewport" + @usableFromInline static let `vlinkColor`: JSString = "vlinkColor" + @usableFromInline static let `volume`: JSString = "volume" + @usableFromInline static let `vspace`: JSString = "vspace" + @usableFromInline static let `w`: JSString = "w" + @usableFromInline static let `waiting`: JSString = "waiting" + @usableFromInline static let `webkitMatchesSelector`: JSString = "webkitMatchesSelector" + @usableFromInline static let `whatToShow`: JSString = "whatToShow" + @usableFromInline static let `whenDefined`: JSString = "whenDefined" + @usableFromInline static let `which`: JSString = "which" + @usableFromInline static let `wholeText`: JSString = "wholeText" + @usableFromInline static let `width`: JSString = "width" + @usableFromInline static let `willReadFrequently`: JSString = "willReadFrequently" + @usableFromInline static let `willValidate`: JSString = "willValidate" + @usableFromInline static let `window`: JSString = "window" + @usableFromInline static let `withCredentials`: JSString = "withCredentials" + @usableFromInline static let `wordSpacing`: JSString = "wordSpacing" + @usableFromInline static let `wrap`: JSString = "wrap" + @usableFromInline static let `writable`: JSString = "writable" + @usableFromInline static let `writableType`: JSString = "writableType" + @usableFromInline static let `write`: JSString = "write" + @usableFromInline static let `writeln`: JSString = "writeln" + @usableFromInline static let `writingSuggestions`: JSString = "writingSuggestions" + @usableFromInline static let `x`: JSString = "x" + @usableFromInline static let `y`: JSString = "y" + @usableFromInline static let `z`: JSString = "z" } - public protocol Any_AddEventListenerOptions_or_Bool: ConvertibleToJSValue {} extension AddEventListenerOptions: Any_AddEventListenerOptions_or_Bool {} extension Bool: Any_AddEventListenerOptions_or_Bool {} @@ -20776,7 +23682,6 @@ public enum AddEventListenerOptions_or_Bool: JSValueCompatible, Any_AddEventList let val: AddEventListenerOptions_or_Bool = .addEventListenerOptions(addEventListenerOptions) self = val } - public init(_ bool: Bool) { let val: AddEventListenerOptions_or_Bool = .bool(bool) self = val @@ -20788,7 +23693,6 @@ public enum AddEventListenerOptions_or_Bool: JSValueCompatible, Any_AddEventList default: return nil } } - public var bool: Bool? { switch self { case let .bool(bool): return bool @@ -20800,22 +23704,17 @@ public enum AddEventListenerOptions_or_Bool: JSValueCompatible, Any_AddEventList if let addEventListenerOptions: AddEventListenerOptions = value.fromJSValue() { return .addEventListenerOptions(addEventListenerOptions) } - if let bool: Bool = value.fromJSValue() { - return .bool(bool) - } + if let bool: Bool = value.fromJSValue() { return .bool(bool) } return nil } public var jsValue: JSValue { switch self { - case let .addEventListenerOptions(addEventListenerOptions): - return addEventListenerOptions.jsValue - case let .bool(bool): - return bool.jsValue + case let .addEventListenerOptions(addEventListenerOptions): return addEventListenerOptions.jsValue + case let .bool(bool): return bool.jsValue } } } - public protocol Any_ArrayBuffer_or_String: ConvertibleToJSValue {} extension ArrayBuffer: Any_ArrayBuffer_or_String {} extension String: Any_ArrayBuffer_or_String {} @@ -20828,7 +23727,6 @@ public enum ArrayBuffer_or_String: JSValueCompatible, Any_ArrayBuffer_or_String let val: ArrayBuffer_or_String = .arrayBuffer(arrayBuffer) self = val } - public init(_ string: String) { let val: ArrayBuffer_or_String = .string(string) self = val @@ -20840,7 +23738,6 @@ public enum ArrayBuffer_or_String: JSValueCompatible, Any_ArrayBuffer_or_String default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -20849,25 +23746,18 @@ public enum ArrayBuffer_or_String: JSValueCompatible, Any_ArrayBuffer_or_String } public static func construct(from value: JSValue) -> Self? { - if let arrayBuffer: ArrayBuffer = value.fromJSValue() { - return .arrayBuffer(arrayBuffer) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let arrayBuffer: ArrayBuffer = value.fromJSValue() { return .arrayBuffer(arrayBuffer) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .arrayBuffer(arrayBuffer): - return arrayBuffer.jsValue - case let .string(string): - return string.jsValue + case let .arrayBuffer(arrayBuffer): return arrayBuffer.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_AudioTrack_or_TextTrack_or_VideoTrack: ConvertibleToJSValue {} extension AudioTrack: Any_AudioTrack_or_TextTrack_or_VideoTrack {} extension TextTrack: Any_AudioTrack_or_TextTrack_or_VideoTrack {} @@ -20882,12 +23772,10 @@ public enum AudioTrack_or_TextTrack_or_VideoTrack: JSValueCompatible, Any_AudioT let val: AudioTrack_or_TextTrack_or_VideoTrack = .audioTrack(audioTrack) self = val } - public init(_ textTrack: TextTrack) { let val: AudioTrack_or_TextTrack_or_VideoTrack = .textTrack(textTrack) self = val } - public init(_ videoTrack: VideoTrack) { let val: AudioTrack_or_TextTrack_or_VideoTrack = .videoTrack(videoTrack) self = val @@ -20899,14 +23787,12 @@ public enum AudioTrack_or_TextTrack_or_VideoTrack: JSValueCompatible, Any_AudioT default: return nil } } - public var textTrack: TextTrack? { switch self { case let .textTrack(textTrack): return textTrack default: return nil } } - public var videoTrack: VideoTrack? { switch self { case let .videoTrack(videoTrack): return videoTrack @@ -20915,30 +23801,20 @@ public enum AudioTrack_or_TextTrack_or_VideoTrack: JSValueCompatible, Any_AudioT } public static func construct(from value: JSValue) -> Self? { - if let audioTrack: AudioTrack = value.fromJSValue() { - return .audioTrack(audioTrack) - } - if let textTrack: TextTrack = value.fromJSValue() { - return .textTrack(textTrack) - } - if let videoTrack: VideoTrack = value.fromJSValue() { - return .videoTrack(videoTrack) - } + if let audioTrack: AudioTrack = value.fromJSValue() { return .audioTrack(audioTrack) } + if let textTrack: TextTrack = value.fromJSValue() { return .textTrack(textTrack) } + if let videoTrack: VideoTrack = value.fromJSValue() { return .videoTrack(videoTrack) } return nil } public var jsValue: JSValue { switch self { - case let .audioTrack(audioTrack): - return audioTrack.jsValue - case let .textTrack(textTrack): - return textTrack.jsValue - case let .videoTrack(videoTrack): - return videoTrack.jsValue + case let .audioTrack(audioTrack): return audioTrack.jsValue + case let .textTrack(textTrack): return textTrack.jsValue + case let .videoTrack(videoTrack): return videoTrack.jsValue } } } - public protocol Any_BlobPart: ConvertibleToJSValue {} extension Blob: Any_BlobPart {} extension BufferSource: Any_BlobPart {} @@ -20953,22 +23829,18 @@ public enum BlobPart: JSValueCompatible, Any_BlobPart { let val: BlobPart = .blob(blob) self = val } - public init(_ bufferSource: BufferSource) { let val: BlobPart = .bufferSource(bufferSource) self = val } - public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } - public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } - public init(_ string: String) { let val: BlobPart = .string(string) self = val @@ -20980,14 +23852,12 @@ public enum BlobPart: JSValueCompatible, Any_BlobPart { default: return nil } } - public var bufferSource: BufferSource? { switch self { case let .bufferSource(bufferSource): return bufferSource default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -20996,30 +23866,20 @@ public enum BlobPart: JSValueCompatible, Any_BlobPart { } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { - return .blob(blob) - } - if let bufferSource: BufferSource = value.fromJSValue() { - return .bufferSource(bufferSource) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let blob: Blob = value.fromJSValue() { return .blob(blob) } + if let bufferSource: BufferSource = value.fromJSValue() { return .bufferSource(bufferSource) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): - return blob.jsValue - case let .bufferSource(bufferSource): - return bufferSource.jsValue - case let .string(string): - return string.jsValue + case let .blob(blob): return blob.jsValue + case let .bufferSource(bufferSource): return bufferSource.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_Bool_or_Double_or_String: ConvertibleToJSValue {} extension Bool: Any_Bool_or_Double_or_String {} extension Double: Any_Bool_or_Double_or_String {} @@ -21034,12 +23894,10 @@ public enum Bool_or_Double_or_String: JSValueCompatible, Any_Bool_or_Double_or_S let val: Bool_or_Double_or_String = .bool(bool) self = val } - public init(_ double: Double) { let val: Bool_or_Double_or_String = .double(double) self = val } - public init(_ string: String) { let val: Bool_or_Double_or_String = .string(string) self = val @@ -21051,14 +23909,12 @@ public enum Bool_or_Double_or_String: JSValueCompatible, Any_Bool_or_Double_or_S default: return nil } } - public var double: Double? { switch self { case let .double(double): return double default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -21067,30 +23923,20 @@ public enum Bool_or_Double_or_String: JSValueCompatible, Any_Bool_or_Double_or_S } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { - return .bool(bool) - } - if let double: Double = value.fromJSValue() { - return .double(double) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let bool: Bool = value.fromJSValue() { return .bool(bool) } + if let double: Double = value.fromJSValue() { return .double(double) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .bool(bool): - return bool.jsValue - case let .double(double): - return double.jsValue - case let .string(string): - return string.jsValue + case let .bool(bool): return bool.jsValue + case let .double(double): return double.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_Bool_or_EventListenerOptions: ConvertibleToJSValue {} extension Bool: Any_Bool_or_EventListenerOptions {} extension EventListenerOptions: Any_Bool_or_EventListenerOptions {} @@ -21103,7 +23949,6 @@ public enum Bool_or_EventListenerOptions: JSValueCompatible, Any_Bool_or_EventLi let val: Bool_or_EventListenerOptions = .bool(bool) self = val } - public init(_ eventListenerOptions: EventListenerOptions) { let val: Bool_or_EventListenerOptions = .eventListenerOptions(eventListenerOptions) self = val @@ -21115,7 +23960,6 @@ public enum Bool_or_EventListenerOptions: JSValueCompatible, Any_Bool_or_EventLi default: return nil } } - public var eventListenerOptions: EventListenerOptions? { switch self { case let .eventListenerOptions(eventListenerOptions): return eventListenerOptions @@ -21124,9 +23968,7 @@ public enum Bool_or_EventListenerOptions: JSValueCompatible, Any_Bool_or_EventLi } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { - return .bool(bool) - } + if let bool: Bool = value.fromJSValue() { return .bool(bool) } if let eventListenerOptions: EventListenerOptions = value.fromJSValue() { return .eventListenerOptions(eventListenerOptions) } @@ -21135,14 +23977,11 @@ public enum Bool_or_EventListenerOptions: JSValueCompatible, Any_Bool_or_EventLi public var jsValue: JSValue { switch self { - case let .bool(bool): - return bool.jsValue - case let .eventListenerOptions(eventListenerOptions): - return eventListenerOptions.jsValue + case let .bool(bool): return bool.jsValue + case let .eventListenerOptions(eventListenerOptions): return eventListenerOptions.jsValue } } } - public protocol Any_Bool_or_MediaTrackConstraints: ConvertibleToJSValue {} extension Bool: Any_Bool_or_MediaTrackConstraints {} extension MediaTrackConstraints: Any_Bool_or_MediaTrackConstraints {} @@ -21155,7 +23994,6 @@ public enum Bool_or_MediaTrackConstraints: JSValueCompatible, Any_Bool_or_MediaT let val: Bool_or_MediaTrackConstraints = .bool(bool) self = val } - public init(_ mediaTrackConstraints: MediaTrackConstraints) { let val: Bool_or_MediaTrackConstraints = .mediaTrackConstraints(mediaTrackConstraints) self = val @@ -21167,7 +24005,6 @@ public enum Bool_or_MediaTrackConstraints: JSValueCompatible, Any_Bool_or_MediaT default: return nil } } - public var mediaTrackConstraints: MediaTrackConstraints? { switch self { case let .mediaTrackConstraints(mediaTrackConstraints): return mediaTrackConstraints @@ -21176,9 +24013,7 @@ public enum Bool_or_MediaTrackConstraints: JSValueCompatible, Any_Bool_or_MediaT } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { - return .bool(bool) - } + if let bool: Bool = value.fromJSValue() { return .bool(bool) } if let mediaTrackConstraints: MediaTrackConstraints = value.fromJSValue() { return .mediaTrackConstraints(mediaTrackConstraints) } @@ -21187,14 +24022,11 @@ public enum Bool_or_MediaTrackConstraints: JSValueCompatible, Any_Bool_or_MediaT public var jsValue: JSValue { switch self { - case let .bool(bool): - return bool.jsValue - case let .mediaTrackConstraints(mediaTrackConstraints): - return mediaTrackConstraints.jsValue + case let .bool(bool): return bool.jsValue + case let .mediaTrackConstraints(mediaTrackConstraints): return mediaTrackConstraints.jsValue } } } - public protocol Any_Bool_or_ScrollIntoViewOptions: ConvertibleToJSValue {} extension Bool: Any_Bool_or_ScrollIntoViewOptions {} extension ScrollIntoViewOptions: Any_Bool_or_ScrollIntoViewOptions {} @@ -21207,7 +24039,6 @@ public enum Bool_or_ScrollIntoViewOptions: JSValueCompatible, Any_Bool_or_Scroll let val: Bool_or_ScrollIntoViewOptions = .bool(bool) self = val } - public init(_ scrollIntoViewOptions: ScrollIntoViewOptions) { let val: Bool_or_ScrollIntoViewOptions = .scrollIntoViewOptions(scrollIntoViewOptions) self = val @@ -21219,7 +24050,6 @@ public enum Bool_or_ScrollIntoViewOptions: JSValueCompatible, Any_Bool_or_Scroll default: return nil } } - public var scrollIntoViewOptions: ScrollIntoViewOptions? { switch self { case let .scrollIntoViewOptions(scrollIntoViewOptions): return scrollIntoViewOptions @@ -21228,9 +24058,7 @@ public enum Bool_or_ScrollIntoViewOptions: JSValueCompatible, Any_Bool_or_Scroll } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { - return .bool(bool) - } + if let bool: Bool = value.fromJSValue() { return .bool(bool) } if let scrollIntoViewOptions: ScrollIntoViewOptions = value.fromJSValue() { return .scrollIntoViewOptions(scrollIntoViewOptions) } @@ -21239,14 +24067,56 @@ public enum Bool_or_ScrollIntoViewOptions: JSValueCompatible, Any_Bool_or_Scroll public var jsValue: JSValue { switch self { - case let .bool(bool): - return bool.jsValue - case let .scrollIntoViewOptions(scrollIntoViewOptions): - return scrollIntoViewOptions.jsValue + case let .bool(bool): return bool.jsValue + case let .scrollIntoViewOptions(scrollIntoViewOptions): return scrollIntoViewOptions.jsValue } } } +public protocol Any_Bool_or_TogglePopoverOptions: ConvertibleToJSValue {} +extension Bool: Any_Bool_or_TogglePopoverOptions {} +extension TogglePopoverOptions: Any_Bool_or_TogglePopoverOptions {} + +public enum Bool_or_TogglePopoverOptions: JSValueCompatible, Any_Bool_or_TogglePopoverOptions { + case bool(Bool) + case togglePopoverOptions(TogglePopoverOptions) + + public init(_ bool: Bool) { + let val: Bool_or_TogglePopoverOptions = .bool(bool) + self = val + } + public init(_ togglePopoverOptions: TogglePopoverOptions) { + let val: Bool_or_TogglePopoverOptions = .togglePopoverOptions(togglePopoverOptions) + self = val + } + + public var bool: Bool? { + switch self { + case let .bool(bool): return bool + default: return nil + } + } + public var togglePopoverOptions: TogglePopoverOptions? { + switch self { + case let .togglePopoverOptions(togglePopoverOptions): return togglePopoverOptions + default: return nil + } + } + + public static func construct(from value: JSValue) -> Self? { + if let bool: Bool = value.fromJSValue() { return .bool(bool) } + if let togglePopoverOptions: TogglePopoverOptions = value.fromJSValue() { + return .togglePopoverOptions(togglePopoverOptions) + } + return nil + } + public var jsValue: JSValue { + switch self { + case let .bool(bool): return bool.jsValue + case let .togglePopoverOptions(togglePopoverOptions): return togglePopoverOptions.jsValue + } + } +} public protocol Any_CSSPseudoElement_or_Element: ConvertibleToJSValue {} extension CSSPseudoElement: Any_CSSPseudoElement_or_Element {} extension Element: Any_CSSPseudoElement_or_Element {} @@ -21259,7 +24129,6 @@ public enum CSSPseudoElement_or_Element: JSValueCompatible, Any_CSSPseudoElement let val: CSSPseudoElement_or_Element = .cssPseudoElement(cssPseudoElement) self = val } - public init(_ element: Element) { let val: CSSPseudoElement_or_Element = .element(element) self = val @@ -21271,7 +24140,6 @@ public enum CSSPseudoElement_or_Element: JSValueCompatible, Any_CSSPseudoElement default: return nil } } - public var element: Element? { switch self { case let .element(element): return element @@ -21280,31 +24148,25 @@ public enum CSSPseudoElement_or_Element: JSValueCompatible, Any_CSSPseudoElement } public static func construct(from value: JSValue) -> Self? { - if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { - return .cssPseudoElement(cssPseudoElement) - } - if let element: Element = value.fromJSValue() { - return .element(element) - } + if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { return .cssPseudoElement(cssPseudoElement) } + if let element: Element = value.fromJSValue() { return .element(element) } return nil } public var jsValue: JSValue { switch self { - case let .cssPseudoElement(cssPseudoElement): - return cssPseudoElement.jsValue - case let .element(element): - return element.jsValue + case let .cssPseudoElement(cssPseudoElement): return cssPseudoElement.jsValue + case let .element(element): return element.jsValue } } } - public protocol Any_CanvasGradient_or_CanvasPattern_or_String: ConvertibleToJSValue {} extension CanvasGradient: Any_CanvasGradient_or_CanvasPattern_or_String {} extension CanvasPattern: Any_CanvasGradient_or_CanvasPattern_or_String {} extension String: Any_CanvasGradient_or_CanvasPattern_or_String {} -public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_CanvasGradient_or_CanvasPattern_or_String { +public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_CanvasGradient_or_CanvasPattern_or_String +{ case canvasGradient(CanvasGradient) case canvasPattern(CanvasPattern) case string(String) @@ -21313,12 +24175,10 @@ public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_Ca let val: CanvasGradient_or_CanvasPattern_or_String = .canvasGradient(canvasGradient) self = val } - public init(_ canvasPattern: CanvasPattern) { let val: CanvasGradient_or_CanvasPattern_or_String = .canvasPattern(canvasPattern) self = val } - public init(_ string: String) { let val: CanvasGradient_or_CanvasPattern_or_String = .string(string) self = val @@ -21330,14 +24190,12 @@ public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_Ca default: return nil } } - public var canvasPattern: CanvasPattern? { switch self { case let .canvasPattern(canvasPattern): return canvasPattern default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -21346,30 +24204,20 @@ public enum CanvasGradient_or_CanvasPattern_or_String: JSValueCompatible, Any_Ca } public static func construct(from value: JSValue) -> Self? { - if let canvasGradient: CanvasGradient = value.fromJSValue() { - return .canvasGradient(canvasGradient) - } - if let canvasPattern: CanvasPattern = value.fromJSValue() { - return .canvasPattern(canvasPattern) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let canvasGradient: CanvasGradient = value.fromJSValue() { return .canvasGradient(canvasGradient) } + if let canvasPattern: CanvasPattern = value.fromJSValue() { return .canvasPattern(canvasPattern) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .canvasGradient(canvasGradient): - return canvasGradient.jsValue - case let .canvasPattern(canvasPattern): - return canvasPattern.jsValue - case let .string(string): - return string.jsValue + case let .canvasGradient(canvasGradient): return canvasGradient.jsValue + case let .canvasPattern(canvasPattern): return canvasPattern.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_CanvasImageSource: ConvertibleToJSValue {} extension HTMLCanvasElement: Any_CanvasImageSource {} extension HTMLOrSVGImageElement: Any_CanvasImageSource {} @@ -21390,37 +24238,22 @@ public enum CanvasImageSource: JSValueCompatible, Any_CanvasImageSource { let val: CanvasImageSource = .htmlCanvasElement(htmlCanvasElement) self = val } - public init(_ htmlOrSVGImageElement: HTMLOrSVGImageElement) { let val: CanvasImageSource = .htmlOrSVGImageElement(htmlOrSVGImageElement) self = val } - - public init(_ htmlImageElement: HTMLImageElement) { - let val: HTMLOrSVGImageElement = .htmlImageElement(htmlImageElement) - self = .init(val) - } - - public init(_ svgImageElement: SVGImageElement) { - let val: HTMLOrSVGImageElement = .svgImageElement(svgImageElement) - self = .init(val) - } - public init(_ htmlVideoElement: HTMLVideoElement) { let val: CanvasImageSource = .htmlVideoElement(htmlVideoElement) self = val } - public init(_ imageBitmap: ImageBitmap) { let val: CanvasImageSource = .imageBitmap(imageBitmap) self = val } - public init(_ offscreenCanvas: OffscreenCanvas) { let val: CanvasImageSource = .offscreenCanvas(offscreenCanvas) self = val } - public init(_ videoFrame: VideoFrame) { let val: CanvasImageSource = .videoFrame(videoFrame) self = val @@ -21432,35 +24265,30 @@ public enum CanvasImageSource: JSValueCompatible, Any_CanvasImageSource { default: return nil } } - public var htmlOrSVGImageElement: HTMLOrSVGImageElement? { switch self { case let .htmlOrSVGImageElement(htmlOrSVGImageElement): return htmlOrSVGImageElement default: return nil } } - public var htmlVideoElement: HTMLVideoElement? { switch self { case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement default: return nil } } - public var imageBitmap: ImageBitmap? { switch self { case let .imageBitmap(imageBitmap): return imageBitmap default: return nil } } - public var offscreenCanvas: OffscreenCanvas? { switch self { case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas default: return nil } } - public var videoFrame: VideoFrame? { switch self { case let .videoFrame(videoFrame): return videoFrame @@ -21475,39 +24303,24 @@ public enum CanvasImageSource: JSValueCompatible, Any_CanvasImageSource { if let htmlOrSVGImageElement: HTMLOrSVGImageElement = value.fromJSValue() { return .htmlOrSVGImageElement(htmlOrSVGImageElement) } - if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() { - return .htmlVideoElement(htmlVideoElement) - } - if let imageBitmap: ImageBitmap = value.fromJSValue() { - return .imageBitmap(imageBitmap) - } - if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { - return .offscreenCanvas(offscreenCanvas) - } - if let videoFrame: VideoFrame = value.fromJSValue() { - return .videoFrame(videoFrame) - } + if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() { return .htmlVideoElement(htmlVideoElement) } + if let imageBitmap: ImageBitmap = value.fromJSValue() { return .imageBitmap(imageBitmap) } + if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { return .offscreenCanvas(offscreenCanvas) } + if let videoFrame: VideoFrame = value.fromJSValue() { return .videoFrame(videoFrame) } return nil } public var jsValue: JSValue { switch self { - case let .htmlCanvasElement(htmlCanvasElement): - return htmlCanvasElement.jsValue - case let .htmlOrSVGImageElement(htmlOrSVGImageElement): - return htmlOrSVGImageElement.jsValue - case let .htmlVideoElement(htmlVideoElement): - return htmlVideoElement.jsValue - case let .imageBitmap(imageBitmap): - return imageBitmap.jsValue - case let .offscreenCanvas(offscreenCanvas): - return offscreenCanvas.jsValue - case let .videoFrame(videoFrame): - return videoFrame.jsValue + case let .htmlCanvasElement(htmlCanvasElement): return htmlCanvasElement.jsValue + case let .htmlOrSVGImageElement(htmlOrSVGImageElement): return htmlOrSVGImageElement.jsValue + case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement.jsValue + case let .imageBitmap(imageBitmap): return imageBitmap.jsValue + case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas.jsValue + case let .videoFrame(videoFrame): return videoFrame.jsValue } } } - public protocol Any_ConstrainBoolean: ConvertibleToJSValue {} extension Bool: Any_ConstrainBoolean {} extension ConstrainBooleanParameters: Any_ConstrainBoolean {} @@ -21520,7 +24333,6 @@ public enum ConstrainBoolean: JSValueCompatible, Any_ConstrainBoolean { let val: ConstrainBoolean = .bool(bool) self = val } - public init(_ constrainBooleanParameters: ConstrainBooleanParameters) { let val: ConstrainBoolean = .constrainBooleanParameters(constrainBooleanParameters) self = val @@ -21532,7 +24344,6 @@ public enum ConstrainBoolean: JSValueCompatible, Any_ConstrainBoolean { default: return nil } } - public var constrainBooleanParameters: ConstrainBooleanParameters? { switch self { case let .constrainBooleanParameters(constrainBooleanParameters): return constrainBooleanParameters @@ -21541,9 +24352,7 @@ public enum ConstrainBoolean: JSValueCompatible, Any_ConstrainBoolean { } public static func construct(from value: JSValue) -> Self? { - if let bool: Bool = value.fromJSValue() { - return .bool(bool) - } + if let bool: Bool = value.fromJSValue() { return .bool(bool) } if let constrainBooleanParameters: ConstrainBooleanParameters = value.fromJSValue() { return .constrainBooleanParameters(constrainBooleanParameters) } @@ -21552,14 +24361,11 @@ public enum ConstrainBoolean: JSValueCompatible, Any_ConstrainBoolean { public var jsValue: JSValue { switch self { - case let .bool(bool): - return bool.jsValue - case let .constrainBooleanParameters(constrainBooleanParameters): - return constrainBooleanParameters.jsValue + case let .bool(bool): return bool.jsValue + case let .constrainBooleanParameters(constrainBooleanParameters): return constrainBooleanParameters.jsValue } } } - public protocol Any_ConstrainDOMString: ConvertibleToJSValue {} extension ConstrainDOMStringParameters: Any_ConstrainDOMString {} extension String: Any_ConstrainDOMString {} @@ -21574,12 +24380,10 @@ public enum ConstrainDOMString: JSValueCompatible, Any_ConstrainDOMString { let val: ConstrainDOMString = .constrainDOMStringParameters(constrainDOMStringParameters) self = val } - public init(_ string: String) { let val: ConstrainDOMString = .string(string) self = val } - public init(_ seq_of_String: [String]) { let val: ConstrainDOMString = .seq_of_String(seq_of_String) self = val @@ -21591,14 +24395,12 @@ public enum ConstrainDOMString: JSValueCompatible, Any_ConstrainDOMString { default: return nil } } - public var string: String? { switch self { case let .string(string): return string default: return nil } } - public var seq_of_String: [String]? { switch self { case let .seq_of_String(seq_of_String): return seq_of_String @@ -21610,12 +24412,8 @@ public enum ConstrainDOMString: JSValueCompatible, Any_ConstrainDOMString { if let constrainDOMStringParameters: ConstrainDOMStringParameters = value.fromJSValue() { return .constrainDOMStringParameters(constrainDOMStringParameters) } - if let string: String = value.fromJSValue() { - return .string(string) - } - if let seq_of_String: [String] = value.fromJSValue() { - return .seq_of_String(seq_of_String) - } + if let string: String = value.fromJSValue() { return .string(string) } + if let seq_of_String: [String] = value.fromJSValue() { return .seq_of_String(seq_of_String) } return nil } @@ -21623,14 +24421,11 @@ public enum ConstrainDOMString: JSValueCompatible, Any_ConstrainDOMString { switch self { case let .constrainDOMStringParameters(constrainDOMStringParameters): return constrainDOMStringParameters.jsValue - case let .string(string): - return string.jsValue - case let .seq_of_String(seq_of_String): - return seq_of_String.jsValue + case let .string(string): return string.jsValue + case let .seq_of_String(seq_of_String): return seq_of_String.jsValue } } } - public protocol Any_ConstrainDouble: ConvertibleToJSValue {} extension ConstrainDoubleRange: Any_ConstrainDouble {} extension Double: Any_ConstrainDouble {} @@ -21643,7 +24438,6 @@ public enum ConstrainDouble: JSValueCompatible, Any_ConstrainDouble { let val: ConstrainDouble = .constrainDoubleRange(constrainDoubleRange) self = val } - public init(_ double: Double) { let val: ConstrainDouble = .double(double) self = val @@ -21655,7 +24449,6 @@ public enum ConstrainDouble: JSValueCompatible, Any_ConstrainDouble { default: return nil } } - public var double: Double? { switch self { case let .double(double): return double @@ -21667,22 +24460,17 @@ public enum ConstrainDouble: JSValueCompatible, Any_ConstrainDouble { if let constrainDoubleRange: ConstrainDoubleRange = value.fromJSValue() { return .constrainDoubleRange(constrainDoubleRange) } - if let double: Double = value.fromJSValue() { - return .double(double) - } + if let double: Double = value.fromJSValue() { return .double(double) } return nil } public var jsValue: JSValue { switch self { - case let .constrainDoubleRange(constrainDoubleRange): - return constrainDoubleRange.jsValue - case let .double(double): - return double.jsValue + case let .constrainDoubleRange(constrainDoubleRange): return constrainDoubleRange.jsValue + case let .double(double): return double.jsValue } } } - public protocol Any_ConstrainULong: ConvertibleToJSValue {} extension ConstrainULongRange: Any_ConstrainULong {} extension UInt32: Any_ConstrainULong {} @@ -21695,7 +24483,6 @@ public enum ConstrainULong: JSValueCompatible, Any_ConstrainULong { let val: ConstrainULong = .constrainULongRange(constrainULongRange) self = val } - public init(_ uInt32: UInt32) { let val: ConstrainULong = .uInt32(uInt32) self = val @@ -21707,7 +24494,6 @@ public enum ConstrainULong: JSValueCompatible, Any_ConstrainULong { default: return nil } } - public var uInt32: UInt32? { switch self { case let .uInt32(uInt32): return uInt32 @@ -21719,22 +24505,17 @@ public enum ConstrainULong: JSValueCompatible, Any_ConstrainULong { if let constrainULongRange: ConstrainULongRange = value.fromJSValue() { return .constrainULongRange(constrainULongRange) } - if let uInt32: UInt32 = value.fromJSValue() { - return .uInt32(uInt32) - } + if let uInt32: UInt32 = value.fromJSValue() { return .uInt32(uInt32) } return nil } public var jsValue: JSValue { switch self { - case let .constrainULongRange(constrainULongRange): - return constrainULongRange.jsValue - case let .uInt32(uInt32): - return uInt32.jsValue + case let .constrainULongRange(constrainULongRange): return constrainULongRange.jsValue + case let .uInt32(uInt32): return uInt32.jsValue } } } - public protocol Any_DOMPointInit_or_Double: ConvertibleToJSValue {} extension DOMPointInit: Any_DOMPointInit_or_Double {} extension Double: Any_DOMPointInit_or_Double {} @@ -21747,7 +24528,6 @@ public enum DOMPointInit_or_Double: JSValueCompatible, Any_DOMPointInit_or_Doubl let val: DOMPointInit_or_Double = .domPointInit(domPointInit) self = val } - public init(_ double: Double) { let val: DOMPointInit_or_Double = .double(double) self = val @@ -21759,7 +24539,6 @@ public enum DOMPointInit_or_Double: JSValueCompatible, Any_DOMPointInit_or_Doubl default: return nil } } - public var double: Double? { switch self { case let .double(double): return double @@ -21768,31 +24547,26 @@ public enum DOMPointInit_or_Double: JSValueCompatible, Any_DOMPointInit_or_Doubl } public static func construct(from value: JSValue) -> Self? { - if let domPointInit: DOMPointInit = value.fromJSValue() { - return .domPointInit(domPointInit) - } - if let double: Double = value.fromJSValue() { - return .double(double) - } + if let domPointInit: DOMPointInit = value.fromJSValue() { return .domPointInit(domPointInit) } + if let double: Double = value.fromJSValue() { return .double(double) } return nil } public var jsValue: JSValue { switch self { - case let .domPointInit(domPointInit): - return domPointInit.jsValue - case let .double(double): - return double.jsValue + case let .domPointInit(domPointInit): return domPointInit.jsValue + case let .double(double): return double.jsValue } } } - public protocol Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: ConvertibleToJSValue {} extension DOMPointInit: Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double {} extension Double: Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double {} extension Array: Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double where Element == DOMPointInit_or_Double {} -public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueCompatible, Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double { +public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueCompatible, + Any_DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double +{ case domPointInit(DOMPointInit) case double(Double) case seq_of_DOMPointInit_or_Double([DOMPointInit_or_Double]) @@ -21801,14 +24575,14 @@ public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueComp let val: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double = .domPointInit(domPointInit) self = val } - public init(_ double: Double) { let val: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double = .double(double) self = val } - public init(_ seq_of_DOMPointInit_or_Double: [DOMPointInit_or_Double]) { - let val: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double = .seq_of_DOMPointInit_or_Double(seq_of_DOMPointInit_or_Double) + let val: DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double = .seq_of_DOMPointInit_or_Double( + seq_of_DOMPointInit_or_Double + ) self = val } @@ -21818,14 +24592,12 @@ public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueComp default: return nil } } - public var double: Double? { switch self { case let .double(double): return double default: return nil } } - public var seq_of_DOMPointInit_or_Double: [DOMPointInit_or_Double]? { switch self { case let .seq_of_DOMPointInit_or_Double(seq_of_DOMPointInit_or_Double): return seq_of_DOMPointInit_or_Double @@ -21834,12 +24606,8 @@ public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueComp } public static func construct(from value: JSValue) -> Self? { - if let domPointInit: DOMPointInit = value.fromJSValue() { - return .domPointInit(domPointInit) - } - if let double: Double = value.fromJSValue() { - return .double(double) - } + if let domPointInit: DOMPointInit = value.fromJSValue() { return .domPointInit(domPointInit) } + if let double: Double = value.fromJSValue() { return .double(double) } if let seq_of_DOMPointInit_or_Double: [DOMPointInit_or_Double] = value.fromJSValue() { return .seq_of_DOMPointInit_or_Double(seq_of_DOMPointInit_or_Double) } @@ -21848,16 +24616,13 @@ public enum DOMPointInit_or_Double_or_seq_of_DOMPointInit_or_Double: JSValueComp public var jsValue: JSValue { switch self { - case let .domPointInit(domPointInit): - return domPointInit.jsValue - case let .double(double): - return double.jsValue + case let .domPointInit(domPointInit): return domPointInit.jsValue + case let .double(double): return double.jsValue case let .seq_of_DOMPointInit_or_Double(seq_of_DOMPointInit_or_Double): return seq_of_DOMPointInit_or_Double.jsValue } } } - public protocol Any_Document_or_XMLHttpRequestBodyInit: ConvertibleToJSValue {} extension Document: Any_Document_or_XMLHttpRequestBodyInit {} extension XMLHttpRequestBodyInit: Any_Document_or_XMLHttpRequestBodyInit {} @@ -21870,42 +24635,34 @@ public enum Document_or_XMLHttpRequestBodyInit: JSValueCompatible, Any_Document_ let val: Document_or_XMLHttpRequestBodyInit = .document(document) self = val } - public init(_ xmlHttpRequestBodyInit: XMLHttpRequestBodyInit) { let val: Document_or_XMLHttpRequestBodyInit = .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit) self = val } - public init(_ blob: Blob) { let val: XMLHttpRequestBodyInit = .blob(blob) self = .init(val) } - public init(_ bufferSource: BufferSource) { let val: XMLHttpRequestBodyInit = .bufferSource(bufferSource) self = .init(val) } - public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } - public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } - public init(_ formData: FormData) { let val: XMLHttpRequestBodyInit = .formData(formData) self = .init(val) } - public init(_ string: String) { let val: XMLHttpRequestBodyInit = .string(string) self = .init(val) } - public init(_ urlSearchParams: URLSearchParams) { let val: XMLHttpRequestBodyInit = .urlSearchParams(urlSearchParams) self = .init(val) @@ -21917,7 +24674,6 @@ public enum Document_or_XMLHttpRequestBodyInit: JSValueCompatible, Any_Document_ default: return nil } } - public var xmlHttpRequestBodyInit: XMLHttpRequestBodyInit? { switch self { case let .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit): return xmlHttpRequestBodyInit @@ -21926,9 +24682,7 @@ public enum Document_or_XMLHttpRequestBodyInit: JSValueCompatible, Any_Document_ } public static func construct(from value: JSValue) -> Self? { - if let document: Document = value.fromJSValue() { - return .document(document) - } + if let document: Document = value.fromJSValue() { return .document(document) } if let xmlHttpRequestBodyInit: XMLHttpRequestBodyInit = value.fromJSValue() { return .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit) } @@ -21937,14 +24691,11 @@ public enum Document_or_XMLHttpRequestBodyInit: JSValueCompatible, Any_Document_ public var jsValue: JSValue { switch self { - case let .document(document): - return document.jsValue - case let .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit): - return xmlHttpRequestBodyInit.jsValue + case let .document(document): return document.jsValue + case let .xmlHttpRequestBodyInit(xmlHttpRequestBodyInit): return xmlHttpRequestBodyInit.jsValue } } } - public protocol Any_ElementCreationOptions_or_String: ConvertibleToJSValue {} extension ElementCreationOptions: Any_ElementCreationOptions_or_String {} extension String: Any_ElementCreationOptions_or_String {} @@ -21957,7 +24708,6 @@ public enum ElementCreationOptions_or_String: JSValueCompatible, Any_ElementCrea let val: ElementCreationOptions_or_String = .elementCreationOptions(elementCreationOptions) self = val } - public init(_ string: String) { let val: ElementCreationOptions_or_String = .string(string) self = val @@ -21969,7 +24719,6 @@ public enum ElementCreationOptions_or_String: JSValueCompatible, Any_ElementCrea default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -21981,22 +24730,17 @@ public enum ElementCreationOptions_or_String: JSValueCompatible, Any_ElementCrea if let elementCreationOptions: ElementCreationOptions = value.fromJSValue() { return .elementCreationOptions(elementCreationOptions) } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .elementCreationOptions(elementCreationOptions): - return elementCreationOptions.jsValue - case let .string(string): - return string.jsValue + case let .elementCreationOptions(elementCreationOptions): return elementCreationOptions.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_Element_or_HTMLCollection: ConvertibleToJSValue {} extension Element: Any_Element_or_HTMLCollection {} extension HTMLCollection: Any_Element_or_HTMLCollection {} @@ -22009,7 +24753,6 @@ public enum Element_or_HTMLCollection: JSValueCompatible, Any_Element_or_HTMLCol let val: Element_or_HTMLCollection = .element(element) self = val } - public init(_ htmlCollection: HTMLCollection) { let val: Element_or_HTMLCollection = .htmlCollection(htmlCollection) self = val @@ -22021,7 +24764,6 @@ public enum Element_or_HTMLCollection: JSValueCompatible, Any_Element_or_HTMLCol default: return nil } } - public var htmlCollection: HTMLCollection? { switch self { case let .htmlCollection(htmlCollection): return htmlCollection @@ -22030,25 +24772,18 @@ public enum Element_or_HTMLCollection: JSValueCompatible, Any_Element_or_HTMLCol } public static func construct(from value: JSValue) -> Self? { - if let element: Element = value.fromJSValue() { - return .element(element) - } - if let htmlCollection: HTMLCollection = value.fromJSValue() { - return .htmlCollection(htmlCollection) - } + if let element: Element = value.fromJSValue() { return .element(element) } + if let htmlCollection: HTMLCollection = value.fromJSValue() { return .htmlCollection(htmlCollection) } return nil } public var jsValue: JSValue { switch self { - case let .element(element): - return element.jsValue - case let .htmlCollection(htmlCollection): - return htmlCollection.jsValue + case let .element(element): return element.jsValue + case let .htmlCollection(htmlCollection): return htmlCollection.jsValue } } } - public protocol Any_Element_or_RadioNodeList: ConvertibleToJSValue {} extension Element: Any_Element_or_RadioNodeList {} extension RadioNodeList: Any_Element_or_RadioNodeList {} @@ -22061,7 +24796,6 @@ public enum Element_or_RadioNodeList: JSValueCompatible, Any_Element_or_RadioNod let val: Element_or_RadioNodeList = .element(element) self = val } - public init(_ radioNodeList: RadioNodeList) { let val: Element_or_RadioNodeList = .radioNodeList(radioNodeList) self = val @@ -22073,7 +24807,6 @@ public enum Element_or_RadioNodeList: JSValueCompatible, Any_Element_or_RadioNod default: return nil } } - public var radioNodeList: RadioNodeList? { switch self { case let .radioNodeList(radioNodeList): return radioNodeList @@ -22082,25 +24815,18 @@ public enum Element_or_RadioNodeList: JSValueCompatible, Any_Element_or_RadioNod } public static func construct(from value: JSValue) -> Self? { - if let element: Element = value.fromJSValue() { - return .element(element) - } - if let radioNodeList: RadioNodeList = value.fromJSValue() { - return .radioNodeList(radioNodeList) - } + if let element: Element = value.fromJSValue() { return .element(element) } + if let radioNodeList: RadioNodeList = value.fromJSValue() { return .radioNodeList(radioNodeList) } return nil } public var jsValue: JSValue { switch self { - case let .element(element): - return element.jsValue - case let .radioNodeList(radioNodeList): - return radioNodeList.jsValue + case let .element(element): return element.jsValue + case let .radioNodeList(radioNodeList): return radioNodeList.jsValue } } } - public protocol Any_Element_or_Text: ConvertibleToJSValue {} extension Element: Any_Element_or_Text {} extension Text: Any_Element_or_Text {} @@ -22113,7 +24839,6 @@ public enum Element_or_Text: JSValueCompatible, Any_Element_or_Text { let val: Element_or_Text = .element(element) self = val } - public init(_ text: Text) { let val: Element_or_Text = .text(text) self = val @@ -22125,7 +24850,6 @@ public enum Element_or_Text: JSValueCompatible, Any_Element_or_Text { default: return nil } } - public var text: Text? { switch self { case let .text(text): return text @@ -22134,25 +24858,18 @@ public enum Element_or_Text: JSValueCompatible, Any_Element_or_Text { } public static func construct(from value: JSValue) -> Self? { - if let element: Element = value.fromJSValue() { - return .element(element) - } - if let text: Text = value.fromJSValue() { - return .text(text) - } + if let element: Element = value.fromJSValue() { return .element(element) } + if let text: Text = value.fromJSValue() { return .text(text) } return nil } public var jsValue: JSValue { switch self { - case let .element(element): - return element.jsValue - case let .text(text): - return text.jsValue + case let .element(element): return element.jsValue + case let .text(text): return text.jsValue } } } - public protocol Any_Event_or_String: ConvertibleToJSValue {} extension Event: Any_Event_or_String {} extension String: Any_Event_or_String {} @@ -22165,7 +24882,6 @@ public enum Event_or_String: JSValueCompatible, Any_Event_or_String { let val: Event_or_String = .event(event) self = val } - public init(_ string: String) { let val: Event_or_String = .string(string) self = val @@ -22177,7 +24893,6 @@ public enum Event_or_String: JSValueCompatible, Any_Event_or_String { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -22186,25 +24901,18 @@ public enum Event_or_String: JSValueCompatible, Any_Event_or_String { } public static func construct(from value: JSValue) -> Self? { - if let event: Event = value.fromJSValue() { - return .event(event) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let event: Event = value.fromJSValue() { return .event(event) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .event(event): - return event.jsValue - case let .string(string): - return string.jsValue + case let .event(event): return event.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_File_or_FormData_or_String: ConvertibleToJSValue {} extension File: Any_File_or_FormData_or_String {} extension FormData: Any_File_or_FormData_or_String {} @@ -22219,12 +24927,10 @@ public enum File_or_FormData_or_String: JSValueCompatible, Any_File_or_FormData_ let val: File_or_FormData_or_String = .file(file) self = val } - public init(_ formData: FormData) { let val: File_or_FormData_or_String = .formData(formData) self = val } - public init(_ string: String) { let val: File_or_FormData_or_String = .string(string) self = val @@ -22236,14 +24942,12 @@ public enum File_or_FormData_or_String: JSValueCompatible, Any_File_or_FormData_ default: return nil } } - public var formData: FormData? { switch self { case let .formData(formData): return formData default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -22252,30 +24956,20 @@ public enum File_or_FormData_or_String: JSValueCompatible, Any_File_or_FormData_ } public static func construct(from value: JSValue) -> Self? { - if let file: File = value.fromJSValue() { - return .file(file) - } - if let formData: FormData = value.fromJSValue() { - return .formData(formData) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let file: File = value.fromJSValue() { return .file(file) } + if let formData: FormData = value.fromJSValue() { return .formData(formData) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .file(file): - return file.jsValue - case let .formData(formData): - return formData.jsValue - case let .string(string): - return string.jsValue + case let .file(file): return file.jsValue + case let .formData(formData): return formData.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_FormDataEntryValue: ConvertibleToJSValue {} extension File: Any_FormDataEntryValue {} extension String: Any_FormDataEntryValue {} @@ -22288,7 +24982,6 @@ public enum FormDataEntryValue: JSValueCompatible, Any_FormDataEntryValue { let val: FormDataEntryValue = .file(file) self = val } - public init(_ string: String) { let val: FormDataEntryValue = .string(string) self = val @@ -22300,7 +24993,6 @@ public enum FormDataEntryValue: JSValueCompatible, Any_FormDataEntryValue { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -22309,25 +25001,18 @@ public enum FormDataEntryValue: JSValueCompatible, Any_FormDataEntryValue { } public static func construct(from value: JSValue) -> Self? { - if let file: File = value.fromJSValue() { - return .file(file) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let file: File = value.fromJSValue() { return .file(file) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .file(file): - return file.jsValue - case let .string(string): - return string.jsValue + case let .file(file): return file.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_GeometryNode: ConvertibleToJSValue {} extension CSSPseudoElement: Any_GeometryNode {} extension Document: Any_GeometryNode {} @@ -22344,17 +25029,14 @@ public enum GeometryNode: JSValueCompatible, Any_GeometryNode { let val: GeometryNode = .cssPseudoElement(cssPseudoElement) self = val } - public init(_ document: Document) { let val: GeometryNode = .document(document) self = val } - public init(_ element: Element) { let val: GeometryNode = .element(element) self = val } - public init(_ text: Text) { let val: GeometryNode = .text(text) self = val @@ -22366,21 +25048,18 @@ public enum GeometryNode: JSValueCompatible, Any_GeometryNode { default: return nil } } - public var document: Document? { switch self { case let .document(document): return document default: return nil } } - public var element: Element? { switch self { case let .element(element): return element default: return nil } } - public var text: Text? { switch self { case let .text(text): return text @@ -22389,35 +25068,22 @@ public enum GeometryNode: JSValueCompatible, Any_GeometryNode { } public static func construct(from value: JSValue) -> Self? { - if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { - return .cssPseudoElement(cssPseudoElement) - } - if let document: Document = value.fromJSValue() { - return .document(document) - } - if let element: Element = value.fromJSValue() { - return .element(element) - } - if let text: Text = value.fromJSValue() { - return .text(text) - } + if let cssPseudoElement: CSSPseudoElement = value.fromJSValue() { return .cssPseudoElement(cssPseudoElement) } + if let document: Document = value.fromJSValue() { return .document(document) } + if let element: Element = value.fromJSValue() { return .element(element) } + if let text: Text = value.fromJSValue() { return .text(text) } return nil } public var jsValue: JSValue { switch self { - case let .cssPseudoElement(cssPseudoElement): - return cssPseudoElement.jsValue - case let .document(document): - return document.jsValue - case let .element(element): - return element.jsValue - case let .text(text): - return text.jsValue + case let .cssPseudoElement(cssPseudoElement): return cssPseudoElement.jsValue + case let .document(document): return document.jsValue + case let .element(element): return element.jsValue + case let .text(text): return text.jsValue } } } - public protocol Any_HTMLCanvasElement_or_OffscreenCanvas: ConvertibleToJSValue {} extension HTMLCanvasElement: Any_HTMLCanvasElement_or_OffscreenCanvas {} extension OffscreenCanvas: Any_HTMLCanvasElement_or_OffscreenCanvas {} @@ -22430,7 +25096,6 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan let val: HTMLCanvasElement_or_OffscreenCanvas = .htmlCanvasElement(htmlCanvasElement) self = val } - public init(_ offscreenCanvas: OffscreenCanvas) { let val: HTMLCanvasElement_or_OffscreenCanvas = .offscreenCanvas(offscreenCanvas) self = val @@ -22442,7 +25107,6 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan default: return nil } } - public var offscreenCanvas: OffscreenCanvas? { switch self { case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas @@ -22454,22 +25118,17 @@ public enum HTMLCanvasElement_or_OffscreenCanvas: JSValueCompatible, Any_HTMLCan if let htmlCanvasElement: HTMLCanvasElement = value.fromJSValue() { return .htmlCanvasElement(htmlCanvasElement) } - if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { - return .offscreenCanvas(offscreenCanvas) - } + if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { return .offscreenCanvas(offscreenCanvas) } return nil } public var jsValue: JSValue { switch self { - case let .htmlCanvasElement(htmlCanvasElement): - return htmlCanvasElement.jsValue - case let .offscreenCanvas(offscreenCanvas): - return offscreenCanvas.jsValue + case let .htmlCanvasElement(htmlCanvasElement): return htmlCanvasElement.jsValue + case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas.jsValue } } } - public protocol Any_HTMLElement_or_Int32: ConvertibleToJSValue {} extension HTMLElement: Any_HTMLElement_or_Int32 {} extension Int32: Any_HTMLElement_or_Int32 {} @@ -22482,7 +25141,6 @@ public enum HTMLElement_or_Int32: JSValueCompatible, Any_HTMLElement_or_Int32 { let val: HTMLElement_or_Int32 = .htmlElement(htmlElement) self = val } - public init(_ int32: Int32) { let val: HTMLElement_or_Int32 = .int32(int32) self = val @@ -22494,7 +25152,6 @@ public enum HTMLElement_or_Int32: JSValueCompatible, Any_HTMLElement_or_Int32 { default: return nil } } - public var int32: Int32? { switch self { case let .int32(int32): return int32 @@ -22503,25 +25160,18 @@ public enum HTMLElement_or_Int32: JSValueCompatible, Any_HTMLElement_or_Int32 { } public static func construct(from value: JSValue) -> Self? { - if let htmlElement: HTMLElement = value.fromJSValue() { - return .htmlElement(htmlElement) - } - if let int32: Int32 = value.fromJSValue() { - return .int32(int32) - } + if let htmlElement: HTMLElement = value.fromJSValue() { return .htmlElement(htmlElement) } + if let int32: Int32 = value.fromJSValue() { return .int32(int32) } return nil } public var jsValue: JSValue { switch self { - case let .htmlElement(htmlElement): - return htmlElement.jsValue - case let .int32(int32): - return int32.jsValue + case let .htmlElement(htmlElement): return htmlElement.jsValue + case let .int32(int32): return int32.jsValue } } } - public protocol Any_HTMLOptGroupElement_or_HTMLOptionElement: ConvertibleToJSValue {} extension HTMLOptGroupElement: Any_HTMLOptGroupElement_or_HTMLOptionElement {} extension HTMLOptionElement: Any_HTMLOptGroupElement_or_HTMLOptionElement {} @@ -22534,7 +25184,6 @@ public enum HTMLOptGroupElement_or_HTMLOptionElement: JSValueCompatible, Any_HTM let val: HTMLOptGroupElement_or_HTMLOptionElement = .htmlOptGroupElement(htmlOptGroupElement) self = val } - public init(_ htmlOptionElement: HTMLOptionElement) { let val: HTMLOptGroupElement_or_HTMLOptionElement = .htmlOptionElement(htmlOptionElement) self = val @@ -22546,7 +25195,6 @@ public enum HTMLOptGroupElement_or_HTMLOptionElement: JSValueCompatible, Any_HTM default: return nil } } - public var htmlOptionElement: HTMLOptionElement? { switch self { case let .htmlOptionElement(htmlOptionElement): return htmlOptionElement @@ -22566,14 +25214,11 @@ public enum HTMLOptGroupElement_or_HTMLOptionElement: JSValueCompatible, Any_HTM public var jsValue: JSValue { switch self { - case let .htmlOptGroupElement(htmlOptGroupElement): - return htmlOptGroupElement.jsValue - case let .htmlOptionElement(htmlOptionElement): - return htmlOptionElement.jsValue + case let .htmlOptGroupElement(htmlOptGroupElement): return htmlOptGroupElement.jsValue + case let .htmlOptionElement(htmlOptionElement): return htmlOptionElement.jsValue } } } - public protocol Any_HeadersInit: ConvertibleToJSValue {} extension JSObject: Any_HeadersInit {} extension Array: Any_HeadersInit where Element == [String] {} @@ -22586,7 +25231,6 @@ public enum HeadersInit: JSValueCompatible, Any_HeadersInit { let val: HeadersInit = .record_String_to_String(record_String_to_String) self = val } - public init(_ seq_of_seq_of_String: [[String]]) { let val: HeadersInit = .seq_of_seq_of_String(seq_of_seq_of_String) self = val @@ -22598,7 +25242,6 @@ public enum HeadersInit: JSValueCompatible, Any_HeadersInit { default: return nil } } - public var seq_of_seq_of_String: [[String]]? { switch self { case let .seq_of_seq_of_String(seq_of_seq_of_String): return seq_of_seq_of_String @@ -22618,14 +25261,11 @@ public enum HeadersInit: JSValueCompatible, Any_HeadersInit { public var jsValue: JSValue { switch self { - case let .record_String_to_String(record_String_to_String): - return record_String_to_String.jsValue - case let .seq_of_seq_of_String(seq_of_seq_of_String): - return seq_of_seq_of_String.jsValue + case let .record_String_to_String(record_String_to_String): return record_String_to_String.jsValue + case let .seq_of_seq_of_String(seq_of_seq_of_String): return seq_of_seq_of_String.jsValue } } } - public protocol Any_ImageBitmapSource: ConvertibleToJSValue {} extension Blob: Any_ImageBitmapSource {} extension CanvasImageSource: Any_ImageBitmapSource {} @@ -22640,52 +25280,34 @@ public enum ImageBitmapSource: JSValueCompatible, Any_ImageBitmapSource { let val: ImageBitmapSource = .blob(blob) self = val } - public init(_ canvasImageSource: CanvasImageSource) { let val: ImageBitmapSource = .canvasImageSource(canvasImageSource) self = val } - public init(_ htmlCanvasElement: HTMLCanvasElement) { let val: CanvasImageSource = .htmlCanvasElement(htmlCanvasElement) self = .init(val) } - public init(_ htmlOrSVGImageElement: HTMLOrSVGImageElement) { let val: CanvasImageSource = .htmlOrSVGImageElement(htmlOrSVGImageElement) self = .init(val) } - - public init(_ htmlImageElement: HTMLImageElement) { - let val: HTMLOrSVGImageElement = .htmlImageElement(htmlImageElement) - self = .init(val) - } - - public init(_ svgImageElement: SVGImageElement) { - let val: HTMLOrSVGImageElement = .svgImageElement(svgImageElement) - self = .init(val) - } - public init(_ htmlVideoElement: HTMLVideoElement) { let val: CanvasImageSource = .htmlVideoElement(htmlVideoElement) self = .init(val) } - public init(_ imageBitmap: ImageBitmap) { let val: CanvasImageSource = .imageBitmap(imageBitmap) self = .init(val) } - public init(_ offscreenCanvas: OffscreenCanvas) { let val: CanvasImageSource = .offscreenCanvas(offscreenCanvas) self = .init(val) } - public init(_ videoFrame: VideoFrame) { let val: CanvasImageSource = .videoFrame(videoFrame) self = .init(val) } - public init(_ imageData: ImageData) { let val: ImageBitmapSource = .imageData(imageData) self = val @@ -22697,14 +25319,12 @@ public enum ImageBitmapSource: JSValueCompatible, Any_ImageBitmapSource { default: return nil } } - public var canvasImageSource: CanvasImageSource? { switch self { case let .canvasImageSource(canvasImageSource): return canvasImageSource default: return nil } } - public var imageData: ImageData? { switch self { case let .imageData(imageData): return imageData @@ -22713,65 +25333,57 @@ public enum ImageBitmapSource: JSValueCompatible, Any_ImageBitmapSource { } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { - return .blob(blob) - } + if let blob: Blob = value.fromJSValue() { return .blob(blob) } if let canvasImageSource: CanvasImageSource = value.fromJSValue() { return .canvasImageSource(canvasImageSource) } - if let imageData: ImageData = value.fromJSValue() { - return .imageData(imageData) - } + if let imageData: ImageData = value.fromJSValue() { return .imageData(imageData) } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): - return blob.jsValue - case let .canvasImageSource(canvasImageSource): - return canvasImageSource.jsValue - case let .imageData(imageData): - return imageData.jsValue + case let .blob(blob): return blob.jsValue + case let .canvasImageSource(canvasImageSource): return canvasImageSource.jsValue + case let .imageData(imageData): return imageData.jsValue } } } - public protocol Any_ImageBufferSource: ConvertibleToJSValue {} -extension BufferSource: Any_ImageBufferSource {} +extension AllowSharedBufferSource: Any_ImageBufferSource {} extension ReadableStream: Any_ImageBufferSource {} public enum ImageBufferSource: JSValueCompatible, Any_ImageBufferSource { - case bufferSource(BufferSource) + case allowSharedBufferSource(AllowSharedBufferSource) case readableStream(ReadableStream) - public init(_ bufferSource: BufferSource) { - let val: ImageBufferSource = .bufferSource(bufferSource) + public init(_ allowSharedBufferSource: AllowSharedBufferSource) { + let val: ImageBufferSource = .allowSharedBufferSource(allowSharedBufferSource) self = val } - public init(_ arrayBuffer: ArrayBuffer) { - let val: BufferSource = .arrayBuffer(arrayBuffer) + let val: AllowSharedBufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } - public init(_ arrayBufferView: ArrayBufferView) { - let val: BufferSource = .arrayBufferView(arrayBufferView) + let val: AllowSharedBufferSource = .arrayBufferView(arrayBufferView) + self = .init(val) + } + public init(_ sharedArrayBuffer: SharedArrayBuffer) { + let val: AllowSharedBufferSource = .sharedArrayBuffer(sharedArrayBuffer) self = .init(val) } - public init(_ readableStream: ReadableStream) { let val: ImageBufferSource = .readableStream(readableStream) self = val } - public var bufferSource: BufferSource? { + public var allowSharedBufferSource: AllowSharedBufferSource? { switch self { - case let .bufferSource(bufferSource): return bufferSource + case let .allowSharedBufferSource(allowSharedBufferSource): return allowSharedBufferSource default: return nil } } - public var readableStream: ReadableStream? { switch self { case let .readableStream(readableStream): return readableStream @@ -22780,25 +25392,20 @@ public enum ImageBufferSource: JSValueCompatible, Any_ImageBufferSource { } public static func construct(from value: JSValue) -> Self? { - if let bufferSource: BufferSource = value.fromJSValue() { - return .bufferSource(bufferSource) - } - if let readableStream: ReadableStream = value.fromJSValue() { - return .readableStream(readableStream) + if let allowSharedBufferSource: AllowSharedBufferSource = value.fromJSValue() { + return .allowSharedBufferSource(allowSharedBufferSource) } + if let readableStream: ReadableStream = value.fromJSValue() { return .readableStream(readableStream) } return nil } public var jsValue: JSValue { switch self { - case let .bufferSource(bufferSource): - return bufferSource.jsValue - case let .readableStream(readableStream): - return readableStream.jsValue + case let .allowSharedBufferSource(allowSharedBufferSource): return allowSharedBufferSource.jsValue + case let .readableStream(readableStream): return readableStream.jsValue } } } - public protocol Any_MediaProvider: ConvertibleToJSValue {} extension Blob: Any_MediaProvider {} extension MediaSource: Any_MediaProvider {} @@ -22813,12 +25420,10 @@ public enum MediaProvider: JSValueCompatible, Any_MediaProvider { let val: MediaProvider = .blob(blob) self = val } - public init(_ mediaSource: MediaSource) { let val: MediaProvider = .mediaSource(mediaSource) self = val } - public init(_ mediaStream: MediaStream) { let val: MediaProvider = .mediaStream(mediaStream) self = val @@ -22830,14 +25435,12 @@ public enum MediaProvider: JSValueCompatible, Any_MediaProvider { default: return nil } } - public var mediaSource: MediaSource? { switch self { case let .mediaSource(mediaSource): return mediaSource default: return nil } } - public var mediaStream: MediaStream? { switch self { case let .mediaStream(mediaStream): return mediaStream @@ -22846,30 +25449,20 @@ public enum MediaProvider: JSValueCompatible, Any_MediaProvider { } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { - return .blob(blob) - } - if let mediaSource: MediaSource = value.fromJSValue() { - return .mediaSource(mediaSource) - } - if let mediaStream: MediaStream = value.fromJSValue() { - return .mediaStream(mediaStream) - } + if let blob: Blob = value.fromJSValue() { return .blob(blob) } + if let mediaSource: MediaSource = value.fromJSValue() { return .mediaSource(mediaSource) } + if let mediaStream: MediaStream = value.fromJSValue() { return .mediaStream(mediaStream) } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): - return blob.jsValue - case let .mediaSource(mediaSource): - return mediaSource.jsValue - case let .mediaStream(mediaStream): - return mediaStream.jsValue + case let .blob(blob): return blob.jsValue + case let .mediaSource(mediaSource): return mediaSource.jsValue + case let .mediaStream(mediaStream): return mediaStream.jsValue } } } - public protocol Any_MessageEventSource: ConvertibleToJSValue {} extension MessagePort: Any_MessageEventSource {} extension ServiceWorker: Any_MessageEventSource {} @@ -22884,12 +25477,10 @@ public enum MessageEventSource: JSValueCompatible, Any_MessageEventSource { let val: MessageEventSource = .messagePort(messagePort) self = val } - public init(_ serviceWorker: ServiceWorker) { let val: MessageEventSource = .serviceWorker(serviceWorker) self = val } - public init(_ windowProxy: WindowProxy) { let val: MessageEventSource = .windowProxy(windowProxy) self = val @@ -22901,14 +25492,12 @@ public enum MessageEventSource: JSValueCompatible, Any_MessageEventSource { default: return nil } } - public var serviceWorker: ServiceWorker? { switch self { case let .serviceWorker(serviceWorker): return serviceWorker default: return nil } } - public var windowProxy: WindowProxy? { switch self { case let .windowProxy(windowProxy): return windowProxy @@ -22917,30 +25506,20 @@ public enum MessageEventSource: JSValueCompatible, Any_MessageEventSource { } public static func construct(from value: JSValue) -> Self? { - if let messagePort: MessagePort = value.fromJSValue() { - return .messagePort(messagePort) - } - if let serviceWorker: ServiceWorker = value.fromJSValue() { - return .serviceWorker(serviceWorker) - } - if let windowProxy: WindowProxy = value.fromJSValue() { - return .windowProxy(windowProxy) - } + if let messagePort: MessagePort = value.fromJSValue() { return .messagePort(messagePort) } + if let serviceWorker: ServiceWorker = value.fromJSValue() { return .serviceWorker(serviceWorker) } + if let windowProxy: WindowProxy = value.fromJSValue() { return .windowProxy(windowProxy) } return nil } public var jsValue: JSValue { switch self { - case let .messagePort(messagePort): - return messagePort.jsValue - case let .serviceWorker(serviceWorker): - return serviceWorker.jsValue - case let .windowProxy(windowProxy): - return windowProxy.jsValue + case let .messagePort(messagePort): return messagePort.jsValue + case let .serviceWorker(serviceWorker): return serviceWorker.jsValue + case let .windowProxy(windowProxy): return windowProxy.jsValue } } } - public protocol Any_Node_or_String: ConvertibleToJSValue {} extension Node: Any_Node_or_String {} extension String: Any_Node_or_String {} @@ -22953,7 +25532,6 @@ public enum Node_or_String: JSValueCompatible, Any_Node_or_String { let val: Node_or_String = .node(node) self = val } - public init(_ string: String) { let val: Node_or_String = .string(string) self = val @@ -22965,7 +25543,6 @@ public enum Node_or_String: JSValueCompatible, Any_Node_or_String { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -22974,25 +25551,18 @@ public enum Node_or_String: JSValueCompatible, Any_Node_or_String { } public static func construct(from value: JSValue) -> Self? { - if let node: Node = value.fromJSValue() { - return .node(node) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let node: Node = value.fromJSValue() { return .node(node) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .node(node): - return node.jsValue - case let .string(string): - return string.jsValue + case let .node(node): return node.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_Path2D_or_String: ConvertibleToJSValue {} extension Path2D: Any_Path2D_or_String {} extension String: Any_Path2D_or_String {} @@ -23005,7 +25575,6 @@ public enum Path2D_or_String: JSValueCompatible, Any_Path2D_or_String { let val: Path2D_or_String = .path2D(path2D) self = val } - public init(_ string: String) { let val: Path2D_or_String = .string(string) self = val @@ -23017,7 +25586,6 @@ public enum Path2D_or_String: JSValueCompatible, Any_Path2D_or_String { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -23026,25 +25594,18 @@ public enum Path2D_or_String: JSValueCompatible, Any_Path2D_or_String { } public static func construct(from value: JSValue) -> Self? { - if let path2D: Path2D = value.fromJSValue() { - return .path2D(path2D) - } - if let string: String = value.fromJSValue() { - return .string(string) - } + if let path2D: Path2D = value.fromJSValue() { return .path2D(path2D) } + if let string: String = value.fromJSValue() { return .string(string) } return nil } public var jsValue: JSValue { switch self { - case let .path2D(path2D): - return path2D.jsValue - case let .string(string): - return string.jsValue + case let .path2D(path2D): return path2D.jsValue + case let .string(string): return string.jsValue } } } - public protocol Any_ReadableStreamController: ConvertibleToJSValue {} extension ReadableByteStreamController: Any_ReadableStreamController {} extension ReadableStreamDefaultController: Any_ReadableStreamController {} @@ -23057,7 +25618,6 @@ public enum ReadableStreamController: JSValueCompatible, Any_ReadableStreamContr let val: ReadableStreamController = .readableByteStreamController(readableByteStreamController) self = val } - public init(_ readableStreamDefaultController: ReadableStreamDefaultController) { let val: ReadableStreamController = .readableStreamDefaultController(readableStreamDefaultController) self = val @@ -23069,10 +25629,10 @@ public enum ReadableStreamController: JSValueCompatible, Any_ReadableStreamContr default: return nil } } - public var readableStreamDefaultController: ReadableStreamDefaultController? { switch self { - case let .readableStreamDefaultController(readableStreamDefaultController): return readableStreamDefaultController + case let .readableStreamDefaultController(readableStreamDefaultController): + return readableStreamDefaultController default: return nil } } @@ -23096,7 +25656,6 @@ public enum ReadableStreamController: JSValueCompatible, Any_ReadableStreamContr } } } - public protocol Any_ReadableStreamReader: ConvertibleToJSValue {} extension ReadableStreamBYOBReader: Any_ReadableStreamReader {} extension ReadableStreamDefaultReader: Any_ReadableStreamReader {} @@ -23109,7 +25668,6 @@ public enum ReadableStreamReader: JSValueCompatible, Any_ReadableStreamReader { let val: ReadableStreamReader = .readableStreamBYOBReader(readableStreamBYOBReader) self = val } - public init(_ readableStreamDefaultReader: ReadableStreamDefaultReader) { let val: ReadableStreamReader = .readableStreamDefaultReader(readableStreamDefaultReader) self = val @@ -23121,7 +25679,6 @@ public enum ReadableStreamReader: JSValueCompatible, Any_ReadableStreamReader { default: return nil } } - public var readableStreamDefaultReader: ReadableStreamDefaultReader? { switch self { case let .readableStreamDefaultReader(readableStreamDefaultReader): return readableStreamDefaultReader @@ -23141,14 +25698,11 @@ public enum ReadableStreamReader: JSValueCompatible, Any_ReadableStreamReader { public var jsValue: JSValue { switch self { - case let .readableStreamBYOBReader(readableStreamBYOBReader): - return readableStreamBYOBReader.jsValue - case let .readableStreamDefaultReader(readableStreamDefaultReader): - return readableStreamDefaultReader.jsValue + case let .readableStreamBYOBReader(readableStreamBYOBReader): return readableStreamBYOBReader.jsValue + case let .readableStreamDefaultReader(readableStreamDefaultReader): return readableStreamDefaultReader.jsValue } } } - public protocol Any_RequestInfo: ConvertibleToJSValue {} extension Request: Any_RequestInfo {} extension String: Any_RequestInfo {} @@ -23161,7 +25715,6 @@ public enum RequestInfo: JSValueCompatible, Any_RequestInfo { let val: RequestInfo = .request(request) self = val } - public init(_ string: String) { let val: RequestInfo = .string(string) self = val @@ -23173,7 +25726,6 @@ public enum RequestInfo: JSValueCompatible, Any_RequestInfo { default: return nil } } - public var string: String? { switch self { case let .string(string): return string @@ -23182,25 +25734,147 @@ public enum RequestInfo: JSValueCompatible, Any_RequestInfo { } public static func construct(from value: JSValue) -> Self? { - if let request: Request = value.fromJSValue() { - return .request(request) + if let request: Request = value.fromJSValue() { return .request(request) } + if let string: String = value.fromJSValue() { return .string(string) } + return nil + } + + public var jsValue: JSValue { + switch self { + case let .request(request): return request.jsValue + case let .string(string): return string.jsValue + } + } +} +public protocol Any_RouterSource: ConvertibleToJSValue {} +extension RouterSourceDict: Any_RouterSource {} +extension RouterSourceEnum: Any_RouterSource {} + +public enum RouterSource: JSValueCompatible, Any_RouterSource { + case routerSourceDict(RouterSourceDict) + case routerSourceEnum(RouterSourceEnum) + + public init(_ routerSourceDict: RouterSourceDict) { + let val: RouterSource = .routerSourceDict(routerSourceDict) + self = val + } + public init(_ routerSourceEnum: RouterSourceEnum) { + let val: RouterSource = .routerSourceEnum(routerSourceEnum) + self = val + } + + public var routerSourceDict: RouterSourceDict? { + switch self { + case let .routerSourceDict(routerSourceDict): return routerSourceDict + default: return nil + } + } + public var routerSourceEnum: RouterSourceEnum? { + switch self { + case let .routerSourceEnum(routerSourceEnum): return routerSourceEnum + default: return nil + } + } + + public static func construct(from value: JSValue) -> Self? { + if let routerSourceDict: RouterSourceDict = value.fromJSValue() { return .routerSourceDict(routerSourceDict) } + if let routerSourceEnum: RouterSourceEnum = value.fromJSValue() { return .routerSourceEnum(routerSourceEnum) } + return nil + } + + public var jsValue: JSValue { + switch self { + case let .routerSourceDict(routerSourceDict): return routerSourceDict.jsValue + case let .routerSourceEnum(routerSourceEnum): return routerSourceEnum.jsValue + } + } +} +public protocol Any_String_or_TrustedHTML: ConvertibleToJSValue {} +extension String: Any_String_or_TrustedHTML {} +extension TrustedHTML: Any_String_or_TrustedHTML {} + +public enum String_or_TrustedHTML: JSValueCompatible, Any_String_or_TrustedHTML { + case string(String) + case trustedHTML(TrustedHTML) + + public init(_ string: String) { + let val: String_or_TrustedHTML = .string(string) + self = val + } + public init(_ trustedHTML: TrustedHTML) { + let val: String_or_TrustedHTML = .trustedHTML(trustedHTML) + self = val + } + + public var string: String? { + switch self { + case let .string(string): return string + default: return nil } - if let string: String = value.fromJSValue() { - return .string(string) + } + public var trustedHTML: TrustedHTML? { + switch self { + case let .trustedHTML(trustedHTML): return trustedHTML + default: return nil } + } + + public static func construct(from value: JSValue) -> Self? { + if let string: String = value.fromJSValue() { return .string(string) } + if let trustedHTML: TrustedHTML = value.fromJSValue() { return .trustedHTML(trustedHTML) } return nil } public var jsValue: JSValue { switch self { - case let .request(request): - return request.jsValue - case let .string(string): - return string.jsValue + case let .string(string): return string.jsValue + case let .trustedHTML(trustedHTML): return trustedHTML.jsValue } } } +public protocol Any_String_or_TrustedScriptURL: ConvertibleToJSValue {} +extension String: Any_String_or_TrustedScriptURL {} +extension TrustedScriptURL: Any_String_or_TrustedScriptURL {} + +public enum String_or_TrustedScriptURL: JSValueCompatible, Any_String_or_TrustedScriptURL { + case string(String) + case trustedScriptURL(TrustedScriptURL) + + public init(_ string: String) { + let val: String_or_TrustedScriptURL = .string(string) + self = val + } + public init(_ trustedScriptURL: TrustedScriptURL) { + let val: String_or_TrustedScriptURL = .trustedScriptURL(trustedScriptURL) + self = val + } + + public var string: String? { + switch self { + case let .string(string): return string + default: return nil + } + } + public var trustedScriptURL: TrustedScriptURL? { + switch self { + case let .trustedScriptURL(trustedScriptURL): return trustedScriptURL + default: return nil + } + } + + public static func construct(from value: JSValue) -> Self? { + if let string: String = value.fromJSValue() { return .string(string) } + if let trustedScriptURL: TrustedScriptURL = value.fromJSValue() { return .trustedScriptURL(trustedScriptURL) } + return nil + } + public var jsValue: JSValue { + switch self { + case let .string(string): return string.jsValue + case let .trustedScriptURL(trustedScriptURL): return trustedScriptURL.jsValue + } + } +} public protocol Any_String_or_WorkerOptions: ConvertibleToJSValue {} extension String: Any_String_or_WorkerOptions {} extension WorkerOptions: Any_String_or_WorkerOptions {} @@ -23213,7 +25887,6 @@ public enum String_or_WorkerOptions: JSValueCompatible, Any_String_or_WorkerOpti let val: String_or_WorkerOptions = .string(string) self = val } - public init(_ workerOptions: WorkerOptions) { let val: String_or_WorkerOptions = .workerOptions(workerOptions) self = val @@ -23225,7 +25898,6 @@ public enum String_or_WorkerOptions: JSValueCompatible, Any_String_or_WorkerOpti default: return nil } } - public var workerOptions: WorkerOptions? { switch self { case let .workerOptions(workerOptions): return workerOptions @@ -23234,25 +25906,18 @@ public enum String_or_WorkerOptions: JSValueCompatible, Any_String_or_WorkerOpti } public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { - return .string(string) - } - if let workerOptions: WorkerOptions = value.fromJSValue() { - return .workerOptions(workerOptions) - } + if let string: String = value.fromJSValue() { return .string(string) } + if let workerOptions: WorkerOptions = value.fromJSValue() { return .workerOptions(workerOptions) } return nil } public var jsValue: JSValue { switch self { - case let .string(string): - return string.jsValue - case let .workerOptions(workerOptions): - return workerOptions.jsValue + case let .string(string): return string.jsValue + case let .workerOptions(workerOptions): return workerOptions.jsValue } } } - public protocol Any_String_or_seq_of_Double: ConvertibleToJSValue {} extension String: Any_String_or_seq_of_Double {} extension Array: Any_String_or_seq_of_Double where Element == Double {} @@ -23265,7 +25930,6 @@ public enum String_or_seq_of_Double: JSValueCompatible, Any_String_or_seq_of_Dou let val: String_or_seq_of_Double = .string(string) self = val } - public init(_ seq_of_Double: [Double]) { let val: String_or_seq_of_Double = .seq_of_Double(seq_of_Double) self = val @@ -23277,7 +25941,6 @@ public enum String_or_seq_of_Double: JSValueCompatible, Any_String_or_seq_of_Dou default: return nil } } - public var seq_of_Double: [Double]? { switch self { case let .seq_of_Double(seq_of_Double): return seq_of_Double @@ -23286,25 +25949,18 @@ public enum String_or_seq_of_Double: JSValueCompatible, Any_String_or_seq_of_Dou } public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { - return .string(string) - } - if let seq_of_Double: [Double] = value.fromJSValue() { - return .seq_of_Double(seq_of_Double) - } + if let string: String = value.fromJSValue() { return .string(string) } + if let seq_of_Double: [Double] = value.fromJSValue() { return .seq_of_Double(seq_of_Double) } return nil } public var jsValue: JSValue { switch self { - case let .string(string): - return string.jsValue - case let .seq_of_Double(seq_of_Double): - return seq_of_Double.jsValue + case let .string(string): return string.jsValue + case let .seq_of_Double(seq_of_Double): return seq_of_Double.jsValue } } } - public protocol Any_String_or_seq_of_String: ConvertibleToJSValue {} extension String: Any_String_or_seq_of_String {} extension Array: Any_String_or_seq_of_String where Element == String {} @@ -23317,7 +25973,6 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str let val: String_or_seq_of_String = .string(string) self = val } - public init(_ seq_of_String: [String]) { let val: String_or_seq_of_String = .seq_of_String(seq_of_String) self = val @@ -23329,7 +25984,6 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str default: return nil } } - public var seq_of_String: [String]? { switch self { case let .seq_of_String(seq_of_String): return seq_of_String @@ -23338,42 +25992,40 @@ public enum String_or_seq_of_String: JSValueCompatible, Any_String_or_seq_of_Str } public static func construct(from value: JSValue) -> Self? { - if let string: String = value.fromJSValue() { - return .string(string) - } - if let seq_of_String: [String] = value.fromJSValue() { - return .seq_of_String(seq_of_String) - } + if let string: String = value.fromJSValue() { return .string(string) } + if let seq_of_String: [String] = value.fromJSValue() { return .seq_of_String(seq_of_String) } return nil } public var jsValue: JSValue { switch self { - case let .string(string): - return string.jsValue - case let .seq_of_String(seq_of_String): - return seq_of_String.jsValue + case let .string(string): return string.jsValue + case let .seq_of_String(seq_of_String): return seq_of_String.jsValue } } } - public protocol Any_TimerHandler: ConvertibleToJSValue {} extension JSFunction: Any_TimerHandler {} extension String: Any_TimerHandler {} +extension TrustedScript: Any_TimerHandler {} public enum TimerHandler: JSValueCompatible, Any_TimerHandler { case jsFunction(JSFunction) case string(String) + case trustedScript(TrustedScript) public init(_ jsFunction: JSFunction) { let val: TimerHandler = .jsFunction(jsFunction) self = val } - public init(_ string: String) { let val: TimerHandler = .string(string) self = val } + public init(_ trustedScript: TrustedScript) { + let val: TimerHandler = .trustedScript(trustedScript) + self = val + } public var jsFunction: JSFunction? { switch self { @@ -23381,34 +26033,191 @@ public enum TimerHandler: JSValueCompatible, Any_TimerHandler { default: return nil } } - public var string: String? { switch self { case let .string(string): return string default: return nil } } + public var trustedScript: TrustedScript? { + switch self { + case let .trustedScript(trustedScript): return trustedScript + default: return nil + } + } + + public static func construct(from value: JSValue) -> Self? { + if let jsFunction: JSFunction = value.fromJSValue() { return .jsFunction(jsFunction) } + if let string: String = value.fromJSValue() { return .string(string) } + if let trustedScript: TrustedScript = value.fromJSValue() { return .trustedScript(trustedScript) } + return nil + } + + public var jsValue: JSValue { + switch self { + case let .jsFunction(jsFunction): return jsFunction.jsValue + case let .string(string): return string.jsValue + case let .trustedScript(trustedScript): return trustedScript.jsValue + } + } +} +public protocol Any_TrustedType: ConvertibleToJSValue {} +extension TrustedHTML: Any_TrustedType {} +extension TrustedScript: Any_TrustedType {} +extension TrustedScriptURL: Any_TrustedType {} + +public enum TrustedType: JSValueCompatible, Any_TrustedType { + case trustedHTML(TrustedHTML) + case trustedScript(TrustedScript) + case trustedScriptURL(TrustedScriptURL) + + public init(_ trustedHTML: TrustedHTML) { + let val: TrustedType = .trustedHTML(trustedHTML) + self = val + } + public init(_ trustedScript: TrustedScript) { + let val: TrustedType = .trustedScript(trustedScript) + self = val + } + public init(_ trustedScriptURL: TrustedScriptURL) { + let val: TrustedType = .trustedScriptURL(trustedScriptURL) + self = val + } + + public var trustedHTML: TrustedHTML? { + switch self { + case let .trustedHTML(trustedHTML): return trustedHTML + default: return nil + } + } + public var trustedScript: TrustedScript? { + switch self { + case let .trustedScript(trustedScript): return trustedScript + default: return nil + } + } + public var trustedScriptURL: TrustedScriptURL? { + switch self { + case let .trustedScriptURL(trustedScriptURL): return trustedScriptURL + default: return nil + } + } public static func construct(from value: JSValue) -> Self? { - if let jsFunction: JSFunction = value.fromJSValue() { - return .jsFunction(jsFunction) + if let trustedHTML: TrustedHTML = value.fromJSValue() { return .trustedHTML(trustedHTML) } + if let trustedScript: TrustedScript = value.fromJSValue() { return .trustedScript(trustedScript) } + if let trustedScriptURL: TrustedScriptURL = value.fromJSValue() { return .trustedScriptURL(trustedScriptURL) } + return nil + } + + public var jsValue: JSValue { + switch self { + case let .trustedHTML(trustedHTML): return trustedHTML.jsValue + case let .trustedScript(trustedScript): return trustedScript.jsValue + case let .trustedScriptURL(trustedScriptURL): return trustedScriptURL.jsValue + } + } +} +public protocol Any_URLPatternCompatible: ConvertibleToJSValue {} +extension String: Any_URLPatternCompatible {} +extension URLPattern: Any_URLPatternCompatible {} +extension URLPatternInit: Any_URLPatternCompatible {} + +public enum URLPatternCompatible: JSValueCompatible, Any_URLPatternCompatible { + case string(String) + case urlPattern(URLPattern) + case urlPatternInit(URLPatternInit) + + public init(_ string: String) { + let val: URLPatternCompatible = .string(string) + self = val + } + public init(_ urlPattern: URLPattern) { + let val: URLPatternCompatible = .urlPattern(urlPattern) + self = val + } + public init(_ urlPatternInit: URLPatternInit) { + let val: URLPatternCompatible = .urlPatternInit(urlPatternInit) + self = val + } + + public var string: String? { + switch self { + case let .string(string): return string + default: return nil + } + } + public var urlPattern: URLPattern? { + switch self { + case let .urlPattern(urlPattern): return urlPattern + default: return nil } - if let string: String = value.fromJSValue() { - return .string(string) + } + public var urlPatternInit: URLPatternInit? { + switch self { + case let .urlPatternInit(urlPatternInit): return urlPatternInit + default: return nil } + } + + public static func construct(from value: JSValue) -> Self? { + if let string: String = value.fromJSValue() { return .string(string) } + if let urlPattern: URLPattern = value.fromJSValue() { return .urlPattern(urlPattern) } + if let urlPatternInit: URLPatternInit = value.fromJSValue() { return .urlPatternInit(urlPatternInit) } return nil } public var jsValue: JSValue { switch self { - case let .jsFunction(jsFunction): - return jsFunction.jsValue - case let .string(string): - return string.jsValue + case let .string(string): return string.jsValue + case let .urlPattern(urlPattern): return urlPattern.jsValue + case let .urlPatternInit(urlPatternInit): return urlPatternInit.jsValue } } } +public protocol Any_URLPatternInput: ConvertibleToJSValue {} +extension String: Any_URLPatternInput {} +extension URLPatternInit: Any_URLPatternInput {} + +public enum URLPatternInput: JSValueCompatible, Any_URLPatternInput { + case string(String) + case urlPatternInit(URLPatternInit) + + public init(_ string: String) { + let val: URLPatternInput = .string(string) + self = val + } + public init(_ urlPatternInit: URLPatternInit) { + let val: URLPatternInput = .urlPatternInit(urlPatternInit) + self = val + } + + public var string: String? { + switch self { + case let .string(string): return string + default: return nil + } + } + public var urlPatternInit: URLPatternInit? { + switch self { + case let .urlPatternInit(urlPatternInit): return urlPatternInit + default: return nil + } + } + public static func construct(from value: JSValue) -> Self? { + if let string: String = value.fromJSValue() { return .string(string) } + if let urlPatternInit: URLPatternInit = value.fromJSValue() { return .urlPatternInit(urlPatternInit) } + return nil + } + + public var jsValue: JSValue { + switch self { + case let .string(string): return string.jsValue + case let .urlPatternInit(urlPatternInit): return urlPatternInit.jsValue + } + } +} public protocol Any_XMLHttpRequestBodyInit: ConvertibleToJSValue {} extension Blob: Any_XMLHttpRequestBodyInit {} extension BufferSource: Any_XMLHttpRequestBodyInit {} @@ -23427,32 +26236,26 @@ public enum XMLHttpRequestBodyInit: JSValueCompatible, Any_XMLHttpRequestBodyIni let val: XMLHttpRequestBodyInit = .blob(blob) self = val } - public init(_ bufferSource: BufferSource) { let val: XMLHttpRequestBodyInit = .bufferSource(bufferSource) self = val } - public init(_ arrayBuffer: ArrayBuffer) { let val: BufferSource = .arrayBuffer(arrayBuffer) self = .init(val) } - public init(_ arrayBufferView: ArrayBufferView) { let val: BufferSource = .arrayBufferView(arrayBufferView) self = .init(val) } - public init(_ formData: FormData) { let val: XMLHttpRequestBodyInit = .formData(formData) self = val } - public init(_ string: String) { let val: XMLHttpRequestBodyInit = .string(string) self = val } - public init(_ urlSearchParams: URLSearchParams) { let val: XMLHttpRequestBodyInit = .urlSearchParams(urlSearchParams) self = val @@ -23464,28 +26267,24 @@ public enum XMLHttpRequestBodyInit: JSValueCompatible, Any_XMLHttpRequestBodyIni default: return nil } } - public var bufferSource: BufferSource? { switch self { case let .bufferSource(bufferSource): return bufferSource default: return nil } } - public var formData: FormData? { switch self { case let .formData(formData): return formData default: return nil } } - public var string: String? { switch self { case let .string(string): return string default: return nil } } - public var urlSearchParams: URLSearchParams? { switch self { case let .urlSearchParams(urlSearchParams): return urlSearchParams @@ -23494,36 +26293,21 @@ public enum XMLHttpRequestBodyInit: JSValueCompatible, Any_XMLHttpRequestBodyIni } public static func construct(from value: JSValue) -> Self? { - if let blob: Blob = value.fromJSValue() { - return .blob(blob) - } - if let bufferSource: BufferSource = value.fromJSValue() { - return .bufferSource(bufferSource) - } - if let formData: FormData = value.fromJSValue() { - return .formData(formData) - } - if let string: String = value.fromJSValue() { - return .string(string) - } - if let urlSearchParams: URLSearchParams = value.fromJSValue() { - return .urlSearchParams(urlSearchParams) - } + if let blob: Blob = value.fromJSValue() { return .blob(blob) } + if let bufferSource: BufferSource = value.fromJSValue() { return .bufferSource(bufferSource) } + if let formData: FormData = value.fromJSValue() { return .formData(formData) } + if let string: String = value.fromJSValue() { return .string(string) } + if let urlSearchParams: URLSearchParams = value.fromJSValue() { return .urlSearchParams(urlSearchParams) } return nil } public var jsValue: JSValue { switch self { - case let .blob(blob): - return blob.jsValue - case let .bufferSource(bufferSource): - return bufferSource.jsValue - case let .formData(formData): - return formData.jsValue - case let .string(string): - return string.jsValue - case let .urlSearchParams(urlSearchParams): - return urlSearchParams.jsValue + case let .blob(blob): return blob.jsValue + case let .bufferSource(bufferSource): return bufferSource.jsValue + case let .formData(formData): return formData.jsValue + case let .string(string): return string.jsValue + case let .urlSearchParams(urlSearchParams): return urlSearchParams.jsValue } } } diff --git a/Sources/Gamepad/Generated.swift b/Sources/Gamepad/Generated.swift index 96e5cb07..20b97a7d 100644 --- a/Sources/Gamepad/Generated.swift +++ b/Sources/Gamepad/Generated.swift @@ -2,6 +2,7 @@ import DOM import ECMAScript +import JavaScriptBigIntSupport import JavaScriptKit import WebAPIBase @@ -33,17 +34,17 @@ public class Gamepad: JSBridgedClass { @inlinable public var buttons: [GamepadButton] { jsObject[Strings.buttons].fromJSValue()! } + @inlinable public var touches: [GamepadTouch] { jsObject[Strings.touches].fromJSValue()! } + + @inlinable public var vibrationActuator: GamepadHapticActuator { + jsObject[Strings.vibrationActuator].fromJSValue()! + } + @inlinable public var hand: GamepadHand { jsObject[Strings.hand].fromJSValue()! } @inlinable public var hapticActuators: [GamepadHapticActuator] { jsObject[Strings.hapticActuators].fromJSValue()! } @inlinable public var pose: GamepadPose? { jsObject[Strings.pose].fromJSValue() } - - @inlinable public var touchEvents: [GamepadTouch]? { jsObject[Strings.touchEvents].fromJSValue() } - - @inlinable public var vibrationActuator: GamepadHapticActuator? { - jsObject[Strings.vibrationActuator].fromJSValue() - } } public class GamepadButton: JSBridgedClass { @@ -64,27 +65,31 @@ open class GamepadEffectParameters: JSDictionaryCompatible { public let jsObject: JSObject public convenience init( - duration: Double? = nil, - startDelay: Double? = nil, + duration: UInt64? = nil, + startDelay: UInt64? = nil, strongMagnitude: Double? = nil, - weakMagnitude: Double? = nil + weakMagnitude: Double? = nil, + leftTrigger: Double? = nil, + rightTrigger: Double? = nil ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.duration] = _toJSValue(duration) object[Strings.startDelay] = _toJSValue(startDelay) object[Strings.strongMagnitude] = _toJSValue(strongMagnitude) object[Strings.weakMagnitude] = _toJSValue(weakMagnitude) + object[Strings.leftTrigger] = _toJSValue(leftTrigger) + object[Strings.rightTrigger] = _toJSValue(rightTrigger) self.init(unsafelyWrapping: object) } public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @inlinable public var duration: Double { + @inlinable public var duration: UInt64 { get { jsObject[Strings.duration].fromJSValue()! } set { jsObject[Strings.duration] = _toJSValue(newValue) } } - @inlinable public var startDelay: Double { + @inlinable public var startDelay: UInt64 { get { jsObject[Strings.startDelay].fromJSValue()! } set { jsObject[Strings.startDelay] = _toJSValue(newValue) } } @@ -96,6 +101,14 @@ open class GamepadEffectParameters: JSDictionaryCompatible { get { jsObject[Strings.weakMagnitude].fromJSValue()! } set { jsObject[Strings.weakMagnitude] = _toJSValue(newValue) } } + @inlinable public var leftTrigger: Double { + get { jsObject[Strings.leftTrigger].fromJSValue()! } + set { jsObject[Strings.leftTrigger] = _toJSValue(newValue) } + } + @inlinable public var rightTrigger: Double { + get { jsObject[Strings.rightTrigger].fromJSValue()! } + set { jsObject[Strings.rightTrigger] = _toJSValue(newValue) } + } } public class GamepadEvent: Event { @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.GamepadEvent].function } @@ -146,12 +159,7 @@ public class GamepadHapticActuator: JSBridgedClass { public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - @inlinable public var type: GamepadHapticActuatorType { jsObject[Strings.type].fromJSValue()! } - - @inlinable final public func canPlayEffectType(type: GamepadHapticEffectType) -> Bool { - let this = jsObject - return this[Strings.canPlayEffectType].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue()! - } + @inlinable public var effects: [GamepadHapticEffectType] { jsObject[Strings.effects].fromJSValue()! } @inlinable final public func playEffect( type: GamepadHapticEffectType, @@ -176,6 +184,21 @@ public class GamepadHapticActuator: JSBridgedClass { } #endif + @inlinable final public func reset() -> JSPromise { + let this = jsObject + return this[Strings.reset].function!(this: this, arguments: []).fromJSValue()! + } + + #if canImport(JavaScriptEventLoop) + @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func reset() + async throws(JSException) -> GamepadHapticsResult + { + let this = jsObject + let _promise: JSPromise = this[Strings.reset].function!(this: this, arguments: []).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + #endif + @inlinable final public func pulse(value: Double, duration: Double) -> JSPromise { let this = jsObject return this[Strings.pulse].function!(this: this, arguments: [_toJSValue(value), _toJSValue(duration)]) @@ -195,38 +218,11 @@ public class GamepadHapticActuator: JSBridgedClass { return try await _promise.value.fromJSValue()! } #endif - - @inlinable final public func reset() -> JSPromise { - let this = jsObject - return this[Strings.reset].function!(this: this, arguments: []).fromJSValue()! - } - - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func reset() - async throws(JSException) -> GamepadHapticsResult - { - let this = jsObject - let _promise: JSPromise = this[Strings.reset].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif } -public enum GamepadHapticActuatorType: JSString, JSValueCompatible { - case vibration = "vibration" - case dualRumble = "dual-rumble" - - @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { return Self(rawValue: string) } - return nil - } - - @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } - - @inlinable public var jsValue: JSValue { rawValue.jsValue } -} public enum GamepadHapticEffectType: JSString, JSValueCompatible { case dualRumble = "dual-rumble" + case triggerRumble = "trigger-rumble" @inlinable public static func construct(from jsValue: JSValue) -> Self? { if let string = jsValue.jsString { return Self(rawValue: string) } @@ -288,22 +284,43 @@ public class GamepadPose: JSBridgedClass { @inlinable public var angularAcceleration: Float32Array? { jsObject[Strings.angularAcceleration].fromJSValue() } } -public class GamepadTouch: JSBridgedClass { - @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GamepadTouch].function } - +open class GamepadTouch: JSDictionaryCompatible { public let jsObject: JSObject - public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } - - @inlinable public var touchId: UInt32 { jsObject[Strings.touchId].fromJSValue()! } + public convenience init( + touchId: UInt32? = nil, + surfaceId: UInt8? = nil, + position: DOMPointReadOnly? = nil, + surfaceDimensions: DOMRectReadOnly? + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.touchId] = _toJSValue(touchId) + object[Strings.surfaceId] = _toJSValue(surfaceId) + object[Strings.position] = _toJSValue(position) + object[Strings.surfaceDimensions] = _toJSValue(surfaceDimensions) - @inlinable public var surfaceId: UInt8 { jsObject[Strings.surfaceId].fromJSValue()! } + self.init(unsafelyWrapping: object) + } - @inlinable public var position: Float32Array { jsObject[Strings.position].fromJSValue()! } + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - @inlinable public var surfaceDimensions: Uint32Array? { jsObject[Strings.surfaceDimensions].fromJSValue() } + @inlinable public var touchId: UInt32 { + get { jsObject[Strings.touchId].fromJSValue()! } + set { jsObject[Strings.touchId] = _toJSValue(newValue) } + } + @inlinable public var surfaceId: UInt8 { + get { jsObject[Strings.surfaceId].fromJSValue()! } + set { jsObject[Strings.surfaceId] = _toJSValue(newValue) } + } + @inlinable public var position: DOMPointReadOnly { + get { jsObject[Strings.position].fromJSValue()! } + set { jsObject[Strings.position] = _toJSValue(newValue) } + } + @inlinable public var surfaceDimensions: DOMRectReadOnly? { + get { jsObject[Strings.surfaceDimensions].fromJSValue() } + set { jsObject[Strings.surfaceDimensions] = _toJSValue(newValue) } + } } - extension Navigator { @inlinable final public func getGamepads() -> [Gamepad?] { @@ -349,16 +366,15 @@ extension WindowEventHandlers { @usableFromInline static let `GamepadEvent`: JSString = "GamepadEvent" @usableFromInline static let `GamepadHapticActuator`: JSString = "GamepadHapticActuator" @usableFromInline static let `GamepadPose`: JSString = "GamepadPose" - @usableFromInline static let `GamepadTouch`: JSString = "GamepadTouch" @usableFromInline static let `Navigator`: JSString = "Navigator" @usableFromInline static let `Object`: JSString = "Object" @usableFromInline static let `angularAcceleration`: JSString = "angularAcceleration" @usableFromInline static let `angularVelocity`: JSString = "angularVelocity" @usableFromInline static let `axes`: JSString = "axes" @usableFromInline static let `buttons`: JSString = "buttons" - @usableFromInline static let `canPlayEffectType`: JSString = "canPlayEffectType" @usableFromInline static let `connected`: JSString = "connected" @usableFromInline static let `duration`: JSString = "duration" + @usableFromInline static let `effects`: JSString = "effects" @usableFromInline static let `gamepad`: JSString = "gamepad" @usableFromInline static let `getGamepads`: JSString = "getGamepads" @usableFromInline static let `hand`: JSString = "hand" @@ -367,6 +383,7 @@ extension WindowEventHandlers { @usableFromInline static let `hasPosition`: JSString = "hasPosition" @usableFromInline static let `id`: JSString = "id" @usableFromInline static let `index`: JSString = "index" + @usableFromInline static let `leftTrigger`: JSString = "leftTrigger" @usableFromInline static let `linearAcceleration`: JSString = "linearAcceleration" @usableFromInline static let `linearVelocity`: JSString = "linearVelocity" @usableFromInline static let `mapping`: JSString = "mapping" @@ -379,16 +396,16 @@ extension WindowEventHandlers { @usableFromInline static let `pressed`: JSString = "pressed" @usableFromInline static let `pulse`: JSString = "pulse" @usableFromInline static let `reset`: JSString = "reset" + @usableFromInline static let `rightTrigger`: JSString = "rightTrigger" @usableFromInline static let `startDelay`: JSString = "startDelay" @usableFromInline static let `strongMagnitude`: JSString = "strongMagnitude" @usableFromInline static let `surfaceDimensions`: JSString = "surfaceDimensions" @usableFromInline static let `surfaceId`: JSString = "surfaceId" @usableFromInline static let `timestamp`: JSString = "timestamp" @usableFromInline static let `toString`: JSString = "toString" - @usableFromInline static let `touchEvents`: JSString = "touchEvents" @usableFromInline static let `touchId`: JSString = "touchId" @usableFromInline static let `touched`: JSString = "touched" - @usableFromInline static let `type`: JSString = "type" + @usableFromInline static let `touches`: JSString = "touches" @usableFromInline static let `value`: JSString = "value" @usableFromInline static let `vibrationActuator`: JSString = "vibrationActuator" @usableFromInline static let `weakMagnitude`: JSString = "weakMagnitude" diff --git a/Sources/WebAPIBase/Generated.swift b/Sources/WebAPIBase/Generated.swift index f7f76ca7..6722ee1e 100644 --- a/Sources/WebAPIBase/Generated.swift +++ b/Sources/WebAPIBase/Generated.swift @@ -90,6 +90,11 @@ public class URL: JSBridgedClass { self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(url), _toJSValue(base)])) } + @inlinable public class func parse(url: String, base: String? = nil) -> URL? { + let this = constructor! + return this[Strings.parse].function!(this: this, arguments: [_toJSValue(url), _toJSValue(base)]).fromJSValue() + } + @inlinable public class func canParse(url: String, base: String? = nil) -> Bool { let this = constructor! return this[Strings.canParse].function!(this: this, arguments: [_toJSValue(url), _toJSValue(base)]) @@ -341,6 +346,7 @@ public enum console { @usableFromInline static let `message`: JSString = "message" @usableFromInline static let `name`: JSString = "name" @usableFromInline static let `origin`: JSString = "origin" + @usableFromInline static let `parse`: JSString = "parse" @usableFromInline static let `password`: JSString = "password" @usableFromInline static let `pathname`: JSString = "pathname" @usableFromInline static let `port`: JSString = "port" diff --git a/Sources/WebAnimations/Generated.swift b/Sources/WebAnimations/Generated.swift index b11811c0..3907b93b 100644 --- a/Sources/WebAnimations/Generated.swift +++ b/Sources/WebAnimations/Generated.swift @@ -468,9 +468,10 @@ public enum FillMode: JSString, JSValueCompatible { open class GetAnimationsOptions: JSDictionaryCompatible { public let jsObject: JSObject - public convenience init(subtree: Bool? = nil) { + public convenience init(subtree: Bool? = nil, pseudoElement: String?) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.subtree] = _toJSValue(subtree) + object[Strings.pseudoElement] = _toJSValue(pseudoElement) self.init(unsafelyWrapping: object) } @@ -481,6 +482,10 @@ open class GetAnimationsOptions: JSDictionaryCompatible { get { jsObject[Strings.subtree].fromJSValue()! } set { jsObject[Strings.subtree] = _toJSValue(newValue) } } + @inlinable public var pseudoElement: String? { + get { jsObject[Strings.pseudoElement].fromJSValue() } + set { jsObject[Strings.pseudoElement] = _toJSValue(newValue) } + } } open class KeyframeAnimationOptions: KeyframeEffectOptions { diff --git a/Sources/WebAudio/Generated.swift b/Sources/WebAudio/Generated.swift index 5428f3e6..d672d8c1 100644 --- a/Sources/WebAudio/Generated.swift +++ b/Sources/WebAudio/Generated.swift @@ -280,8 +280,6 @@ public class AudioContext: BaseAudioContext { @inlinable public var sinkId: AudioSinkInfo_or_String { jsObject[Strings.sinkId].fromJSValue()! } - @inlinable public var renderCapacity: AudioRenderCapacity { jsObject[Strings.renderCapacity].fromJSValue()! } - @inlinable public var onsinkchange: EventHandler { get { guard let function = jsObject[Strings.onsinkchange].function else { return nil } @@ -296,6 +294,20 @@ public class AudioContext: BaseAudioContext { } } + @inlinable public var onerror: EventHandler { + get { + guard let function = jsObject[Strings.onerror].function else { return nil } + return { function(_toJSValue($0)).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[Strings.onerror] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue + } else { + jsObject[Strings.onerror] = .null + } + } + } + @inlinable final public func getOutputTimestamp() -> AudioTimestamp { let this = jsObject return this[Strings.getOutputTimestamp].function!(this: this, arguments: []).fromJSValue()! @@ -411,12 +423,14 @@ open class AudioContextOptions: JSDictionaryCompatible { public convenience init( latencyHint: AudioContextLatencyCategory_or_Double? = nil, sampleRate: Float? = nil, - sinkId: AudioSinkOptions_or_String? = nil + sinkId: AudioSinkOptions_or_String? = nil, + renderSizeHint: AudioContextRenderSizeCategory_or_UInt32? = nil ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.latencyHint] = _toJSValue(latencyHint) object[Strings.sampleRate] = _toJSValue(sampleRate) object[Strings.sinkId] = _toJSValue(sinkId) + object[Strings.renderSizeHint] = _toJSValue(renderSizeHint) self.init(unsafelyWrapping: object) } @@ -435,6 +449,23 @@ open class AudioContextOptions: JSDictionaryCompatible { get { jsObject[Strings.sinkId].fromJSValue()! } set { jsObject[Strings.sinkId] = _toJSValue(newValue) } } + @inlinable public var renderSizeHint: AudioContextRenderSizeCategory_or_UInt32 { + get { jsObject[Strings.renderSizeHint].fromJSValue()! } + set { jsObject[Strings.renderSizeHint] = _toJSValue(newValue) } + } +} +public enum AudioContextRenderSizeCategory: JSString, JSValueCompatible { + case `default` = "default" + case hardware = "hardware" + + @inlinable public static func construct(from jsValue: JSValue) -> Self? { + if let string = jsValue.jsString { return Self(rawValue: string) } + return nil + } + + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + + @inlinable public var jsValue: JSValue { rawValue.jsValue } } public enum AudioContextState: JSString, JSValueCompatible { case suspended = "suspended" @@ -792,111 +823,6 @@ open class AudioProcessingEventInit: EventInit { set { jsObject[Strings.outputBuffer] = _toJSValue(newValue) } } } -public class AudioRenderCapacity: EventTarget { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.AudioRenderCapacity].function - } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable final public func start(options: AudioRenderCapacityOptions? = nil) { - let this = jsObject - _ = this[Strings.start].function!(this: this, arguments: [_toJSValue(options)]) - } - - @inlinable final public func stop() { - let this = jsObject - _ = this[Strings.stop].function!(this: this, arguments: []) - } - - @inlinable public var onupdate: EventHandler { - get { - guard let function = jsObject[Strings.onupdate].function else { return nil } - return { function(_toJSValue($0)).fromJSValue()! } - } - set { - if let newValue = newValue { - jsObject[Strings.onupdate] = JSClosure { _toJSValue(newValue($0[0].fromJSValue()!)) }.jsValue - } else { - jsObject[Strings.onupdate] = .null - } - } - } -} - -public class AudioRenderCapacityEvent: Event { - @inlinable public override class var constructor: JSFunction? { - JSObject.global[Strings.AudioRenderCapacityEvent].function - } - - public required init(unsafelyWrapping jsObject: JSObject) { super.init(unsafelyWrapping: jsObject) } - - @inlinable public convenience init(type: String, eventInitDict: AudioRenderCapacityEventInit? = nil) { - self.init(unsafelyWrapping: Self.constructor!.new(arguments: [_toJSValue(type), _toJSValue(eventInitDict)])) - } - - @inlinable public var timestamp: Double { jsObject[Strings.timestamp].fromJSValue()! } - - @inlinable public var averageLoad: Double { jsObject[Strings.averageLoad].fromJSValue()! } - - @inlinable public var peakLoad: Double { jsObject[Strings.peakLoad].fromJSValue()! } - - @inlinable public var underrunRatio: Double { jsObject[Strings.underrunRatio].fromJSValue()! } -} - -open class AudioRenderCapacityEventInit: EventInit { - - public convenience init( - timestamp: Double? = nil, - averageLoad: Double? = nil, - peakLoad: Double? = nil, - underrunRatio: Double? = nil - ) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.timestamp] = _toJSValue(timestamp) - object[Strings.averageLoad] = _toJSValue(averageLoad) - object[Strings.peakLoad] = _toJSValue(peakLoad) - object[Strings.underrunRatio] = _toJSValue(underrunRatio) - - self.init(unsafelyWrapping: object) - } - - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var timestamp: Double { - get { jsObject[Strings.timestamp].fromJSValue()! } - set { jsObject[Strings.timestamp] = _toJSValue(newValue) } - } - @inlinable public var averageLoad: Double { - get { jsObject[Strings.averageLoad].fromJSValue()! } - set { jsObject[Strings.averageLoad] = _toJSValue(newValue) } - } - @inlinable public var peakLoad: Double { - get { jsObject[Strings.peakLoad].fromJSValue()! } - set { jsObject[Strings.peakLoad] = _toJSValue(newValue) } - } - @inlinable public var underrunRatio: Double { - get { jsObject[Strings.underrunRatio].fromJSValue()! } - set { jsObject[Strings.underrunRatio] = _toJSValue(newValue) } - } -} -open class AudioRenderCapacityOptions: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(updateInterval: Double? = nil) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.updateInterval] = _toJSValue(updateInterval) - - self.init(unsafelyWrapping: object) - } - - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var updateInterval: Double { - get { jsObject[Strings.updateInterval].fromJSValue()! } - set { jsObject[Strings.updateInterval] = _toJSValue(newValue) } - } -} public class AudioScheduledSourceNode: AudioNode { @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.AudioScheduledSourceNode].function @@ -1107,6 +1033,8 @@ public class BaseAudioContext: EventTarget { @inlinable public var state: AudioContextState { jsObject[Strings.state].fromJSValue()! } + @inlinable public var renderQuantumSize: UInt32 { jsObject[Strings.renderQuantumSize].fromJSValue()! } + @inlinable public var audioWorklet: AudioWorklet { jsObject[Strings.audioWorklet].fromJSValue()! } @inlinable public var onstatechange: EventHandler { @@ -1985,11 +1913,17 @@ public class OfflineAudioContext: BaseAudioContext { open class OfflineAudioContextOptions: JSDictionaryCompatible { public let jsObject: JSObject - public convenience init(numberOfChannels: UInt32? = nil, length: UInt32, sampleRate: Float) { + public convenience init( + numberOfChannels: UInt32? = nil, + length: UInt32, + sampleRate: Float, + renderSizeHint: AudioContextRenderSizeCategory_or_UInt32? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.numberOfChannels] = _toJSValue(numberOfChannels) object[Strings.length] = _toJSValue(length) object[Strings.sampleRate] = _toJSValue(sampleRate) + object[Strings.renderSizeHint] = _toJSValue(renderSizeHint) self.init(unsafelyWrapping: object) } @@ -2008,6 +1942,10 @@ open class OfflineAudioContextOptions: JSDictionaryCompatible { get { jsObject[Strings.sampleRate].fromJSValue()! } set { jsObject[Strings.sampleRate] = _toJSValue(newValue) } } + @inlinable public var renderSizeHint: AudioContextRenderSizeCategory_or_UInt32 { + get { jsObject[Strings.renderSizeHint].fromJSValue()! } + set { jsObject[Strings.renderSizeHint] = _toJSValue(newValue) } + } } public class OscillatorNode: AudioScheduledSourceNode { @inlinable public override class var constructor: JSFunction? { JSObject.global[Strings.OscillatorNode].function } @@ -2471,8 +2409,6 @@ open class WaveShaperOptions: AudioNodeOptions { @usableFromInline static let `AudioParam`: JSString = "AudioParam" @usableFromInline static let `AudioParamMap`: JSString = "AudioParamMap" @usableFromInline static let `AudioProcessingEvent`: JSString = "AudioProcessingEvent" - @usableFromInline static let `AudioRenderCapacity`: JSString = "AudioRenderCapacity" - @usableFromInline static let `AudioRenderCapacityEvent`: JSString = "AudioRenderCapacityEvent" @usableFromInline static let `AudioScheduledSourceNode`: JSString = "AudioScheduledSourceNode" @usableFromInline static let `AudioSinkInfo`: JSString = "AudioSinkInfo" @usableFromInline static let `AudioWorklet`: JSString = "AudioWorklet" @@ -2504,7 +2440,6 @@ open class WaveShaperOptions: AudioNodeOptions { @usableFromInline static let `attack`: JSString = "attack" @usableFromInline static let `audioWorklet`: JSString = "audioWorklet" @usableFromInline static let `automationRate`: JSString = "automationRate" - @usableFromInline static let `averageLoad`: JSString = "averageLoad" @usableFromInline static let `baseLatency`: JSString = "baseLatency" @usableFromInline static let `buffer`: JSString = "buffer" @usableFromInline static let `bufferSize`: JSString = "bufferSize" @@ -2601,10 +2536,10 @@ open class WaveShaperOptions: AudioNodeOptions { @usableFromInline static let `onaudioprocess`: JSString = "onaudioprocess" @usableFromInline static let `oncomplete`: JSString = "oncomplete" @usableFromInline static let `onended`: JSString = "onended" + @usableFromInline static let `onerror`: JSString = "onerror" @usableFromInline static let `onprocessorerror`: JSString = "onprocessorerror" @usableFromInline static let `onsinkchange`: JSString = "onsinkchange" @usableFromInline static let `onstatechange`: JSString = "onstatechange" - @usableFromInline static let `onupdate`: JSString = "onupdate" @usableFromInline static let `orientationX`: JSString = "orientationX" @usableFromInline static let `orientationY`: JSString = "orientationY" @usableFromInline static let `orientationZ`: JSString = "orientationZ" @@ -2616,7 +2551,6 @@ open class WaveShaperOptions: AudioNodeOptions { @usableFromInline static let `panningModel`: JSString = "panningModel" @usableFromInline static let `parameterData`: JSString = "parameterData" @usableFromInline static let `parameters`: JSString = "parameters" - @usableFromInline static let `peakLoad`: JSString = "peakLoad" @usableFromInline static let `performanceTime`: JSString = "performanceTime" @usableFromInline static let `periodicWave`: JSString = "periodicWave" @usableFromInline static let `playbackRate`: JSString = "playbackRate" @@ -2631,7 +2565,8 @@ open class WaveShaperOptions: AudioNodeOptions { @usableFromInline static let `reduction`: JSString = "reduction" @usableFromInline static let `refDistance`: JSString = "refDistance" @usableFromInline static let `release`: JSString = "release" - @usableFromInline static let `renderCapacity`: JSString = "renderCapacity" + @usableFromInline static let `renderQuantumSize`: JSString = "renderQuantumSize" + @usableFromInline static let `renderSizeHint`: JSString = "renderSizeHint" @usableFromInline static let `renderedBuffer`: JSString = "renderedBuffer" @usableFromInline static let `resume`: JSString = "resume" @usableFromInline static let `rolloffFactor`: JSString = "rolloffFactor" @@ -2652,14 +2587,11 @@ open class WaveShaperOptions: AudioNodeOptions { @usableFromInline static let `stream`: JSString = "stream" @usableFromInline static let `suspend`: JSString = "suspend" @usableFromInline static let `threshold`: JSString = "threshold" - @usableFromInline static let `timestamp`: JSString = "timestamp" @usableFromInline static let `toString`: JSString = "toString" @usableFromInline static let `type`: JSString = "type" - @usableFromInline static let `underrunRatio`: JSString = "underrunRatio" @usableFromInline static let `upX`: JSString = "upX" @usableFromInline static let `upY`: JSString = "upY" @usableFromInline static let `upZ`: JSString = "upZ" - @usableFromInline static let `updateInterval`: JSString = "updateInterval" @usableFromInline static let `value`: JSString = "value" } public protocol Any_AudioContextLatencyCategory_or_Double: ConvertibleToJSValue {} @@ -2707,6 +2639,54 @@ public enum AudioContextLatencyCategory_or_Double: JSValueCompatible, Any_AudioC } } } +public protocol Any_AudioContextRenderSizeCategory_or_UInt32: ConvertibleToJSValue {} +extension AudioContextRenderSizeCategory: Any_AudioContextRenderSizeCategory_or_UInt32 {} +extension UInt32: Any_AudioContextRenderSizeCategory_or_UInt32 {} + +public enum AudioContextRenderSizeCategory_or_UInt32: JSValueCompatible, Any_AudioContextRenderSizeCategory_or_UInt32 { + case audioContextRenderSizeCategory(AudioContextRenderSizeCategory) + case uInt32(UInt32) + + public init(_ audioContextRenderSizeCategory: AudioContextRenderSizeCategory) { + let val: AudioContextRenderSizeCategory_or_UInt32 = .audioContextRenderSizeCategory( + audioContextRenderSizeCategory + ) + self = val + } + public init(_ uInt32: UInt32) { + let val: AudioContextRenderSizeCategory_or_UInt32 = .uInt32(uInt32) + self = val + } + + public var audioContextRenderSizeCategory: AudioContextRenderSizeCategory? { + switch self { + case let .audioContextRenderSizeCategory(audioContextRenderSizeCategory): return audioContextRenderSizeCategory + default: return nil + } + } + public var uInt32: UInt32? { + switch self { + case let .uInt32(uInt32): return uInt32 + default: return nil + } + } + + public static func construct(from value: JSValue) -> Self? { + if let audioContextRenderSizeCategory: AudioContextRenderSizeCategory = value.fromJSValue() { + return .audioContextRenderSizeCategory(audioContextRenderSizeCategory) + } + if let uInt32: UInt32 = value.fromJSValue() { return .uInt32(uInt32) } + return nil + } + + public var jsValue: JSValue { + switch self { + case let .audioContextRenderSizeCategory(audioContextRenderSizeCategory): + return audioContextRenderSizeCategory.jsValue + case let .uInt32(uInt32): return uInt32.jsValue + } + } +} public protocol Any_AudioSinkInfo_or_String: ConvertibleToJSValue {} extension AudioSinkInfo: Any_AudioSinkInfo_or_String {} extension String: Any_AudioSinkInfo_or_String {} diff --git a/Sources/WebGL1/Generated.swift b/Sources/WebGL1/Generated.swift index ec451602..93ec0543 100644 --- a/Sources/WebGL1/Generated.swift +++ b/Sources/WebGL1/Generated.swift @@ -162,6 +162,10 @@ open class WebGLObject: JSBridgedClass { public required init(unsafelyWrapping jsObject: JSObject) { self.jsObject = jsObject } + @inlinable public var label: String { + get { jsObject[Strings.label].fromJSValue()! } + set { jsObject[Strings.label] = _toJSValue(newValue) } + } } public enum WebGLPowerPreference: JSString, JSValueCompatible { @@ -725,6 +729,8 @@ extension WebGLRenderingContextBase { @inlinable public static var RGB5_A1: GLenum { 0x8057 } + @inlinable public static var RGBA8: GLenum { 0x8058 } + @inlinable public static var RGB565: GLenum { 0x8D62 } @inlinable public static var DEPTH_COMPONENT16: GLenum { 0x81A5 } @@ -803,6 +809,8 @@ extension WebGLRenderingContextBase { @inlinable public var drawingBufferHeight: GLsizei { jsObject[Strings.drawingBufferHeight].fromJSValue()! } + @inlinable public var drawingBufferFormat: GLenum { jsObject[Strings.drawingBufferFormat].fromJSValue()! } + @inlinable public var drawingBufferColorSpace: PredefinedColorSpace { get { jsObject[Strings.drawingBufferColorSpace].fromJSValue()! } set { jsObject[Strings.drawingBufferColorSpace] = _toJSValue(newValue) } @@ -833,6 +841,14 @@ extension WebGLRenderingContextBase { return this[Strings.getExtension].function!(this: this, arguments: [_toJSValue(name)]).fromJSValue() } + @inlinable public func drawingBufferStorage(sizedFormat: GLenum, width: UInt32, height: UInt32) { + let this = jsObject + _ = this[Strings.drawingBufferStorage].function!( + this: this, + arguments: [_toJSValue(sizedFormat), _toJSValue(width), _toJSValue(height)] + ) + } + @inlinable public func activeTexture(texture: GLenum) { let this = jsObject _ = this[Strings.activeTexture].function!(this: this, arguments: [_toJSValue(texture)]) @@ -993,24 +1009,24 @@ extension WebGLRenderingContextBase { ) } - @inlinable public func createBuffer() -> WebGLBuffer? { + @inlinable public func createBuffer() -> WebGLBuffer { let this = jsObject - return this[Strings.createBuffer].function!(this: this, arguments: []).fromJSValue() + return this[Strings.createBuffer].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createFramebuffer() -> WebGLFramebuffer? { + @inlinable public func createFramebuffer() -> WebGLFramebuffer { let this = jsObject - return this[Strings.createFramebuffer].function!(this: this, arguments: []).fromJSValue() + return this[Strings.createFramebuffer].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createProgram() -> WebGLProgram? { + @inlinable public func createProgram() -> WebGLProgram { let this = jsObject - return this[Strings.createProgram].function!(this: this, arguments: []).fromJSValue() + return this[Strings.createProgram].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func createRenderbuffer() -> WebGLRenderbuffer? { + @inlinable public func createRenderbuffer() -> WebGLRenderbuffer { let this = jsObject - return this[Strings.createRenderbuffer].function!(this: this, arguments: []).fromJSValue() + return this[Strings.createRenderbuffer].function!(this: this, arguments: []).fromJSValue()! } @inlinable public func createShader(type: GLenum) -> WebGLShader? { @@ -1018,9 +1034,9 @@ extension WebGLRenderingContextBase { return this[Strings.createShader].function!(this: this, arguments: [_toJSValue(type)]).fromJSValue() } - @inlinable public func createTexture() -> WebGLTexture? { + @inlinable public func createTexture() -> WebGLTexture { let this = jsObject - return this[Strings.createTexture].function!(this: this, arguments: []).fromJSValue() + return this[Strings.createTexture].function!(this: this, arguments: []).fromJSValue()! } @inlinable public func cullFace(mode: GLenum) { @@ -1928,7 +1944,9 @@ public class WebGLUniformLocation: JSBridgedClass { @usableFromInline static let `drawArrays`: JSString = "drawArrays" @usableFromInline static let `drawElements`: JSString = "drawElements" @usableFromInline static let `drawingBufferColorSpace`: JSString = "drawingBufferColorSpace" + @usableFromInline static let `drawingBufferFormat`: JSString = "drawingBufferFormat" @usableFromInline static let `drawingBufferHeight`: JSString = "drawingBufferHeight" + @usableFromInline static let `drawingBufferStorage`: JSString = "drawingBufferStorage" @usableFromInline static let `drawingBufferWidth`: JSString = "drawingBufferWidth" @usableFromInline static let `enable`: JSString = "enable" @usableFromInline static let `enableVertexAttribArray`: JSString = "enableVertexAttribArray" @@ -1971,6 +1989,7 @@ public class WebGLUniformLocation: JSBridgedClass { @usableFromInline static let `isRenderbuffer`: JSString = "isRenderbuffer" @usableFromInline static let `isShader`: JSString = "isShader" @usableFromInline static let `isTexture`: JSString = "isTexture" + @usableFromInline static let `label`: JSString = "label" @usableFromInline static let `lineWidth`: JSString = "lineWidth" @usableFromInline static let `linkProgram`: JSString = "linkProgram" @usableFromInline static let `name`: JSString = "name" diff --git a/Sources/WebGL2/Generated.swift b/Sources/WebGL2/Generated.swift index 58d7cf33..29e7027e 100644 --- a/Sources/WebGL2/Generated.swift +++ b/Sources/WebGL2/Generated.swift @@ -56,8 +56,6 @@ extension WebGL2RenderingContextBase { @inlinable public static var RGB8: GLenum { 0x8051 } - @inlinable public static var RGBA8: GLenum { 0x8058 } - @inlinable public static var RGB10_A2: GLenum { 0x8059 } @inlinable public static var TEXTURE_BINDING_3D: GLenum { 0x806A } @@ -579,7 +577,7 @@ extension WebGL2RenderingContextBase { target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, - dstOffset: GLuint? = nil, + dstOffset: UInt64? = nil, length: GLuint? = nil ) { let this = jsObject @@ -802,7 +800,7 @@ extension WebGL2RenderingContextBase { format: GLenum, type: GLenum, srcData: ArrayBufferView, - srcOffset: GLuint + srcOffset: UInt64 ) { let this = jsObject _ = this[Strings.texImage3D].function!( @@ -875,7 +873,7 @@ extension WebGL2RenderingContextBase { format: GLenum, type: GLenum, srcData: ArrayBufferView?, - srcOffset: GLuint? = nil + srcOffset: UInt64? = nil ) { let this = jsObject _ = this[Strings.texSubImage3D].function!( @@ -939,7 +937,7 @@ extension WebGL2RenderingContextBase { depth: GLsizei, border: GLint, srcData: ArrayBufferView, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLengthOverride: GLuint? = nil ) { let this = jsObject @@ -988,7 +986,7 @@ extension WebGL2RenderingContextBase { depth: GLsizei, format: GLenum, srcData: ArrayBufferView, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLengthOverride: GLuint? = nil ) { let this = jsObject @@ -1042,7 +1040,7 @@ extension WebGL2RenderingContextBase { @inlinable public func uniform1uiv( location: WebGLUniformLocation?, data: Uint32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -1055,7 +1053,7 @@ extension WebGL2RenderingContextBase { @inlinable public func uniform2uiv( location: WebGLUniformLocation?, data: Uint32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -1068,7 +1066,7 @@ extension WebGL2RenderingContextBase { @inlinable public func uniform3uiv( location: WebGLUniformLocation?, data: Uint32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -1081,7 +1079,7 @@ extension WebGL2RenderingContextBase { @inlinable public func uniform4uiv( location: WebGLUniformLocation?, data: Uint32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -1095,7 +1093,7 @@ extension WebGL2RenderingContextBase { location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -1112,7 +1110,7 @@ extension WebGL2RenderingContextBase { location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -1129,7 +1127,7 @@ extension WebGL2RenderingContextBase { location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -1146,7 +1144,7 @@ extension WebGL2RenderingContextBase { location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -1163,7 +1161,7 @@ extension WebGL2RenderingContextBase { location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -1180,7 +1178,7 @@ extension WebGL2RenderingContextBase { location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -1292,7 +1290,7 @@ extension WebGL2RenderingContextBase { buffer: GLenum, drawbuffer: GLint, values: Float32List, - srcOffset: GLuint? = nil + srcOffset: UInt64? = nil ) { let this = jsObject _ = this[Strings.clearBufferfv].function!( @@ -1301,7 +1299,7 @@ extension WebGL2RenderingContextBase { ) } - @inlinable public func clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset: GLuint? = nil) + @inlinable public func clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset: UInt64? = nil) { let this = jsObject _ = this[Strings.clearBufferiv].function!( @@ -1314,7 +1312,7 @@ extension WebGL2RenderingContextBase { buffer: GLenum, drawbuffer: GLint, values: Uint32List, - srcOffset: GLuint? = nil + srcOffset: UInt64? = nil ) { let this = jsObject _ = this[Strings.clearBufferuiv].function!( @@ -1331,9 +1329,9 @@ extension WebGL2RenderingContextBase { ) } - @inlinable public func createQuery() -> WebGLQuery? { + @inlinable public func createQuery() -> WebGLQuery { let this = jsObject - return this[Strings.createQuery].function!(this: this, arguments: []).fromJSValue() + return this[Strings.createQuery].function!(this: this, arguments: []).fromJSValue()! } @inlinable public func deleteQuery(query: WebGLQuery?) { @@ -1368,9 +1366,9 @@ extension WebGL2RenderingContextBase { .fromJSValue()! } - @inlinable public func createSampler() -> WebGLSampler? { + @inlinable public func createSampler() -> WebGLSampler { let this = jsObject - return this[Strings.createSampler].function!(this: this, arguments: []).fromJSValue() + return this[Strings.createSampler].function!(this: this, arguments: []).fromJSValue()! } @inlinable public func deleteSampler(sampler: WebGLSampler?) { @@ -1450,9 +1448,9 @@ extension WebGL2RenderingContextBase { .fromJSValue()! } - @inlinable public func createTransformFeedback() -> WebGLTransformFeedback? { + @inlinable public func createTransformFeedback() -> WebGLTransformFeedback { let this = jsObject - return this[Strings.createTransformFeedback].function!(this: this, arguments: []).fromJSValue() + return this[Strings.createTransformFeedback].function!(this: this, arguments: []).fromJSValue()! } @inlinable public func deleteTransformFeedback(tf: WebGLTransformFeedback?) { @@ -1595,9 +1593,9 @@ extension WebGL2RenderingContextBase { ) } - @inlinable public func createVertexArray() -> WebGLVertexArrayObject? { + @inlinable public func createVertexArray() -> WebGLVertexArrayObject { let this = jsObject - return this[Strings.createVertexArray].function!(this: this, arguments: []).fromJSValue() + return this[Strings.createVertexArray].function!(this: this, arguments: []).fromJSValue()! } @inlinable public func deleteVertexArray(vertexArray: WebGLVertexArrayObject?) { @@ -1645,7 +1643,7 @@ extension WebGL2RenderingContextOverloads { target: GLenum, srcData: ArrayBufferView, usage: GLenum, - srcOffset: GLuint, + srcOffset: UInt64, length: GLuint? = nil ) { let this = jsObject @@ -1661,7 +1659,7 @@ extension WebGL2RenderingContextOverloads { target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, - srcOffset: GLuint, + srcOffset: UInt64, length: GLuint? = nil ) { let this = jsObject @@ -1805,7 +1803,7 @@ extension WebGL2RenderingContextOverloads { format: GLenum, type: GLenum, srcData: ArrayBufferView, - srcOffset: GLuint + srcOffset: UInt64 ) { let this = jsObject _ = this[Strings.texImage2D].function!( @@ -1870,7 +1868,7 @@ extension WebGL2RenderingContextOverloads { format: GLenum, type: GLenum, srcData: ArrayBufferView, - srcOffset: GLuint + srcOffset: UInt64 ) { let this = jsObject _ = this[Strings.texSubImage2D].function!( @@ -1910,7 +1908,7 @@ extension WebGL2RenderingContextOverloads { height: GLsizei, border: GLint, srcData: ArrayBufferView, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLengthOverride: GLuint? = nil ) { let this = jsObject @@ -1954,7 +1952,7 @@ extension WebGL2RenderingContextOverloads { height: GLsizei, format: GLenum, srcData: ArrayBufferView, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLengthOverride: GLuint? = nil ) { let this = jsObject @@ -1971,7 +1969,7 @@ extension WebGL2RenderingContextOverloads { @inlinable public func uniform1fv( location: WebGLUniformLocation?, data: Float32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -1984,7 +1982,7 @@ extension WebGL2RenderingContextOverloads { @inlinable public func uniform2fv( location: WebGLUniformLocation?, data: Float32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -1997,7 +1995,7 @@ extension WebGL2RenderingContextOverloads { @inlinable public func uniform3fv( location: WebGLUniformLocation?, data: Float32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -2010,7 +2008,7 @@ extension WebGL2RenderingContextOverloads { @inlinable public func uniform4fv( location: WebGLUniformLocation?, data: Float32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -2023,7 +2021,7 @@ extension WebGL2RenderingContextOverloads { @inlinable public func uniform1iv( location: WebGLUniformLocation?, data: Int32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -2036,7 +2034,7 @@ extension WebGL2RenderingContextOverloads { @inlinable public func uniform2iv( location: WebGLUniformLocation?, data: Int32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -2049,7 +2047,7 @@ extension WebGL2RenderingContextOverloads { @inlinable public func uniform3iv( location: WebGLUniformLocation?, data: Int32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -2062,7 +2060,7 @@ extension WebGL2RenderingContextOverloads { @inlinable public func uniform4iv( location: WebGLUniformLocation?, data: Int32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -2076,7 +2074,7 @@ extension WebGL2RenderingContextOverloads { location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -2093,7 +2091,7 @@ extension WebGL2RenderingContextOverloads { location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -2110,7 +2108,7 @@ extension WebGL2RenderingContextOverloads { location: WebGLUniformLocation?, transpose: GLboolean, data: Float32List, - srcOffset: GLuint? = nil, + srcOffset: UInt64? = nil, srcLength: GLuint? = nil ) { let this = jsObject @@ -2169,7 +2167,7 @@ extension WebGL2RenderingContextOverloads { format: GLenum, type: GLenum, dstData: ArrayBufferView, - dstOffset: GLuint + dstOffset: UInt64 ) { let this = jsObject _ = this[Strings.readPixels].function!( diff --git a/Sources/WebGPU/Generated.swift b/Sources/WebGPU/Generated.swift index 4ebb9ddc..66868e0f 100644 --- a/Sources/WebGPU/Generated.swift +++ b/Sources/WebGPU/Generated.swift @@ -62,6 +62,8 @@ public class GPUAdapter: JSBridgedClass { @inlinable public var limits: GPUSupportedLimits { jsObject[Strings.limits].fromJSValue()! } + @inlinable public var info: GPUAdapterInfo { jsObject[Strings.info].fromJSValue()! } + @inlinable public var isFallbackAdapter: Bool { jsObject[Strings.isFallbackAdapter].fromJSValue()! } @inlinable final public func requestDevice(descriptor: GPUDeviceDescriptor? = nil) -> JSPromise { @@ -81,25 +83,6 @@ public class GPUAdapter: JSBridgedClass { return try await _promise.value.fromJSValue()! } #endif - - @inlinable final public func requestAdapterInfo(unmaskHints: [String]? = nil) -> JSPromise { - let this = jsObject - return this[Strings.requestAdapterInfo].function!(this: this, arguments: [_toJSValue(unmaskHints)]) - .fromJSValue()! - } - - #if canImport(JavaScriptEventLoop) - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) @inlinable final public func requestAdapterInfo( - unmaskHints: [String]? = nil - ) async throws(JSException) -> GPUAdapterInfo { - let this = jsObject - let _promise: JSPromise = this[Strings.requestAdapterInfo].function!( - this: this, - arguments: [_toJSValue(unmaskHints)] - ).fromJSValue()! - return try await _promise.value.fromJSValue()! - } - #endif } public class GPUAdapterInfo: JSBridgedClass { @@ -116,6 +99,10 @@ public class GPUAdapterInfo: JSBridgedClass { @inlinable public var device: String { jsObject[Strings.device].fromJSValue()! } @inlinable public var description: String { jsObject[Strings.description].fromJSValue()! } + + @inlinable public var subgroupMinSize: UInt32 { jsObject[Strings.subgroupMinSize].fromJSValue()! } + + @inlinable public var subgroupMaxSize: UInt32 { jsObject[Strings.subgroupMaxSize].fromJSValue()! } } public enum GPUAddressMode: JSString, JSValueCompatible { @@ -354,6 +341,10 @@ public enum GPUBlendFactor: JSString, JSValueCompatible { case srcAlphaSaturated = "src-alpha-saturated" case constant = "constant" case oneMinusConstant = "one-minus-constant" + case src1 = "src1" + case oneMinusSrc1 = "one-minus-src1" + case src1Alpha = "src1-alpha" + case oneMinusSrc1Alpha = "one-minus-src1-alpha" @inlinable public static func construct(from jsValue: JSValue) -> Self? { if let string = jsValue.jsString { return Self(rawValue: string) } @@ -622,6 +613,7 @@ open class GPUCanvasConfiguration: JSDictionaryCompatible { usage: GPUTextureUsageFlags? = nil, viewFormats: [GPUTextureFormat]? = nil, colorSpace: PredefinedColorSpace? = nil, + toneMapping: GPUCanvasToneMapping? = nil, alphaMode: GPUCanvasAlphaMode? = nil ) { let object = JSObject.global[Strings.Object].function!.new() @@ -630,6 +622,7 @@ open class GPUCanvasConfiguration: JSDictionaryCompatible { object[Strings.usage] = _toJSValue(usage) object[Strings.viewFormats] = _toJSValue(viewFormats) object[Strings.colorSpace] = _toJSValue(colorSpace) + object[Strings.toneMapping] = _toJSValue(toneMapping) object[Strings.alphaMode] = _toJSValue(alphaMode) self.init(unsafelyWrapping: object) @@ -657,6 +650,10 @@ open class GPUCanvasConfiguration: JSDictionaryCompatible { get { jsObject[Strings.colorSpace].fromJSValue()! } set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } } + @inlinable public var toneMapping: GPUCanvasToneMapping { + get { jsObject[Strings.toneMapping].fromJSValue()! } + set { jsObject[Strings.toneMapping] = _toJSValue(newValue) } + } @inlinable public var alphaMode: GPUCanvasAlphaMode { get { jsObject[Strings.alphaMode].fromJSValue()! } set { jsObject[Strings.alphaMode] = _toJSValue(newValue) } @@ -681,12 +678,47 @@ public class GPUCanvasContext: JSBridgedClass { _ = this[Strings.unconfigure].function!(this: this, arguments: []) } + @inlinable final public func getConfiguration() -> GPUCanvasConfiguration? { + let this = jsObject + return this[Strings.getConfiguration].function!(this: this, arguments: []).fromJSValue() + } + @inlinable final public func getCurrentTexture() -> GPUTexture { let this = jsObject return this[Strings.getCurrentTexture].function!(this: this, arguments: []).fromJSValue()! } } +open class GPUCanvasToneMapping: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(mode: GPUCanvasToneMappingMode? = nil) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.mode] = _toJSValue(mode) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var mode: GPUCanvasToneMappingMode { + get { jsObject[Strings.mode].fromJSValue()! } + set { jsObject[Strings.mode] = _toJSValue(newValue) } + } +} +public enum GPUCanvasToneMappingMode: JSString, JSValueCompatible { + case standard = "standard" + case extended = "extended" + + @inlinable public static func construct(from jsValue: JSValue) -> Self? { + if let string = jsValue.jsString { return Self(rawValue: string) } + return nil + } + + @inlinable public init?(string: String) { self.init(rawValue: JSString(string)) } + + @inlinable public var jsValue: JSValue { rawValue.jsValue } +} open class GPUColorDict: JSDictionaryCompatible { public let jsObject: JSObject @@ -817,8 +849,8 @@ public class GPUCommandEncoder: JSBridgedClass, GPUObjectBase, GPUCommandsMixin, } @inlinable final public func copyBufferToTexture( - source: GPUImageCopyBuffer, - destination: GPUImageCopyTexture, + source: GPUTexelCopyBufferInfo, + destination: GPUTexelCopyTextureInfo, copySize: GPUExtent3D ) { let this = jsObject @@ -829,8 +861,8 @@ public class GPUCommandEncoder: JSBridgedClass, GPUObjectBase, GPUCommandsMixin, } @inlinable final public func copyTextureToBuffer( - source: GPUImageCopyTexture, - destination: GPUImageCopyBuffer, + source: GPUTexelCopyTextureInfo, + destination: GPUTexelCopyBufferInfo, copySize: GPUExtent3D ) { let this = jsObject @@ -841,8 +873,8 @@ public class GPUCommandEncoder: JSBridgedClass, GPUObjectBase, GPUCommandsMixin, } @inlinable final public func copyTextureToTexture( - source: GPUImageCopyTexture, - destination: GPUImageCopyTexture, + source: GPUTexelCopyTextureInfo, + destination: GPUTexelCopyTextureInfo, copySize: GPUExtent3D ) { let this = jsObject @@ -860,14 +892,6 @@ public class GPUCommandEncoder: JSBridgedClass, GPUObjectBase, GPUCommandsMixin, ) } - @inlinable final public func writeTimestamp(querySet: GPUQuerySet, queryIndex: GPUSize32) { - let this = jsObject - _ = this[Strings.writeTimestamp].function!( - this: this, - arguments: [_toJSValue(querySet), _toJSValue(queryIndex)] - ) - } - @inlinable final public func resolveQuerySet( querySet: GPUQuerySet, firstQuery: GPUSize32, @@ -1082,6 +1106,65 @@ open class GPUComputePipelineDescriptor: GPUPipelineDescriptorBase { set { jsObject[Strings.compute] = _toJSValue(newValue) } } } +open class GPUCopyExternalImageDestInfo: GPUTexelCopyTextureInfo { + + public convenience init( + texture: GPUTexture, + mipLevel: GPUIntegerCoordinate? = nil, + origin: GPUOrigin3D? = nil, + aspect: GPUTextureAspect? = nil, + colorSpace: PredefinedColorSpace? = nil, + premultipliedAlpha: Bool? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.texture] = _toJSValue(texture) + object[Strings.mipLevel] = _toJSValue(mipLevel) + object[Strings.origin] = _toJSValue(origin) + object[Strings.aspect] = _toJSValue(aspect) + object[Strings.colorSpace] = _toJSValue(colorSpace) + object[Strings.premultipliedAlpha] = _toJSValue(premultipliedAlpha) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + + @inlinable public var colorSpace: PredefinedColorSpace { + get { jsObject[Strings.colorSpace].fromJSValue()! } + set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } + } + @inlinable public var premultipliedAlpha: Bool { + get { jsObject[Strings.premultipliedAlpha].fromJSValue()! } + set { jsObject[Strings.premultipliedAlpha] = _toJSValue(newValue) } + } +} +open class GPUCopyExternalImageSourceInfo: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(source: GPUCopyExternalImageSource, origin: GPUOrigin2D? = nil, flipY: Bool? = nil) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.source] = _toJSValue(source) + object[Strings.origin] = _toJSValue(origin) + object[Strings.flipY] = _toJSValue(flipY) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var source: GPUCopyExternalImageSource { + get { jsObject[Strings.source].fromJSValue()! } + set { jsObject[Strings.source] = _toJSValue(newValue) } + } + @inlinable public var origin: GPUOrigin2D { + get { jsObject[Strings.origin].fromJSValue()! } + set { jsObject[Strings.origin] = _toJSValue(newValue) } + } + @inlinable public var flipY: Bool { + get { jsObject[Strings.flipY].fromJSValue()! } + set { jsObject[Strings.flipY] = _toJSValue(newValue) } + } +} public enum GPUCullMode: JSString, JSValueCompatible { case none = "none" case front = "front" @@ -1118,8 +1201,8 @@ open class GPUDepthStencilState: JSDictionaryCompatible { public convenience init( format: GPUTextureFormat, - depthWriteEnabled: Bool, - depthCompare: GPUCompareFunction, + depthWriteEnabled: Bool? = nil, + depthCompare: GPUCompareFunction? = nil, stencilFront: GPUStencilFaceState? = nil, stencilBack: GPUStencilFaceState? = nil, stencilReadMask: GPUStencilValue? = nil, @@ -1195,6 +1278,8 @@ public class GPUDevice: EventTarget, GPUObjectBase { @inlinable public var limits: GPUSupportedLimits { jsObject[Strings.limits].fromJSValue()! } + @inlinable public var adapterInfo: GPUAdapterInfo { jsObject[Strings.adapterInfo].fromJSValue()! } + @inlinable public var queue: GPUQueue { jsObject[Strings.queue].fromJSValue()! } @inlinable final public func destroy() { @@ -1519,14 +1604,20 @@ public enum GPUFeatureName: JSString, JSValueCompatible { case depthClipControl = "depth-clip-control" case depth32floatStencil8 = "depth32float-stencil8" case textureCompressionBc = "texture-compression-bc" + case textureCompressionBcSliced3d = "texture-compression-bc-sliced-3d" case textureCompressionEtc2 = "texture-compression-etc2" case textureCompressionAstc = "texture-compression-astc" + case textureCompressionAstcSliced3d = "texture-compression-astc-sliced-3d" case timestampQuery = "timestamp-query" case indirectFirstInstance = "indirect-first-instance" case shaderF16 = "shader-f16" case rg11b10ufloatRenderable = "rg11b10ufloat-renderable" case bgra8unormStorage = "bgra8unorm-storage" case float32Filterable = "float32-filterable" + case float32Blendable = "float32-blendable" + case clipDistances = "clip-distances" + case dualSourceBlending = "dual-source-blending" + case subgroups = "subgroups" @inlinable public static func construct(from jsValue: JSValue) -> Self? { if let string = jsValue.jsString { return Self(rawValue: string) } @@ -1554,7 +1645,7 @@ open class GPUFragmentState: GPUProgrammableStage { public convenience init( module: GPUShaderModule, - entryPoint: String, + entryPoint: String? = nil, constants: JSObject? = nil, targets: [GPUColorTargetState?] ) { @@ -1587,153 +1678,6 @@ public enum GPUFrontFace: JSString, JSValueCompatible { @inlinable public var jsValue: JSValue { rawValue.jsValue } } -open class GPUImageCopyBuffer: GPUImageDataLayout { - - public convenience init( - offset: GPUSize64? = nil, - bytesPerRow: GPUSize32? = nil, - rowsPerImage: GPUSize32? = nil, - buffer: GPUBuffer - ) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.offset] = _toJSValue(offset) - object[Strings.bytesPerRow] = _toJSValue(bytesPerRow) - object[Strings.rowsPerImage] = _toJSValue(rowsPerImage) - object[Strings.buffer] = _toJSValue(buffer) - - self.init(unsafelyWrapping: object) - } - - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var buffer: GPUBuffer { - get { jsObject[Strings.buffer].fromJSValue()! } - set { jsObject[Strings.buffer] = _toJSValue(newValue) } - } -} -open class GPUImageCopyExternalImage: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(source: GPUImageCopyExternalImageSource, origin: GPUOrigin2D? = nil, flipY: Bool? = nil) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.source] = _toJSValue(source) - object[Strings.origin] = _toJSValue(origin) - object[Strings.flipY] = _toJSValue(flipY) - - self.init(unsafelyWrapping: object) - } - - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var source: GPUImageCopyExternalImageSource { - get { jsObject[Strings.source].fromJSValue()! } - set { jsObject[Strings.source] = _toJSValue(newValue) } - } - @inlinable public var origin: GPUOrigin2D { - get { jsObject[Strings.origin].fromJSValue()! } - set { jsObject[Strings.origin] = _toJSValue(newValue) } - } - @inlinable public var flipY: Bool { - get { jsObject[Strings.flipY].fromJSValue()! } - set { jsObject[Strings.flipY] = _toJSValue(newValue) } - } -} -open class GPUImageCopyTexture: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init( - texture: GPUTexture, - mipLevel: GPUIntegerCoordinate? = nil, - origin: GPUOrigin3D? = nil, - aspect: GPUTextureAspect? = nil - ) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.texture] = _toJSValue(texture) - object[Strings.mipLevel] = _toJSValue(mipLevel) - object[Strings.origin] = _toJSValue(origin) - object[Strings.aspect] = _toJSValue(aspect) - - self.init(unsafelyWrapping: object) - } - - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var texture: GPUTexture { - get { jsObject[Strings.texture].fromJSValue()! } - set { jsObject[Strings.texture] = _toJSValue(newValue) } - } - @inlinable public var mipLevel: GPUIntegerCoordinate { - get { jsObject[Strings.mipLevel].fromJSValue()! } - set { jsObject[Strings.mipLevel] = _toJSValue(newValue) } - } - @inlinable public var origin: GPUOrigin3D { - get { jsObject[Strings.origin].fromJSValue()! } - set { jsObject[Strings.origin] = _toJSValue(newValue) } - } - @inlinable public var aspect: GPUTextureAspect { - get { jsObject[Strings.aspect].fromJSValue()! } - set { jsObject[Strings.aspect] = _toJSValue(newValue) } - } -} -open class GPUImageCopyTextureTagged: GPUImageCopyTexture { - - public convenience init( - texture: GPUTexture, - mipLevel: GPUIntegerCoordinate? = nil, - origin: GPUOrigin3D? = nil, - aspect: GPUTextureAspect? = nil, - colorSpace: PredefinedColorSpace? = nil, - premultipliedAlpha: Bool? = nil - ) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.texture] = _toJSValue(texture) - object[Strings.mipLevel] = _toJSValue(mipLevel) - object[Strings.origin] = _toJSValue(origin) - object[Strings.aspect] = _toJSValue(aspect) - object[Strings.colorSpace] = _toJSValue(colorSpace) - object[Strings.premultipliedAlpha] = _toJSValue(premultipliedAlpha) - - self.init(unsafelyWrapping: object) - } - - public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - - @inlinable public var colorSpace: PredefinedColorSpace { - get { jsObject[Strings.colorSpace].fromJSValue()! } - set { jsObject[Strings.colorSpace] = _toJSValue(newValue) } - } - @inlinable public var premultipliedAlpha: Bool { - get { jsObject[Strings.premultipliedAlpha].fromJSValue()! } - set { jsObject[Strings.premultipliedAlpha] = _toJSValue(newValue) } - } -} -open class GPUImageDataLayout: JSDictionaryCompatible { - public let jsObject: JSObject - - public convenience init(offset: GPUSize64? = nil, bytesPerRow: GPUSize32? = nil, rowsPerImage: GPUSize32? = nil) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.offset] = _toJSValue(offset) - object[Strings.bytesPerRow] = _toJSValue(bytesPerRow) - object[Strings.rowsPerImage] = _toJSValue(rowsPerImage) - - self.init(unsafelyWrapping: object) - } - - public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } - - @inlinable public var offset: GPUSize64 { - get { jsObject[Strings.offset].fromJSValue()! } - set { jsObject[Strings.offset] = _toJSValue(newValue) } - } - @inlinable public var bytesPerRow: GPUSize32 { - get { jsObject[Strings.bytesPerRow].fromJSValue()! } - set { jsObject[Strings.bytesPerRow] = _toJSValue(newValue) } - } - @inlinable public var rowsPerImage: GPUSize32 { - get { jsObject[Strings.rowsPerImage].fromJSValue()! } - set { jsObject[Strings.rowsPerImage] = _toJSValue(newValue) } - } -} public enum GPUIndexFormat: JSString, JSValueCompatible { case uint16 = "uint16" case uint32 = "uint32" @@ -1983,7 +1927,7 @@ public class GPUPipelineLayout: JSBridgedClass, GPUObjectBase { open class GPUPipelineLayoutDescriptor: GPUObjectDescriptorBase { - public convenience init(label: String? = nil, bindGroupLayouts: [GPUBindGroupLayout]) { + public convenience init(label: String? = nil, bindGroupLayouts: [GPUBindGroupLayout?]) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.label] = _toJSValue(label) object[Strings.bindGroupLayouts] = _toJSValue(bindGroupLayouts) @@ -1993,7 +1937,7 @@ open class GPUPipelineLayoutDescriptor: GPUObjectDescriptorBase { public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } - @inlinable public var bindGroupLayouts: [GPUBindGroupLayout] { + @inlinable public var bindGroupLayouts: [GPUBindGroupLayout?] { get { jsObject[Strings.bindGroupLayouts].fromJSValue()! } set { jsObject[Strings.bindGroupLayouts] = _toJSValue(newValue) } } @@ -2073,7 +2017,7 @@ public enum GPUPrimitiveTopology: JSString, JSValueCompatible { open class GPUProgrammableStage: JSDictionaryCompatible { public let jsObject: JSObject - public convenience init(module: GPUShaderModule, entryPoint: String, constants: JSObject? = nil) { + public convenience init(module: GPUShaderModule, entryPoint: String? = nil, constants: JSObject? = nil) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.module] = _toJSValue(module) object[Strings.entryPoint] = _toJSValue(entryPoint) @@ -2195,9 +2139,9 @@ public class GPUQueue: JSBridgedClass, GPUObjectBase { } @inlinable final public func writeTexture( - destination: GPUImageCopyTexture, + destination: GPUTexelCopyTextureInfo, data: AllowSharedBufferSource, - dataLayout: GPUImageDataLayout, + dataLayout: GPUTexelCopyBufferLayout, size: GPUExtent3D ) { let this = jsObject @@ -2208,8 +2152,8 @@ public class GPUQueue: JSBridgedClass, GPUObjectBase { } @inlinable final public func copyExternalImageToTexture( - source: GPUImageCopyExternalImage, - destination: GPUImageCopyTextureTagged, + source: GPUCopyExternalImageSourceInfo, + destination: GPUCopyExternalImageDestInfo, copySize: GPUExtent3D ) { let this = jsObject @@ -2384,6 +2328,7 @@ open class GPURenderPassColorAttachment: JSDictionaryCompatible { public convenience init( view: GPUTextureView, + depthSlice: GPUIntegerCoordinate? = nil, resolveTarget: GPUTextureView? = nil, clearValue: GPUColor? = nil, loadOp: GPULoadOp, @@ -2391,6 +2336,7 @@ open class GPURenderPassColorAttachment: JSDictionaryCompatible { ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.view] = _toJSValue(view) + object[Strings.depthSlice] = _toJSValue(depthSlice) object[Strings.resolveTarget] = _toJSValue(resolveTarget) object[Strings.clearValue] = _toJSValue(clearValue) object[Strings.loadOp] = _toJSValue(loadOp) @@ -2405,6 +2351,10 @@ open class GPURenderPassColorAttachment: JSDictionaryCompatible { get { jsObject[Strings.view].fromJSValue()! } set { jsObject[Strings.view] = _toJSValue(newValue) } } + @inlinable public var depthSlice: GPUIntegerCoordinate { + get { jsObject[Strings.depthSlice].fromJSValue()! } + set { jsObject[Strings.depthSlice] = _toJSValue(newValue) } + } @inlinable public var resolveTarget: GPUTextureView { get { jsObject[Strings.resolveTarget].fromJSValue()! } set { jsObject[Strings.resolveTarget] = _toJSValue(newValue) } @@ -2723,16 +2673,27 @@ open class GPURenderPipelineDescriptor: GPUPipelineDescriptorBase { open class GPURequestAdapterOptions: JSDictionaryCompatible { public let jsObject: JSObject - public convenience init(powerPreference: GPUPowerPreference? = nil, forceFallbackAdapter: Bool? = nil) { + public convenience init( + featureLevel: String? = nil, + powerPreference: GPUPowerPreference? = nil, + forceFallbackAdapter: Bool? = nil, + xrCompatible: Bool? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.featureLevel] = _toJSValue(featureLevel) object[Strings.powerPreference] = _toJSValue(powerPreference) object[Strings.forceFallbackAdapter] = _toJSValue(forceFallbackAdapter) + object[Strings.xrCompatible] = _toJSValue(xrCompatible) self.init(unsafelyWrapping: object) } public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + @inlinable public var featureLevel: String { + get { jsObject[Strings.featureLevel].fromJSValue()! } + set { jsObject[Strings.featureLevel] = _toJSValue(newValue) } + } @inlinable public var powerPreference: GPUPowerPreference { get { jsObject[Strings.powerPreference].fromJSValue()! } set { jsObject[Strings.powerPreference] = _toJSValue(newValue) } @@ -2741,6 +2702,10 @@ open class GPURequestAdapterOptions: JSDictionaryCompatible { get { jsObject[Strings.forceFallbackAdapter].fromJSValue()! } set { jsObject[Strings.forceFallbackAdapter] = _toJSValue(newValue) } } + @inlinable public var xrCompatible: Bool { + get { jsObject[Strings.xrCompatible].fromJSValue()! } + set { jsObject[Strings.xrCompatible] = _toJSValue(newValue) } + } } public class GPUSampler: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUSampler].function } @@ -2883,8 +2848,9 @@ public class GPUShaderModule: JSBridgedClass, GPUObjectBase { open class GPUShaderModuleCompilationHint: JSDictionaryCompatible { public let jsObject: JSObject - public convenience init(layout: GPUAutoLayoutMode_or_GPUPipelineLayout? = nil) { + public convenience init(entryPoint: String, layout: GPUAutoLayoutMode_or_GPUPipelineLayout? = nil) { let object = JSObject.global[Strings.Object].function!.new() + object[Strings.entryPoint] = _toJSValue(entryPoint) object[Strings.layout] = _toJSValue(layout) self.init(unsafelyWrapping: object) @@ -2892,6 +2858,10 @@ open class GPUShaderModuleCompilationHint: JSDictionaryCompatible { public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + @inlinable public var entryPoint: String { + get { jsObject[Strings.entryPoint].fromJSValue()! } + set { jsObject[Strings.entryPoint] = _toJSValue(newValue) } + } @inlinable public var layout: GPUAutoLayoutMode_or_GPUPipelineLayout { get { jsObject[Strings.layout].fromJSValue()! } set { jsObject[Strings.layout] = _toJSValue(newValue) } @@ -2899,12 +2869,15 @@ open class GPUShaderModuleCompilationHint: JSDictionaryCompatible { } open class GPUShaderModuleDescriptor: GPUObjectDescriptorBase { - public convenience init(label: String? = nil, code: String, sourceMap: JSObject? = nil, hints: JSObject? = nil) { + public convenience init( + label: String? = nil, + code: String, + compilationHints: [GPUShaderModuleCompilationHint]? = nil + ) { let object = JSObject.global[Strings.Object].function!.new() object[Strings.label] = _toJSValue(label) object[Strings.code] = _toJSValue(code) - object[Strings.sourceMap] = _toJSValue(sourceMap) - object[Strings.hints] = _toJSValue(hints) + object[Strings.compilationHints] = _toJSValue(compilationHints) self.init(unsafelyWrapping: object) } @@ -2915,13 +2888,9 @@ open class GPUShaderModuleDescriptor: GPUObjectDescriptorBase { get { jsObject[Strings.code].fromJSValue()! } set { jsObject[Strings.code] = _toJSValue(newValue) } } - @inlinable public var sourceMap: JSObject { - get { jsObject[Strings.sourceMap].fromJSValue()! } - set { jsObject[Strings.sourceMap] = _toJSValue(newValue) } - } - @inlinable public var hints: JSObject { - get { jsObject[Strings.hints].fromJSValue()! } - set { jsObject[Strings.hints] = _toJSValue(newValue) } + @inlinable public var compilationHints: [GPUShaderModuleCompilationHint] { + get { jsObject[Strings.compilationHints].fromJSValue()! } + set { jsObject[Strings.compilationHints] = _toJSValue(newValue) } } } public enum GPUShaderStage { @@ -2991,6 +2960,8 @@ public enum GPUStencilOperation: JSString, JSValueCompatible { } public enum GPUStorageTextureAccess: JSString, JSValueCompatible { case writeOnly = "write-only" + case readOnly = "read-only" + case readWrite = "read-write" @inlinable public static func construct(from jsValue: JSValue) -> Self? { if let string = jsValue.jsString { return Self(rawValue: string) } @@ -3132,10 +3103,6 @@ public class GPUSupportedLimits: JSBridgedClass { jsObject[Strings.maxVertexBufferArrayStride].fromJSValue()! } - @inlinable public var maxInterStageShaderComponents: UInt32 { - jsObject[Strings.maxInterStageShaderComponents].fromJSValue()! - } - @inlinable public var maxInterStageShaderVariables: UInt32 { jsObject[Strings.maxInterStageShaderVariables].fromJSValue()! } @@ -3165,6 +3132,94 @@ public class GPUSupportedLimits: JSBridgedClass { } } +open class GPUTexelCopyBufferInfo: GPUTexelCopyBufferLayout { + + public convenience init( + offset: GPUSize64? = nil, + bytesPerRow: GPUSize32? = nil, + rowsPerImage: GPUSize32? = nil, + buffer: GPUBuffer + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.offset] = _toJSValue(offset) + object[Strings.bytesPerRow] = _toJSValue(bytesPerRow) + object[Strings.rowsPerImage] = _toJSValue(rowsPerImage) + object[Strings.buffer] = _toJSValue(buffer) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { super.init(unsafelyWrapping: object) } + + @inlinable public var buffer: GPUBuffer { + get { jsObject[Strings.buffer].fromJSValue()! } + set { jsObject[Strings.buffer] = _toJSValue(newValue) } + } +} +open class GPUTexelCopyBufferLayout: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init(offset: GPUSize64? = nil, bytesPerRow: GPUSize32? = nil, rowsPerImage: GPUSize32? = nil) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.offset] = _toJSValue(offset) + object[Strings.bytesPerRow] = _toJSValue(bytesPerRow) + object[Strings.rowsPerImage] = _toJSValue(rowsPerImage) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var offset: GPUSize64 { + get { jsObject[Strings.offset].fromJSValue()! } + set { jsObject[Strings.offset] = _toJSValue(newValue) } + } + @inlinable public var bytesPerRow: GPUSize32 { + get { jsObject[Strings.bytesPerRow].fromJSValue()! } + set { jsObject[Strings.bytesPerRow] = _toJSValue(newValue) } + } + @inlinable public var rowsPerImage: GPUSize32 { + get { jsObject[Strings.rowsPerImage].fromJSValue()! } + set { jsObject[Strings.rowsPerImage] = _toJSValue(newValue) } + } +} +open class GPUTexelCopyTextureInfo: JSDictionaryCompatible { + public let jsObject: JSObject + + public convenience init( + texture: GPUTexture, + mipLevel: GPUIntegerCoordinate? = nil, + origin: GPUOrigin3D? = nil, + aspect: GPUTextureAspect? = nil + ) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.texture] = _toJSValue(texture) + object[Strings.mipLevel] = _toJSValue(mipLevel) + object[Strings.origin] = _toJSValue(origin) + object[Strings.aspect] = _toJSValue(aspect) + + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { self.jsObject = object } + + @inlinable public var texture: GPUTexture { + get { jsObject[Strings.texture].fromJSValue()! } + set { jsObject[Strings.texture] = _toJSValue(newValue) } + } + @inlinable public var mipLevel: GPUIntegerCoordinate { + get { jsObject[Strings.mipLevel].fromJSValue()! } + set { jsObject[Strings.mipLevel] = _toJSValue(newValue) } + } + @inlinable public var origin: GPUOrigin3D { + get { jsObject[Strings.origin].fromJSValue()! } + set { jsObject[Strings.origin] = _toJSValue(newValue) } + } + @inlinable public var aspect: GPUTextureAspect { + get { jsObject[Strings.aspect].fromJSValue()! } + set { jsObject[Strings.aspect] = _toJSValue(newValue) } + } +} public class GPUTexture: JSBridgedClass, GPUObjectBase { @inlinable public class var constructor: JSFunction? { JSObject.global[Strings.GPUTexture].function } @@ -3342,6 +3397,7 @@ public enum GPUTextureFormat: JSString, JSValueCompatible { case bgra8unorm = "bgra8unorm" case bgra8unormSrgb = "bgra8unorm-srgb" case rgb9e5ufloat = "rgb9e5ufloat" + case rgb10a2uint = "rgb10a2uint" case rgb10a2unorm = "rgb10a2unorm" case rg11b10ufloat = "rg11b10ufloat" case rg32uint = "rg32uint" @@ -3465,6 +3521,7 @@ open class GPUTextureViewDescriptor: GPUObjectDescriptorBase { label: String? = nil, format: GPUTextureFormat? = nil, dimension: GPUTextureViewDimension? = nil, + usage: GPUTextureUsageFlags? = nil, aspect: GPUTextureAspect? = nil, baseMipLevel: GPUIntegerCoordinate? = nil, mipLevelCount: GPUIntegerCoordinate? = nil, @@ -3475,6 +3532,7 @@ open class GPUTextureViewDescriptor: GPUObjectDescriptorBase { object[Strings.label] = _toJSValue(label) object[Strings.format] = _toJSValue(format) object[Strings.dimension] = _toJSValue(dimension) + object[Strings.usage] = _toJSValue(usage) object[Strings.aspect] = _toJSValue(aspect) object[Strings.baseMipLevel] = _toJSValue(baseMipLevel) object[Strings.mipLevelCount] = _toJSValue(mipLevelCount) @@ -3494,6 +3552,10 @@ open class GPUTextureViewDescriptor: GPUObjectDescriptorBase { get { jsObject[Strings.dimension].fromJSValue()! } set { jsObject[Strings.dimension] = _toJSValue(newValue) } } + @inlinable public var usage: GPUTextureUsageFlags { + get { jsObject[Strings.usage].fromJSValue()! } + set { jsObject[Strings.usage] = _toJSValue(newValue) } + } @inlinable public var aspect: GPUTextureAspect { get { jsObject[Strings.aspect].fromJSValue()! } set { jsObject[Strings.aspect] = _toJSValue(newValue) } @@ -3637,22 +3699,31 @@ open class GPUVertexBufferLayout: JSDictionaryCompatible { } } public enum GPUVertexFormat: JSString, JSValueCompatible { + case uint8 = "uint8" case uint8x2 = "uint8x2" case uint8x4 = "uint8x4" + case sint8 = "sint8" case sint8x2 = "sint8x2" case sint8x4 = "sint8x4" + case unorm8 = "unorm8" case unorm8x2 = "unorm8x2" case unorm8x4 = "unorm8x4" + case snorm8 = "snorm8" case snorm8x2 = "snorm8x2" case snorm8x4 = "snorm8x4" + case uint16 = "uint16" case uint16x2 = "uint16x2" case uint16x4 = "uint16x4" + case sint16 = "sint16" case sint16x2 = "sint16x2" case sint16x4 = "sint16x4" + case unorm16 = "unorm16" case unorm16x2 = "unorm16x2" case unorm16x4 = "unorm16x4" + case snorm16 = "snorm16" case snorm16x2 = "snorm16x2" case snorm16x4 = "snorm16x4" + case float16 = "float16" case float16x2 = "float16x2" case float16x4 = "float16x4" case float32 = "float32" @@ -3667,6 +3738,8 @@ public enum GPUVertexFormat: JSString, JSValueCompatible { case sint32x2 = "sint32x2" case sint32x3 = "sint32x3" case sint32x4 = "sint32x4" + case unorm1010102 = "unorm10-10-10-2" + case unorm8x4Bgra = "unorm8x4-bgra" @inlinable public static func construct(from jsValue: JSValue) -> Self? { if let string = jsValue.jsString { return Self(rawValue: string) } @@ -3681,7 +3754,7 @@ open class GPUVertexState: GPUProgrammableStage { public convenience init( module: GPUShaderModule, - entryPoint: String, + entryPoint: String? = nil, constants: JSObject? = nil, buffers: [GPUVertexBufferLayout?]? = nil ) { @@ -3796,6 +3869,7 @@ public class WGSLLanguageFeatures: JSBridgedClass { @usableFromInline static let `WGSLLanguageFeatures`: JSString = "WGSLLanguageFeatures" @usableFromInline static let `a`: JSString = "a" @usableFromInline static let `access`: JSString = "access" + @usableFromInline static let `adapterInfo`: JSString = "adapterInfo" @usableFromInline static let `addressModeU`: JSString = "addressModeU" @usableFromInline static let `addressModeV`: JSString = "addressModeV" @usableFromInline static let `addressModeW`: JSString = "addressModeW" @@ -3829,6 +3903,7 @@ public class WGSLLanguageFeatures: JSBridgedClass { @usableFromInline static let `colorFormats`: JSString = "colorFormats" @usableFromInline static let `colorSpace`: JSString = "colorSpace" @usableFromInline static let `compare`: JSString = "compare" + @usableFromInline static let `compilationHints`: JSString = "compilationHints" @usableFromInline static let `compute`: JSString = "compute" @usableFromInline static let `configure`: JSString = "configure" @usableFromInline static let `constants`: JSString = "constants" @@ -3864,6 +3939,7 @@ public class WGSLLanguageFeatures: JSBridgedClass { @usableFromInline static let `depthLoadOp`: JSString = "depthLoadOp" @usableFromInline static let `depthOrArrayLayers`: JSString = "depthOrArrayLayers" @usableFromInline static let `depthReadOnly`: JSString = "depthReadOnly" + @usableFromInline static let `depthSlice`: JSString = "depthSlice" @usableFromInline static let `depthStencil`: JSString = "depthStencil" @usableFromInline static let `depthStencilAttachment`: JSString = "depthStencilAttachment" @usableFromInline static let `depthStencilFormat`: JSString = "depthStencilFormat" @@ -3889,6 +3965,7 @@ public class WGSLLanguageFeatures: JSBridgedClass { @usableFromInline static let `executeBundles`: JSString = "executeBundles" @usableFromInline static let `externalTexture`: JSString = "externalTexture" @usableFromInline static let `failOp`: JSString = "failOp" + @usableFromInline static let `featureLevel`: JSString = "featureLevel" @usableFromInline static let `features`: JSString = "features" @usableFromInline static let `finish`: JSString = "finish" @usableFromInline static let `flipY`: JSString = "flipY" @@ -3899,14 +3976,15 @@ public class WGSLLanguageFeatures: JSBridgedClass { @usableFromInline static let `g`: JSString = "g" @usableFromInline static let `getBindGroupLayout`: JSString = "getBindGroupLayout" @usableFromInline static let `getCompilationInfo`: JSString = "getCompilationInfo" + @usableFromInline static let `getConfiguration`: JSString = "getConfiguration" @usableFromInline static let `getCurrentTexture`: JSString = "getCurrentTexture" @usableFromInline static let `getMappedRange`: JSString = "getMappedRange" @usableFromInline static let `getPreferredCanvasFormat`: JSString = "getPreferredCanvasFormat" @usableFromInline static let `gpu`: JSString = "gpu" @usableFromInline static let `hasDynamicOffset`: JSString = "hasDynamicOffset" @usableFromInline static let `height`: JSString = "height" - @usableFromInline static let `hints`: JSString = "hints" @usableFromInline static let `importExternalTexture`: JSString = "importExternalTexture" + @usableFromInline static let `info`: JSString = "info" @usableFromInline static let `insertDebugMarker`: JSString = "insertDebugMarker" @usableFromInline static let `isFallbackAdapter`: JSString = "isFallbackAdapter" @usableFromInline static let `label`: JSString = "label" @@ -3942,7 +4020,6 @@ public class WGSLLanguageFeatures: JSBridgedClass { "maxDynamicStorageBuffersPerPipelineLayout" @usableFromInline static let `maxDynamicUniformBuffersPerPipelineLayout`: JSString = "maxDynamicUniformBuffersPerPipelineLayout" - @usableFromInline static let `maxInterStageShaderComponents`: JSString = "maxInterStageShaderComponents" @usableFromInline static let `maxInterStageShaderVariables`: JSString = "maxInterStageShaderVariables" @usableFromInline static let `maxSampledTexturesPerShaderStage`: JSString = "maxSampledTexturesPerShaderStage" @usableFromInline static let `maxSamplersPerShaderStage`: JSString = "maxSamplersPerShaderStage" @@ -3967,6 +4044,7 @@ public class WGSLLanguageFeatures: JSBridgedClass { @usableFromInline static let `mipLevel`: JSString = "mipLevel" @usableFromInline static let `mipLevelCount`: JSString = "mipLevelCount" @usableFromInline static let `mipmapFilter`: JSString = "mipmapFilter" + @usableFromInline static let `mode`: JSString = "mode" @usableFromInline static let `module`: JSString = "module" @usableFromInline static let `multisample`: JSString = "multisample" @usableFromInline static let `multisampled`: JSString = "multisampled" @@ -3989,7 +4067,6 @@ public class WGSLLanguageFeatures: JSBridgedClass { @usableFromInline static let `r`: JSString = "r" @usableFromInline static let `reason`: JSString = "reason" @usableFromInline static let `requestAdapter`: JSString = "requestAdapter" - @usableFromInline static let `requestAdapterInfo`: JSString = "requestAdapterInfo" @usableFromInline static let `requestDevice`: JSString = "requestDevice" @usableFromInline static let `requiredFeatures`: JSString = "requiredFeatures" @usableFromInline static let `requiredLimits`: JSString = "requiredLimits" @@ -4011,7 +4088,6 @@ public class WGSLLanguageFeatures: JSBridgedClass { @usableFromInline static let `shaderLocation`: JSString = "shaderLocation" @usableFromInline static let `size`: JSString = "size" @usableFromInline static let `source`: JSString = "source" - @usableFromInline static let `sourceMap`: JSString = "sourceMap" @usableFromInline static let `srcFactor`: JSString = "srcFactor" @usableFromInline static let `stencilBack`: JSString = "stencilBack" @usableFromInline static let `stencilClearValue`: JSString = "stencilClearValue" @@ -4025,11 +4101,14 @@ public class WGSLLanguageFeatures: JSBridgedClass { @usableFromInline static let `storageTexture`: JSString = "storageTexture" @usableFromInline static let `storeOp`: JSString = "storeOp" @usableFromInline static let `stripIndexFormat`: JSString = "stripIndexFormat" + @usableFromInline static let `subgroupMaxSize`: JSString = "subgroupMaxSize" + @usableFromInline static let `subgroupMinSize`: JSString = "subgroupMinSize" @usableFromInline static let `submit`: JSString = "submit" @usableFromInline static let `targets`: JSString = "targets" @usableFromInline static let `texture`: JSString = "texture" @usableFromInline static let `timestampWrites`: JSString = "timestampWrites" @usableFromInline static let `toString`: JSString = "toString" + @usableFromInline static let `toneMapping`: JSString = "toneMapping" @usableFromInline static let `topology`: JSString = "topology" @usableFromInline static let `type`: JSString = "type" @usableFromInline static let `unclippedDepth`: JSString = "unclippedDepth" @@ -4047,8 +4126,8 @@ public class WGSLLanguageFeatures: JSBridgedClass { @usableFromInline static let `writeBuffer`: JSString = "writeBuffer" @usableFromInline static let `writeMask`: JSString = "writeMask" @usableFromInline static let `writeTexture`: JSString = "writeTexture" - @usableFromInline static let `writeTimestamp`: JSString = "writeTimestamp" @usableFromInline static let `x`: JSString = "x" + @usableFromInline static let `xrCompatible`: JSString = "xrCompatible" @usableFromInline static let `y`: JSString = "y" @usableFromInline static let `z`: JSString = "z" } @@ -4215,83 +4294,50 @@ public enum GPUColor: JSValueCompatible, Any_GPUColor { } } } -public protocol Any_GPUExtent3D: ConvertibleToJSValue {} -extension GPUExtent3DDict: Any_GPUExtent3D {} -extension Array: Any_GPUExtent3D where Element == GPUIntegerCoordinate {} - -public enum GPUExtent3D: JSValueCompatible, Any_GPUExtent3D { - case gpuExtent3DDict(GPUExtent3DDict) - case seq_of_GPUIntegerCoordinate([GPUIntegerCoordinate]) - - public init(_ gpuExtent3DDict: GPUExtent3DDict) { - let val: GPUExtent3D = .gpuExtent3DDict(gpuExtent3DDict) - self = val - } - public init(_ seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate]) { - let val: GPUExtent3D = .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate) - self = val - } - - public var gpuExtent3DDict: GPUExtent3DDict? { - switch self { - case let .gpuExtent3DDict(gpuExtent3DDict): return gpuExtent3DDict - default: return nil - } - } - public var seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate]? { - switch self { - case let .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate): return seq_of_GPUIntegerCoordinate - default: return nil - } - } - - public static func construct(from value: JSValue) -> Self? { - if let gpuExtent3DDict: GPUExtent3DDict = value.fromJSValue() { return .gpuExtent3DDict(gpuExtent3DDict) } - if let seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate] = value.fromJSValue() { - return .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate) - } - return nil - } - - public var jsValue: JSValue { - switch self { - case let .gpuExtent3DDict(gpuExtent3DDict): return gpuExtent3DDict.jsValue - case let .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate): return seq_of_GPUIntegerCoordinate.jsValue - } - } -} -public protocol Any_GPUImageCopyExternalImageSource: ConvertibleToJSValue {} -extension HTMLCanvasElement: Any_GPUImageCopyExternalImageSource {} -extension HTMLVideoElement: Any_GPUImageCopyExternalImageSource {} -extension ImageBitmap: Any_GPUImageCopyExternalImageSource {} -extension OffscreenCanvas: Any_GPUImageCopyExternalImageSource {} -extension VideoFrame: Any_GPUImageCopyExternalImageSource {} +public protocol Any_GPUCopyExternalImageSource: ConvertibleToJSValue {} +extension HTMLCanvasElement: Any_GPUCopyExternalImageSource {} +extension HTMLImageElement: Any_GPUCopyExternalImageSource {} +extension HTMLVideoElement: Any_GPUCopyExternalImageSource {} +extension ImageBitmap: Any_GPUCopyExternalImageSource {} +extension ImageData: Any_GPUCopyExternalImageSource {} +extension OffscreenCanvas: Any_GPUCopyExternalImageSource {} +extension VideoFrame: Any_GPUCopyExternalImageSource {} -public enum GPUImageCopyExternalImageSource: JSValueCompatible, Any_GPUImageCopyExternalImageSource { +public enum GPUCopyExternalImageSource: JSValueCompatible, Any_GPUCopyExternalImageSource { case htmlCanvasElement(HTMLCanvasElement) + case htmlImageElement(HTMLImageElement) case htmlVideoElement(HTMLVideoElement) case imageBitmap(ImageBitmap) + case imageData(ImageData) case offscreenCanvas(OffscreenCanvas) case videoFrame(VideoFrame) public init(_ htmlCanvasElement: HTMLCanvasElement) { - let val: GPUImageCopyExternalImageSource = .htmlCanvasElement(htmlCanvasElement) + let val: GPUCopyExternalImageSource = .htmlCanvasElement(htmlCanvasElement) + self = val + } + public init(_ htmlImageElement: HTMLImageElement) { + let val: GPUCopyExternalImageSource = .htmlImageElement(htmlImageElement) self = val } public init(_ htmlVideoElement: HTMLVideoElement) { - let val: GPUImageCopyExternalImageSource = .htmlVideoElement(htmlVideoElement) + let val: GPUCopyExternalImageSource = .htmlVideoElement(htmlVideoElement) self = val } public init(_ imageBitmap: ImageBitmap) { - let val: GPUImageCopyExternalImageSource = .imageBitmap(imageBitmap) + let val: GPUCopyExternalImageSource = .imageBitmap(imageBitmap) + self = val + } + public init(_ imageData: ImageData) { + let val: GPUCopyExternalImageSource = .imageData(imageData) self = val } public init(_ offscreenCanvas: OffscreenCanvas) { - let val: GPUImageCopyExternalImageSource = .offscreenCanvas(offscreenCanvas) + let val: GPUCopyExternalImageSource = .offscreenCanvas(offscreenCanvas) self = val } public init(_ videoFrame: VideoFrame) { - let val: GPUImageCopyExternalImageSource = .videoFrame(videoFrame) + let val: GPUCopyExternalImageSource = .videoFrame(videoFrame) self = val } @@ -4301,6 +4347,12 @@ public enum GPUImageCopyExternalImageSource: JSValueCompatible, Any_GPUImageCopy default: return nil } } + public var htmlImageElement: HTMLImageElement? { + switch self { + case let .htmlImageElement(htmlImageElement): return htmlImageElement + default: return nil + } + } public var htmlVideoElement: HTMLVideoElement? { switch self { case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement @@ -4313,6 +4365,12 @@ public enum GPUImageCopyExternalImageSource: JSValueCompatible, Any_GPUImageCopy default: return nil } } + public var imageData: ImageData? { + switch self { + case let .imageData(imageData): return imageData + default: return nil + } + } public var offscreenCanvas: OffscreenCanvas? { switch self { case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas @@ -4330,8 +4388,10 @@ public enum GPUImageCopyExternalImageSource: JSValueCompatible, Any_GPUImageCopy if let htmlCanvasElement: HTMLCanvasElement = value.fromJSValue() { return .htmlCanvasElement(htmlCanvasElement) } + if let htmlImageElement: HTMLImageElement = value.fromJSValue() { return .htmlImageElement(htmlImageElement) } if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() { return .htmlVideoElement(htmlVideoElement) } if let imageBitmap: ImageBitmap = value.fromJSValue() { return .imageBitmap(imageBitmap) } + if let imageData: ImageData = value.fromJSValue() { return .imageData(imageData) } if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() { return .offscreenCanvas(offscreenCanvas) } if let videoFrame: VideoFrame = value.fromJSValue() { return .videoFrame(videoFrame) } return nil @@ -4340,13 +4400,60 @@ public enum GPUImageCopyExternalImageSource: JSValueCompatible, Any_GPUImageCopy public var jsValue: JSValue { switch self { case let .htmlCanvasElement(htmlCanvasElement): return htmlCanvasElement.jsValue + case let .htmlImageElement(htmlImageElement): return htmlImageElement.jsValue case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement.jsValue case let .imageBitmap(imageBitmap): return imageBitmap.jsValue + case let .imageData(imageData): return imageData.jsValue case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas.jsValue case let .videoFrame(videoFrame): return videoFrame.jsValue } } } +public protocol Any_GPUExtent3D: ConvertibleToJSValue {} +extension GPUExtent3DDict: Any_GPUExtent3D {} +extension Array: Any_GPUExtent3D where Element == GPUIntegerCoordinate {} + +public enum GPUExtent3D: JSValueCompatible, Any_GPUExtent3D { + case gpuExtent3DDict(GPUExtent3DDict) + case seq_of_GPUIntegerCoordinate([GPUIntegerCoordinate]) + + public init(_ gpuExtent3DDict: GPUExtent3DDict) { + let val: GPUExtent3D = .gpuExtent3DDict(gpuExtent3DDict) + self = val + } + public init(_ seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate]) { + let val: GPUExtent3D = .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate) + self = val + } + + public var gpuExtent3DDict: GPUExtent3DDict? { + switch self { + case let .gpuExtent3DDict(gpuExtent3DDict): return gpuExtent3DDict + default: return nil + } + } + public var seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate]? { + switch self { + case let .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate): return seq_of_GPUIntegerCoordinate + default: return nil + } + } + + public static func construct(from value: JSValue) -> Self? { + if let gpuExtent3DDict: GPUExtent3DDict = value.fromJSValue() { return .gpuExtent3DDict(gpuExtent3DDict) } + if let seq_of_GPUIntegerCoordinate: [GPUIntegerCoordinate] = value.fromJSValue() { + return .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate) + } + return nil + } + + public var jsValue: JSValue { + switch self { + case let .gpuExtent3DDict(gpuExtent3DDict): return gpuExtent3DDict.jsValue + case let .seq_of_GPUIntegerCoordinate(seq_of_GPUIntegerCoordinate): return seq_of_GPUIntegerCoordinate.jsValue + } + } +} public protocol Any_GPUOrigin2D: ConvertibleToJSValue {} extension GPUOrigin2DDict: Any_GPUOrigin2D {} extension Array: Any_GPUOrigin2D where Element == GPUIntegerCoordinate {} diff --git a/parse-idl/package-lock.json b/parse-idl/package-lock.json index baa46b20..ab59b43e 100644 --- a/parse-idl/package-lock.json +++ b/parse-idl/package-lock.json @@ -1,11 +1,11 @@ { "name": "parse-idl", - "lockfileVersion": 3, + "lockfileVersion": 2, "requires": true, "packages": { "": { "dependencies": { - "@webref/idl": "^3.60.3", + "@webref/idl": "3.60.3", "webidl2": "^24.4.1" }, "devDependencies": { @@ -14,9 +14,8 @@ }, "node_modules/@webref/idl": { "version": "3.60.3", - "resolved": "https://artifacts.apple.com/artifactory/api/npm/npm-apple/@webref/idl/-/idl-3.60.3.tgz", + "resolved": "https://registry.npmjs.org/@webref/idl/-/idl-3.60.3.tgz", "integrity": "sha512-l68v+hSSi3uNBliRtrgKuWuhw1fyw1oO46F525a7a2zS/VUts+ygsjNSkLf5ogz+PvWmMKdYJQF2dy9Cd1stFg==", - "license": "MIT", "peerDependencies": { "webidl2": "^24.4.1" } @@ -44,5 +43,24 @@ "node": ">= 14" } } + }, + "dependencies": { + "@webref/idl": { + "version": "3.60.3", + "resolved": "https://registry.npmjs.org/@webref/idl/-/idl-3.60.3.tgz", + "integrity": "sha512-l68v+hSSi3uNBliRtrgKuWuhw1fyw1oO46F525a7a2zS/VUts+ygsjNSkLf5ogz+PvWmMKdYJQF2dy9Cd1stFg==", + "requires": {} + }, + "prettier": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.1.tgz", + "integrity": "sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A==", + "dev": true + }, + "webidl2": { + "version": "24.4.1", + "resolved": "https://registry.npmjs.org/webidl2/-/webidl2-24.4.1.tgz", + "integrity": "sha512-cPToqvZlxTAlaMucZyU28XtFLJz3XPdTdIWK/r3IaP1jfkjqne3OTniJS8DZqfzee1aBUQn80d6s2vYert50kg==" + } } } diff --git a/parse-idl/package.json b/parse-idl/package.json index 97b33153..07717bfe 100644 --- a/parse-idl/package.json +++ b/parse-idl/package.json @@ -8,7 +8,7 @@ "prettier": "2.6.1" }, "dependencies": { - "@webref/idl": "^3.60.3", + "@webref/idl": "3.60.3", "webidl2": "^24.4.1" } }